Показать сообщение отдельно
Старый 15.09.2011, 08:27   #5
Пользователь
 
Регистрация: 01.08.2010
Сообщений: 82
Сказал Спасибо: 49
Имеет 5 спасибок в 4 сообщенях
semiromid пока неопределено
По умолчанию

Здравтвуйте ув Профи.
Подскажите как первые два пакета отправлять с задержкой в 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 сек.

Последний раз редактировалось J-Fobos, 15.09.2011 в 16:46.
semiromid вне форума   Ответить с цитированием
За это сообщение semiromid нажился 2 спасибками от: