Что представляет собой свойство Text в TMemo?

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

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

Ответить
SergeySmlInf
новенький
Сообщения: 40
Зарегистрирован: 02.10.2007 07:59:26
Откуда: Смоленск

Что представляет собой свойство Text в TMemo?

Сообщение SergeySmlInf »

Извините, но кто нибудь может внятно объяснить по теме структуру свойства Text?
Можно ли это свойство рассматривать как массив символов? В 0.9.26?
Если да, то не увеличивается ли длина на символы перевода строк, если включено WordWrap?
И какими символами этот перевод строк осуществляется?

Причина:
Пытаюсь решить проблему определения нахождения текстового курсора в TMemo МЕЖДУ двумя заданными символами с целью разрешить или запретить ввод текста.
В 9.24 - алгоритм, пусть и корявый, но работал! С переходом на 9.26 - увы! Я понимаю, что после, не значит в следствии... Но тогда почему?
И что за символы выдаются в начале строки при выполнении точки останова?
И почему позиция текстового курсора полученная с помощью SelStart не совпадает с реальной?
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

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

Это свойство соответствует Lines.Text.
Там нет не каких символов кроме тех которые ты ввёл. Свойство WordWrap не содержиме введённого текста не как не влияет оно только влияет на отображение введённого текста.
SelStart указывает на положение не в мемо а в Lines.Text.
Преобразуй введенный текст в Ansi кодировку и работай с ним.

Код: Выделить всё

...
  UTF8ToAnsi(Memo1.Text)[Memo1.SelStart]
...
SergeySmlInf
новенький
Сообщения: 40
Зарегистрирован: 02.10.2007 07:59:26
Откуда: Смоленск

Сообщение SergeySmlInf »

А затем обратно в Memo1.Text AnsiToUtf8()... ?
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

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

SergeySmlInf писал(а):А затем обратно в Memo1.Text AnsiToUtf8()... ?

ну если ты будешь менять что либо то да.
SergeySmlInf
новенький
Сообщения: 40
Зарегистрирован: 02.10.2007 07:59:26
Откуда: Смоленск

Сообщение SergeySmlInf »

И все таки при отладке программы если я какой-либо строковой переменной присваиваю значение Memo1.Text при просмотре ее значения, перед непосредственно строкой еще что-то печатается?
Продолжу утром...
Ответить