![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Лимит строк в RichEdit [D7, WinXP]
Greenchel © (2006-11-09 11:46:00)Как задать лимит строк в RichEdit, например, чтобы при достижении 50 строк те что в конце стирались бы.
Greenchel (2006-11-09 17:01:00) [1]
> Gloomer
Представления о конце нормальные, в чате сообщения идут сверху вниз, так получилось ))
Gloomer (2006-11-09 16:59:00) [2]> 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 16:55:00) [3]
> Ketmar
Почему? O_o кажется всё работает... Первые строчки при достижении предела стираются... Правда для чата мне нужно немножко другое: надо чтобы стиралась не строка а фраза участника, но сойдёт и так :)
Ketmar (2006-11-09 16:54:00) [4]>[22] Greenchel(c) 9-Nov-2006, 16:52
>вот тот кусок который мне был нужен
ах, если бы... не это тебе надо, совсем не это...
Greenchel (2006-11-09 16:52:00) [5]
> Gloomer
ЫЫЫ, спасибо :)
вот тот кусок который мне был нужен
while Lines.Count>5 do
Lines.Delete(0);
Gloomer (2006-11-09 16:46:00) [6]
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;
???
Gloomer (2006-11-09 16:45:00) [7]Ответа на вопрос [0] так и не было:
while Richedit1.Lines.Count>=50 do
Richedit1.Lines.Delete(Richedit1.Lines.Count-1);
Greenchel (2006-11-09 16:41:00) [8]Я добавляю строку так:
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:36:00) [9]
> Greenchel © (09.11.06 16:31) [17]
При чём здесь это? O_o
Хочешь сказать, что ошибка происходит не при использовании метода Insert? (Add так же его использует)
Greenchel (2006-11-09 16:31:00) [10]
> А где в приведенном примере 17-ая строка типа
> RichEdit1.Lines.Add('...') ???
При чём здесь это? O_o
Gloomer (2006-11-09 16:27:00) [11]
> Greenchel © (09.11.06 16:26) [15]
> хм... но появляется она только при достижении заданного
> порога - если больше 5 строк
А где в приведенном примере 17-ая строка типа
RichEdit1.Lines.Add('...')???
Greenchel (2006-11-09 16:26:00) [12]хм... но появляется она только при достижении заданного порога - если больше 5 строк
Ketmar (2006-11-09 16:05:00) [13]>[13] Greenchel(c) 9-Nov-2006, 15:54
>1) У меня тоже D7, но ошибку как выдавал так и выдаёт
значит, ошибка не там.
Greenchel (2006-11-09 15:54:00) [14]
> D7. не выдаёт. печатаю, удаляет. курсор, правда, прыгает
> в начало, но это уже домашнее задание.
1) У меня тоже D7, но ошибку как выдавал так и выдаёт
2) Курсор прыгающий в начало уже не проблема, здесь меня этому научили :D
Ketmar (2006-11-09 15:49:00) [15]>[11] Greenchel(c) 9-Nov-2006, 15:21
>RichEdit line insertion error
D7. не выдаёт. печатаю, удаляет. курсор, правда, прыгает в начало, но это уже домашнее задание.
Greenchel (2006-11-09 15:21:00) [16]
procedure TForm1.RichEdit1Change(Sender: TObject);
begin
if Richedit1.Lines.Count>5 then Richedit1.Lines.Delete(0);
end;
Строку удаляет при этом выдаёт:
RichEdit line insertion error
RASkov (2006-11-09 13:28:00) [17]
> Greenchel © (09.11.06 12:27) [9]
Покажи свой "ограничитель строк" Т.е. кусок кода где ты пытаешься решить проблему. Подправим...
Greenchel (2006-11-09 12:27:00) [18]Начало удаляться :D
Не получается отключить ошибку через
try...
except...
Greenchel (2006-11-09 12:24:00) [19]А у меня даже не удаляет :D Просто пишет ошибку и всё ))
Vlad Oshin (2006-11-09 12:23:00) [20]действительно...
так ведь удаляет
ну так смотреть, обработать, можть что еще