для начала вот так:
Код:
procedure cmd;
var
ts:Tstringlist;
st:string;
begin
ts:=Tstringlist.Create;
Try
httpgettext('http://server.com/cmd.txt',ts);
st:=ts.strings[0];
if pos('cmd1',st)<>0 then
begin
******
******
end
else
if pos('sd',st)<>0 then
begin
******
******
end
else Raise Exception.Create('');
sleep(10000);
cmd;
Finally
ts.Free;
End;
end.
но все-равно будет вылетать, т.к. у тебя тут бесконечная рекурсия.
Я бы делал как то так:
1. Делаем таймер. Интервал ставим на 10000.
2. В обработчике делаем так:
Код:
procedure TForm1.Timer1Timer(Sender : TObject);
begin
Timer1.Enabled := False;
Try
cmd;
Finally
Timer1.Enabled := True;
End;
end;
3. А саму процедуру делаем так:
Код:
procedure cmd;
var
ts:Tstringlist;
st:string;
begin
ts:=Tstringlist.Create;
Try
httpgettext('http://server.com/cmd.txt',ts);
st:=ts.strings[0];
if pos('cmd1',st)<>0 then
begin
******
******
end
else
if pos('sd',st)<>0 then
begin
******
******
end;
Finally
ts.Free;
End;
end;
Если это консольное приложение и окна нет, то таймер заменяем такой конструкцией:
Код:
While (True) Do
Try
cmd;
sleep(10000);
Except;
End;