Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.03.13;
Скачать: CL | DM;

Вниз

Как организовать задержку (стандартный таймер) сделал так:   Найти похожие ветки 

 
JTAG   (2005-03-01 13:10) [0]

--- функция реакции на события
procedure TForm1.Timer1Timer(Sender: TObject);
begin
intoccurstimer1:=1;
end;

--- функция задержки
procedure delay_timer1 (delay:integer);
var a:integer;
begin

form1.timer1.Interval:= delay;
form1.timer1.enabled:= true;

while (intoccurstimer1=0) do a:=1; --выполняю до тех пор пока не возникнет intoccurstimer1
form1.timer1.enabled:= false;
intoccurstimer1:=0;
end;

--- Основная прога
procedure TForm1.Button13Click(Sender: TObject);
begin
intoccurstimer1:=0;
while (1=1) do
begin
Memo3.Lines.Append("test");
delay_timer1(100);
end;
end;

Че-то не работает
В чем ошибка не могу понять


 
Юрий Зотов ©   (2005-03-01 13:17) [1]

Цикл
while (intoccurstimer1=0) do a:=1;
грузит CPU на 100% и сообщения от таймера не обрабатываются. Поэтому intoccurstimer1 единицей не становится и получаем бесконечный цикл.

Измените так:
while (intoccurstimer1=0) do Application.ProcessMessages;

А если задержки маленькие, то можно все это вообще выкинуть (вместе с таймером) и использовать просто Sleep.


 
JTAG   (2005-03-01 13:29) [2]

Спасибо! здорово, мне задержки от 10мили сек до 100 примерно нужны. Sleep мне поможет?


 
Anatoly Podgoretsky ©   (2005-03-01 13:40) [3]

Поможет.



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

Текущий архив: 2005.03.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.055 c
3-1108033366
Юрец
2005-02-10 14:02
2005.03.13
Отображение содержимого Грида или помогите разобраться


1-1109453182
Urvin
2005-02-27 00:26
2005.03.13
Как правильно напечатать


1-1109626493
dmk
2005-03-01 00:34
2005.03.13
Как определить длину текста в Clipboard?


3-1108387216
Polad
2005-02-14 16:20
2005.03.13
Interbase + Loockup =?


1-1109539123
Bloody-Wolf
2005-02-28 00:18
2005.03.13
возведение в степень