Bueno veré si me puedo explicar con un ejemplo.
He utilizado tanto tu opción como la que yo estaba intentando pero en ningún caso me ha funcionado.
En un Formulario tengo dos botones un Edit, dos Label y un timer.
La intención es que el timer cuente hasta el valor que se coloca en el edit tantas veces como l indiquemos en el "for"
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
Var
I, Nrep : Integer;
begin
I := StrToInt(Edit1.Text); for Nrep := 0 to 5 do Begin
Timer1.Enabled := True;
Begin
Label2.Caption := 'En marcha';
End;
while N = I do
Begin
Timer1.Enabled := False;
Label2.Caption := 'Parado';
N := 0;
End;
End;
end;
procedure TForm1.Button2Click(Sender: TObject);
Var
I, Nrep : Integer;
begin
I := StrToInt(Edit1.Text);
for Nrep := 0 to 5 do
Begin
Timer1.Enabled := True;
Repeat
Begin
Label2.Caption := 'En marcha';
End;
Until N = I;
Begin
Timer1.Enabled := False;
Label2.Caption := 'Parado';
N := 0;
End;
End;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
N:=0
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
N := N+1;
Label1.Caption := IntToStr(N);
end;
espero haber explicado menos el tema.
Muchas gracias.