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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Корректное преобразование символа #9 
:(
    Опции темы
Dynamic
Дата 22.6.2006, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Мне надо средствами TCanvas вывести текст, содержащий символы #9. При выводе с пом. TextOut вместо символа #9 отображается пустой квадратик. Пытался просто заменять этот символ на 7 пробелов, но получается, конечно, не совсем то, что нужно. Кто-нибудь делал такое?

ЗЫ. Можно конечно вручную отформатировать позиции по модулю 7, но мне кажется, что или борманы или билли об этом уже подумали ;) 


--------------------
Было бы о чем молчать, а уж что сказать – всегда найдется...
PM MAIL WWW   Вверх
Alexeis
Дата 22.6.2006, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

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



Dynamic, может Label повесить, у него таких проблем нет. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Sponger
Дата 22.6.2006, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



А у меня в label не отображается символ &, вместо него следующий символ подчеркивается. Тоже не есть хорошо. 
PM MAIL   Вверх
Alexeis
Дата 22.6.2006, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

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



Sponger, знак & обычно дублируется для вывода, иначе он является специальным знаком. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Dynamic
Дата 22.6.2006, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(alexeis1 @  22.6.2006,  14:05 Найти цитируемый пост)
Dynamic, может Label повесить, у него таких проблем нет

Куда повесить? У меня полностью рисованный на битмапе вывод. У мемо тоже таких проблем нет, их решил Билли. Вот и я думаю, что может есть какая функция вывода/преобразования текста, чтоб лисапед не выдумывать.

Цитата(Sponger @  22.6.2006,  14:17 Найти цитируемый пост)
А у меня в label не отображается символ &, вместо него следующий символ подчеркивается. Тоже не есть хорошо.  

амперсанд, кажись, для этого 2 раза подряд надо написать
 


--------------------
Было бы о чем молчать, а уж что сказать – всегда найдется...
PM MAIL WWW   Вверх
Yanis
Дата 22.6.2006, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

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



Dynamic
Для этого используется функция TabbedTextOut. Под рукой Дельфи нету, поэтому пример позже нарисую если надо. 


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Dynamic
Дата 22.6.2006, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Yanis, спасибо, поищу сам. Но если тебе попадется раньше, то выкладывай сюда тоже, может еще кому сгодится. 


--------------------
Было бы о чем молчать, а уж что сказать – всегда найдется...
PM MAIL WWW   Вверх
Yanis
Дата 22.6.2006, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

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



Цитата(Dynamic @  22.6.2006,  16:42 Найти цитируемый пост)
Yanis, спасибо, поищу сам. Но если тебе попадется раньше, то выкладывай сюда тоже, может еще кому сгодится.  

не понял, что выкладывать? smile
Если ты про пример, то вот:
Код
{ для бонального вывода текста с поддержкой табуляции }
  i := 0; // любое число. Переменная нужна лишь для var параметра
  TabbedTextOut(Canvas.Handle, X, Y, 'Hello'#9'World!!!',
                14, 0, i, 0);

Могу и посложнее примерчик нарисовать smile Но думаю и так всё предельно ясно.

Добавлено @ 15:50 
Хотя я знаю один способ как обойтись и без var параметра smile 

Это сообщение отредактировал(а) Yanis - 22.6.2006, 15:46


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Dynamic
Дата 22.6.2006, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Yanis, спасибо еще раз (+), работает как часы!

ЗЫ. Говорил же, что все велосипеды уже изобретены !!!

Код

Функция TabbedTextOut

Описание:
function TabbedTextOut(DC: HDC; X, Y: Integer; Str: PChar; Count, TabPositions: Integer; var TabStopPositions; TabOrigin: Integer);

Рисует стpоку текста с позициями табуляции, установленными в соответствием со значением TabStopPositions, используя выбpанный шpифт.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
X, Y: Начальная точка стpоки.
Str: Рисуемая стpока.
Count: Размеp Str (в символах).
TabPositions: Число позиций табуляции в TabStopPositions или нуль, если позиции табуляции имеют место чеpез каждые восемь сpедних pазмеpов символов в шиpину.
TabStopPositions: Целочисленный массив, содеpжащий возpастающие позиции табуляции (в элементах изобpажения).
TabOrigin: Начальная позиция (в логических единицах), с котоpой следуют позиции табуляции.

Возвpащаемое значение:
Не используется.

функция находится в файле user32.dll

 


--------------------
Было бы о чем молчать, а уж что сказать – всегда найдется...
PM MAIL WWW   Вверх
Yanis
Дата 22.6.2006, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

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



Для тех, кому мало моего примера и справки которую привёл Dynamic, то вот здесь есть хороший пример: http://alphomega.developpez.com/imprimer/?page=page_3#L2.5 


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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