Как я могу заменить код noob на хороший цикл? У меня есть 32 таймера на form1, каждый таймер работает каждые 1 секунду и исполняет bat-файл, а затем ждет, пока файл bat закончит его работу, и таймер снова запустится.Создать TTimer в цикле
Вот код с картинки
procedure TForm1.Timer1Timer(Sender: TObject);
var nr:string;
begin
nr := '1';
Timer1.Enabled := False;
if g_stop=False then
begin
if FileExists('test'+nr+'.bat') then
begin
ExeAndWait(ExtractFilePath(Application.ExeName) + 'test'+nr+'.bat', SW_SHOWNORMAL);
end;
Timer1.Enabled := True;
end;
end;
procedure TForm1.Timer2Timer(Sender: TObject);
var nr:string;
begin
nr := '2';
Timer2.Enabled := False;
if g_stop=False then
begin
if FileExists('test'+nr+'.bat') then
begin
ExeAndWait(ExtractFilePath(Application.ExeName) + 'test'+nr+'.bat', SW_SHOWNORMAL);
end;
Timer2.Enabled := True;
end;
end;
procedure TForm1.Timer3Timer(Sender: TObject);
var nr:string;
begin
nr := '3';
Timer3.Enabled := False;
if g_stop=False then
begin
if FileExists('test'+nr+'.bat') then
begin
ExeAndWait(ExtractFilePath(Application.ExeName) + 'test'+nr+'.bat', SW_SHOWNORMAL);
end;
Timer3.Enabled := True;
end;
end;
все должны работать параллельно, конечно – waza123
Изображение вашего кода абсолютно бесполезно здесь. См. [This Meta post] (http://meta.stackoverflow.com/a/285557/62576) для списка многих причин, по которым изображения кода неприемлемы. Кроме того, изображение формы тоже бесполезно; он не дает ничего полезного для вопроса (если вы просто не хотите показать, как аккуратно вы разместили все те компоненты TTimer). –
Какую проблему вы пытаетесь решить. Это вряд ли будет решением. –