![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Видео:
http://www.youtube.com/watch?v=3EGEg...ature=youtu.be Код:
procedure TForm1.tmr4Timer(Sender: TObject);
var
t1,r1,y1: Integer;
begin
tmr4.Enabled:=True;
for t1:=0 to mmo1.Lines.Count-1
do
if pos('CODE',mmo1.Lines.Strings[t1])>0
then
begin
edt1.Visible:=True;
end;
for r1:=0 to mmo1.Lines.Count-1
do
if pos('GOODBYE',mmo1.Lines.Strings[r1])>0
then
begin
edt1.Visible:=False;
end;
for y1:=0 to mmo1.Lines.Count-1
do
if pos('MENU',mmo1.Lines.Strings[y1])>0
then
begin
edt1.Visible:=False;
end;
end;в Properties таймера значение Interval = 1000 Таймер работает постоянно, выполняя каждую секунду эту процедуру компонент edt1 постоянно мерцает создавая при этом неудобство Можно ли это как-то побороть? На форумах вычитал про DoubleBuffered, реализовал подобную процедуру: Код:
procedure TForm1.FormCreate(Sender: TObject); begin DoubleBuffered:= True; end; только вот это особо не помогло. |
|
#2
|
||||
|
||||
|
Код, конечно, замечательный
- особенно эта строка:Код:
tmr4.Enabled:=True; Код:
procedure TForm1.tmr4Timer(Sender: TObject);
var
I : Integer;
begin
for I := 0 to mmo1.Lines.Count-1 do
if (pos('CODE', mmo1.Lines.Strings[i]) > 0) then
edt1.Visible := True
else if (pos('GOODBYE', mmo1.Lines.Strings[i]) > 0) or (pos('MENU', mmo1.Lines.Strings[y1]) > 0) then
edt1.Visible := False;
end; |