Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вертикальный текст? 
:(
    Опции темы
Fighter
Дата 1.4.2007, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 810
Регистрация: 5.1.2005

Репутация: нет
Всего: 2



Подскажите пожалуйста, как вынести на форму вертикальный текст. Да, я знаю, что я создавал подобную тему в разделе Базы данных / Репортинг, но я смотрю что что-то никто не отвечает, и решил в общем вопрос задать, без привязки к QReport. Просто, как вывести текст вертикально, и если это требует значительных затрат времени, то посоветуйте какой-нибудь компонент.
PM MAIL   Вверх
aktuba
Дата 1.4.2007, 21:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 7
Всего: 38



Код

procedure ShowVertText(AText:string);
var
  h, i, y: Integer;
begin
  h := Canvas.TextHeight('Wj');
  y := 10;
  for i := 1 to Length(AText) do
    begin
      Canvas.TextOut(10, y, AText[i]);
      Inc(y, h);
    end;
end;


Писал на вскидку, но идея должна быть понятна...


--------------------
user posted image
PM MAIL WWW Skype   Вверх
iddqd
Дата 1.4.2007, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 16.11.2005

Репутация: нет
Всего: 2



Компоненты так умеют делать многие, поищи в самых популярных паках: тмс, лмд, рейз, рикс и т.д.


--------------------
PM MAIL   Вверх
Fighter
Дата 2.4.2007, 01:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 810
Регистрация: 5.1.2005

Репутация: нет
Всего: 2



Цитата(aktuba @  1.4.2007,  21:10 Найти цитируемый пост)
Выделить всёкод Pascal/Delphi
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
    
procedure ShowVertText(AText:string);
var
  h, i, y: Integer;
begin
  h := Canvas.TextHeight('Wj');
  y := 10;
  for i := 1 to Length(AText) do
    begin
      Canvas.TextOut(10, y, AText[i]);
      Inc(y, h);
    end;
end;






Текст должен быть развернут на 90 градусов, да, я забыл это указать. 
PM MAIL   Вверх
aktuba
Дата 2.4.2007, 01:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 7
Всего: 38



Цитата

Текст должен быть развернут на 90 градусов, да, я забыл это указать.  


Тогда все сложнее. Каждую букву надо выводить во временную канву, потом копировать на основную. Еще надо учитывать в какую сторону поворот и от этого расчитывать координаты...


--------------------
user posted image
PM MAIL WWW Skype   Вверх
bems
Дата 2.4.2007, 03:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 18
Всего: 88



Цитата(aktuba @  2.4.2007,  01:23 Найти цитируемый пост)
Каждую букву надо выводить во временную канву
это ночему?

Добавлено через 8 минут и 56 секунд
посмотри тут


--------------------
Обижено школьников: 8
PM MAIL   Вверх
aktuba
Дата 2.4.2007, 04:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 7
Всего: 38



Цитата

это ночему?


Ни почему =). Просто как вариант...


--------------------
user posted image
PM MAIL WWW Skype   Вверх
Fighter
Дата 2.4.2007, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 810
Регистрация: 5.1.2005

Репутация: нет
Всего: 2



А есть уже готовый какой-нибудь компонент?
PM MAIL   Вверх
Alkash
Дата 2.4.2007, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


коллекционер жизни
**


Профиль
Группа: Участник
Сообщений: 516
Регистрация: 5.7.2004
Где: /

Репутация: нет
Всего: нет





--------------------
Подпись >> /dev/null
PM MAIL ICQ MSN   Вверх
Fighter
Дата 2.4.2007, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 810
Регистрация: 5.1.2005

Репутация: нет
Всего: 2



Цитата(Alkash @  2.4.2007,  13:45 Найти цитируемый пост)
Тут есть все


Нет, здесь есть не все, по крайней мере я уже смотрел там, там например есть метки, и я нашёл перевернутую метку, но дело в том что это обычная метка, она к QuickReport не относится.

Смотрел в разделе QuickReport - там вообще никаких меток нет, там больше всего есть компонентов формирующих отчеты в Word, Excel и т.д.

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1249 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.