Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.07.15;
Скачать: CL | DM;

Вниз

Странное поведение TRichEdit   Найти похожие ветки 

 
leonidus ©   (2007-06-21 16:10) [0]

Подскажите где грабли. Добавляю в TRichEdit 4 строки, а после добавления их оказывается пять, т.е. в пятой строчке текста нет, но на нее курсор становится, причем ее в ручную удалить можно, чтобы осталось нормальные 4 строки текста, а вот программно
Richedit1.Lines.delete(Richedit1.Lines.count) удалить не получается, а мне эта пустая строка очень мешает. Подскажите как быть


 
Инс   (2007-06-21 16:15) [1]

Видимо, после каждой строки вставляется #10#13 даже после последней.


 
leonidus ©   (2007-06-21 16:19) [2]

ну во-первых все что я вставляю в TRichEdit , предварительно тримается, а во вторых почему тогда удаление последней строчки программно, не дает результатов, хотя руками удаляется строка отлично?


 
Jeer ©   (2007-06-21 16:22) [3]


> Richedit1.Lines.delete(Richedit1.Lines.count) удалить не
> получается,


1. Удалить можно count-1
2. Перед заполнением делать Clear, мог в design-time оставить что-то


 
Anatoly Podgoretsky ©   (2007-06-21 16:26) [4]

> leonidus  (21.06.2007 16:10:00)  [0]

А и нет пятой строки - это позиция ввода. Есть ровно четыре законченых строки, ты же предагаешь только три и одну не закрытую.
Сделать можно на уровне файла, если удалить ограничитель строки у последней строки, только после этого нельзя сохранять или постоянно проводить коррекцию.

Только вот непонятно чем это может мешать, это загадка?


 
Anatoly Podgoretsky ©   (2007-06-21 16:28) [5]

> Инс  (21.06.2007 16:15:01)  [1]

Хакеры?


 
Инс   (2007-06-21 16:30) [6]


> Хакеры?


Что хакеры?


 
leonidus ©   (2007-06-21 16:30) [7]

А, понял, если это позиция ввода то понятно. А мешает тем, что полоса прокрутки вертикальная появляется когда раньше чем реально это нужно.

И тогда еще вопрос, если все 4 строчки напечатаны одним шрифтом и кеглем, как определить их суммарную высоту?


 
Anatoly Podgoretsky ©   (2007-06-21 16:34) [8]

> Инс  (21.06.2007 16:30:06)  [6]

Я же сделал ссылку на номер сообщения, на который отвечаю

> Видимо, после каждой строки вставляется #10#13 даже после последней.

Хакеры писали?
И может быть ты сам такой?


 
Инс   (2007-06-21 16:37) [9]


> И может быть ты сам такой?


Интересно... При всем уважении к Вам, Анатолий, что за неоправданный наезд?


 
Anatoly Podgoretsky ©   (2007-06-21 16:39) [10]

> Инс  (21.06.2007 16:37:09)  [9]

Это не наезд, это так называемый хакерски ограничитель строк.
Официальных три - DOS/UNIX/MAC


 
iXT ©   (2007-06-21 16:45) [11]

Я решал так
В потомке в OnChange удаляешь №13№10 или в Text или в последней строке сейчас нет кода перед глазами
PS
было TMemo, но это не принципиально

> [5] Anatoly Podgoretsky ©   (21.06.07 16:28)

Не, они так просто :)

> Только вот непонятно чем это может мешать, это загадка?

Мне мешало отобрашение в определенных координатах, ну это в прочем не важно, нужно было :)


 
Инс   (2007-06-21 16:47) [12]

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


 
Anatoly Podgoretsky ©   (2007-06-21 16:54) [13]

> iXT  (21.06.2007 16:45:11)  [11]

Это надо експериментально проверить, но уверен что при записи/чтение это будет автоматом добавлено, я на это уже попадался, немного в другой ситуации, но суть таже.


 
iXT ©   (2007-06-21 17:08) [14]

У меня эксперементально работает :) Казусов вроде пока не замеченно. Кода нет перед глазами, а то бы сказал точно как делал.


 
leonidus ©   (2007-06-22 10:43) [15]

Ок, попробую. А как на счет вычисления высоты строк?


 
iXT ©   (2007-06-22 11:10) [16]

Типа вот процедура :) Кто предложит код оптимальнее или красивее таму большой респект! :)

procedure TFMemo.Change;
begin
 inherited Change;
 if RowCount > 0 then
   begin
     while Lines.Count > RowCount do
       Lines.Delete(Lines.Count - 1);
     if (Lines.Count = RowCount) and (Text[Length(Text)] = #10)
       then Text:=Copy(Text, 1, Length(Text) - 2);
   end;
end;


 
leonidus ©   (2007-06-23 14:22) [17]

>iXT, два вопроса:
1. можно все это создать не в наследнике а просто в  обработчике OnChange ?
2. Ни у TMemo ни у TRichEdit нет свойства RowCount...


 
Anatoly Podgoretsky ©   (2007-06-23 14:30) [18]

1. Можно
2. а оно и не нужно



Страницы: 1 вся ветка

Текущий архив: 2007.07.15;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.033 c
3-1176698721
pavel_guzhanov
2007-04-16 08:45
2007.07.15
Перестал работать скрипт


2-1182345508
авыф
2007-06-20 17:18
2007.07.15
SpeedButton


15-1181752997
syte_ser78
2007-06-13 20:43
2007.07.15
Подскажите программу


15-1181906747
Predfer
2007-06-15 15:25
2007.07.15
Компьютер не работает!


2-1182598841
>>DEATH<<
2007-06-23 15:40
2007.07.15
плавающие окна