Форум: "Начинающим";
Текущий архив: 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