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

Вниз

Лимит строк в RichEdit   Найти похожие ветки 

 
Greenchel ©   (2006-11-09 11:46) [0]

Как задать лимит строк в RichEdit, например, чтобы при достижении 50 строк те что в конце стирались бы.


 
Vlad Oshin ©   (2006-11-09 12:06) [1]

procedure TForm1.RichEdit1Change(Sender: TObject);
begin
if    Richedit1.Lines.Count>5 then Richedit1.Lines.Delete(0);


 
Anatoly Podgoretsky ©   (2006-11-09 12:06) [2]

> Greenchel  (09.11.2006 11:46:00)  [0]

Таких свойств или сообщений не существует


 
RASkov   (2006-11-09 12:08) [3]


> Vlad Oshin ©   (09.11.06 12:06) [1]

Так будут стираться в начале


 
Palladin ©   (2006-11-09 12:18) [4]

Ну подумать и догадаться что для конца будет

Richedit1.Lines.Delete(Richedit1.Lines.Count-1);

совсем соображалки нехватает?


 
Palladin ©   (2006-11-09 12:19) [5]


> RASkov   (09.11.06 12:08) [3]

упс... пп :) думал что это автор написал :)


 
Greenchel ©   (2006-11-09 12:20) [6]

Выдаёт ошибку: RichEdit line insertion error


 
Vlad Oshin ©   (2006-11-09 12:23) [7]

действительно...
так ведь удаляет

ну так смотреть, обработать, можть что еще


 
Greenchel ©   (2006-11-09 12:24) [8]

А у меня даже не удаляет :D Просто пишет ошибку и всё ))


 
Greenchel ©   (2006-11-09 12:27) [9]

Начало удаляться :D
Не получается отключить ошибку через
try...
except...


 
RASkov   (2006-11-09 13:28) [10]


> Greenchel ©   (09.11.06 12:27) [9]

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


 
Greenchel ©   (2006-11-09 15:21) [11]

procedure TForm1.RichEdit1Change(Sender: TObject);
begin
if Richedit1.Lines.Count>5 then Richedit1.Lines.Delete(0);
end;


Строку удаляет при этом выдаёт:
RichEdit line insertion error


 
Ketmar ©   (2006-11-09 15:49) [12]

>[11] Greenchel(c) 9-Nov-2006, 15:21
>RichEdit line insertion error
D7. не выдаёт. печатаю, удаляет. курсор, правда, прыгает в начало, но это уже домашнее задание.


 
Greenchel ©   (2006-11-09 15:54) [13]


> D7. не выдаёт. печатаю, удаляет. курсор, правда, прыгает
> в начало, но это уже домашнее задание.

1) У меня тоже D7, но ошибку как выдавал так и выдаёт
2) Курсор прыгающий в начало уже не проблема, здесь меня этому научили :D


 
Ketmar ©   (2006-11-09 16:05) [14]

>[13] Greenchel(c) 9-Nov-2006, 15:54
>1) У меня тоже D7, но ошибку как выдавал так и выдаёт
значит, ошибка не там.


 
Greenchel ©   (2006-11-09 16:26) [15]

хм... но появляется она только при достижении заданного порога - если больше 5 строк


 
Gloomer ©   (2006-11-09 16:27) [16]


> Greenchel ©   (09.11.06 16:26) [15]
> хм... но появляется она только при достижении заданного
> порога - если больше 5 строк

А где в приведенном примере 17-ая строка типа
RichEdit1.Lines.Add("...") ???


 
Greenchel ©   (2006-11-09 16:31) [17]


> А где в приведенном примере 17-ая строка типа
> RichEdit1.Lines.Add("...") ???

При чём здесь это? O_o


 
Gloomer ©   (2006-11-09 16:36) [18]


> Greenchel ©   (09.11.06 16:31) [17]
При чём здесь это? O_o

Хочешь сказать, что ошибка происходит не при использовании метода Insert? (Add так же его использует)


 
Greenchel ©   (2006-11-09 16:41) [19]

Я добавляю строку так:
AddColoredLine(RichEdit1, Edit1.Text, ColorBox1.Selected);
Через процедуру:
procedure AddColoredLine(ARichEdit: TRichEdit; AText: string; AColor: TColor);
begin
with ARichEdit do
 begin
   SelStart := Length(Text);
   SelAttributes.Color := AColor;
   Lines.Add(AText);
 end;
end;


 
Gloomer ©   (2006-11-09 16:45) [20]

Ответа на вопрос [0] так и не было:
while Richedit1.Lines.Count>=50 do
 Richedit1.Lines.Delete(Richedit1.Lines.Count-1);


 
Gloomer ©   (2006-11-09 16:46) [21]

procedure AddColoredLine(ARichEdit: TRichEdit; AText: string; AColor: TColor);
begin
with ARichEdit do
begin
  SelStart := Length(Text);
  SelAttributes.Color := AColor;
  while Lines.Count>48 do
     Lines.Delete(Lines.Count-1);
  Lines.Add(AText);
end;
end;

???


 
Greenchel ©   (2006-11-09 16:52) [22]


> Gloomer

ЫЫЫ, спасибо :)
вот тот кусок который мне был нужен
while Lines.Count>5 do
Lines.Delete(0);


 
Ketmar ©   (2006-11-09 16:54) [23]

>[22] Greenchel(c) 9-Nov-2006, 16:52
>вот тот кусок который мне был нужен
ах, если бы... не это тебе надо, совсем не это...


 
Greenchel ©   (2006-11-09 16:55) [24]


> Ketmar

Почему? O_o кажется всё работает... Первые строчки при достижении предела стираются... Правда для чата мне нужно немножко другое: надо чтобы стиралась не строка а фраза участника, но сойдёт и так :)


 
Gloomer ©   (2006-11-09 16:59) [25]

> Greenchel ©   (09.11.06 16:52) [22]
>вот тот кусок который мне был нужен
while Lines.Count>5 do
Lines.Delete(0);

Странные представления о конце...

> Ketmar ©   (09.11.06 16:54) [23]
> ах, если бы... не это тебе надо, совсем не это...

точно - для начала надо научиться корректно задавать вопросы :-)


 
Greenchel ©   (2006-11-09 17:01) [26]


> Gloomer

Представления о конце нормальные, в чате сообщения идут сверху вниз, так получилось ))



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

Форум: "Начинающим";
Текущий архив: 2006.11.26;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.039 c
4-1150551148
PRT
2006-06-17 17:32
2006.11.26
спрятать чужое приложение


2-1162916584
qbegin
2006-11-07 19:23
2006.11.26
case


15-1162533430
leonidus
2006-11-03 08:57
2006.11.26
У кого установлена Vista


15-1162458132
Cyrax
2006-11-02 12:02
2006.11.26
Ограничение прав пользователя в Windows XP


3-1159018395
Sinus
2006-09-23 17:33
2006.11.26
Автоинкреаментное поле





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский