Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Лимит строк в RichEdit [D7, WinXP]


Страницы:   1 2

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]

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

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


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо