String и перевод строки

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
avis
новенький
Сообщения: 19
Зарегистрирован: 04.11.2009 12:18:10

String и перевод строки

Сообщение avis »

Доброго времени суток,
Возможен ли такой "финт ушами": в переменной стринг пытаюсь хранить много строчный текст, то есть 'первая строка'+#13#10+'вторая строка'
*если я не ошибаюсь, то #13 - перевод каретки на начало строки и #10 - перевод каретки на другую строку
может в данной конструкции ошибка с кодами переводов каретки, потому что на выходе имею длинную строку с "квадратиками" вместо этих самых кодов перевода :oops:
Текст вывожу на Canvas с помощью TextOut
Vadim
долгожитель
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Сообщение Vadim »

avis
Давайте, для начала, выясним, в какой операционной системе Вы работаете. ;)
avis
новенький
Сообщения: 19
Зарегистрирован: 04.11.2009 12:18:10

Сообщение avis »

Debian Linux
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

Сообщение Mr.Smart »

avis
На сколько я знаю Canvas.TextOut выводит текст "в лоб" без анализа на всякие управляющие символы :wink:
Climber
постоялец
Сообщения: 415
Зарегистрирован: 03.06.2007 20:09:57
Откуда: Москва

Сообщение Climber »

avis А вопрос-то в чем?
Если надо выводить в несколько строк, используйте TextRect.
Logo
постоялец
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Сообщение Logo »

Mr.Smart писал(а):avis
На сколько я знаю Canvas.TextOut выводит текст "в лоб" без анализа на всякие управляющие символы :wink:

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

Добавлено спустя 57 секунд:
Climber писал(а):avis А вопрос-то в чем?
Если надо выводить в несколько строк, используйте TextRect.

Подскажите, на каких виджетсетах оно работает?
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
Сообщения: 1409
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Сообщение Sergei I. Gorelkin »

TextRect - это тот же TextOut с отсечением по заданному прямоугольнику, и разбивать на строки он не должен.
Для разбиения на строки используется DrawText (процедура из модуля lclprocs).
Logo
постоялец
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Сообщение Logo »

Sergei I. Gorelkin писал(а):Для разбиения на строки используется DrawText (процедура из модуля lclprocs).

В какой версии Lazarus?
Ответить