Ver Mensaje Individual
  #3  
Antiguo 10-09-2021
ramonibk ramonibk is offline
Miembro
 
Registrado: may 2004
Posts: 193
Reputación: 21
ramonibk Va por buen camino
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 [-]

// N es una variable global.

procedure TForm1.Button1Click(Sender: TObject);
Var
 I, Nrep : Integer;
begin
  I := StrToInt(Edit1.Text); //Defino cuando se debe parar de contar.
  for Nrep := 0 to 5 do //Numero de veces que se realiza la operacion.
     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;
// Empieza a contar y no para al llegar a N = I

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;

// Deja la aplicación colgada, no hace nada.

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.
Responder Con Cita