Ну тогда на основе этого вот тебе пример:
Код:
const
MaxValue = 60; // Определенное значение, по достижении которого 4-й байт в пакете будет обнуляться
TimerInterval = 1000; // Интервалл в милисекундах для таймера
var
Timer1: TTimer;
tmpint: integer;
intbyte: string;
procedure Init;
begin
Timer1:=TTimer.Create(nil); // создаем объект таймер
Timer1.OnTimer:=@OnTimer1; // привязываем к нашему объекут процедуру OnTimer1
Timer1.enabled:=true; // включаем запуск таймера при старте скрипта
Timer1.interval:=TimerInterval; // устанавливаем интервал в милисекундах (в нашем случае интревла равен 1 секунде)
tmpint:=0; // Устанавливаем переменную по умолчанию
end;
procedure OnTimer1(Sender: TObject);
begin
tmpint:=tmpint+1; // суммируем счетчик через кажддую секунду
if(tmpint <= MaxValue) then // Если счетчик меньше или равно MaxValue, то продолжаем работать
begin
// Тут мы отправляем пакет, в котором четвертый байт будет равен счетчику, т.е. от 1 до 60
buf:='';
WriteC(tmpint);
intbyte:=copy(buf,1,(length(buf))); // переводим Ineger to Hex
buf:=HStr('5d5e5f') + HStr(intbyte); // intbyte - значение четвертого байта
SendToServer;
end else // Иначе, т.е. если счетчик больше MaxValue то обнуляем его
begin
tmpint:=0;
end;
end;
procedure Free;
begin
Timer1.Free; // Освобождаем память занятую таймером
end;
begin
end.