Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.07.15;
Скачать: [xml.tar.bz2];

Вниз

Странное поведение 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.046 c
15-1182252498
Ega23
2007-06-19 15:28
2007.07.15
По MS Word посоветуйте


2-1182324749
Gentos
2007-06-20 11:32
2007.07.15
fsMDIChild


15-1180860950
SkySpeed
2007-06-03 12:55
2007.07.15
Подскажите программу для создания справки (*.hlp) (для Delphi)


15-1181929921
Itonixxx
2007-06-15 21:52
2007.07.15
перекомпилировать Delphi код под Mac


15-1181904165
Piter
2007-06-15 14:42
2007.07.15
Мощность мотоциклов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский