Здравтвуйте ув Профи.
Подскажите как первые два пакета отправлять с задержкой в 1-ну секунду , каждый пакет.
С условием что бы 3-й пакет отпрвлялся с задержкой 3-и секунды , после отправки 2-го пакета .
Код:
const
name = 'Сэдрик';
var
timer:TTimer;
TimerStep:byte;
procedure Init;
begin
TimerStep:=1;
timer:=TTimer.Create(nil);
timer.OnTimer:=@OnTimer;
timer.enabled:=true;
timer.interval:=2000; //время задержки между отправкой пакетов.
end;
procedure Free;
begin
timer.free;
end;
procedure OnTimer;
begin
case TimerStep of
1:
begin
timer.interval:=3000;
buf:=Hstr('19 E5 39 05 10 00 00 00 00');
SendToServerEx(name);
// SendMsg('1');
Inc(TimerStep);
end;
2:
begin
buf:=Hstr('D0 4C 00 A8 E0 16 10');
SendToServerEx(name);
// SendMsg('2');
Inc(TimerStep);
end;
3:
begin
buf:=Hstr('5F A8 E0 16 10 00 00 00 00');
SendToServerEx(name);
// SendMsg('3');
TimerStep:=1;
timer.interval:=1000; //60000 мс = 1 минута
end;
end;
end;
begin
end.
//J-Fobos: вы правильно поняли суть таймера и как с ним работать. В TimerStep=2 добавляете timer.interval:=3000, а в TimerStep=2 вы уже сделали возвращение к timer.interval:=1000. Ну и начальный timer.interval (в процедуре Init) также сделайте 1к, а то первое проходжение таймера будет с интервалом 2 сек.