Ver Mensaje Individual
  #3  
Antiguo 27-05-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Puedes usar un Timer pero deberás declarar el arreglo fuera del botón, por ejemplo, como variable del formulario:

Código Delphi [-]
TForm1 = class(TForm)
  Button1: TButton;
  Label1: TLabel;
  Timer1: TTimer;

  procedure Button1Click(Sender: TObject);
  procedure Timer1Timer(Sender: TObject);

private
  Personas: array of String; // arreglo de longitud variable
  Actual: Integer; // índice del elemento que toca mostrar
end

En Button1Click llenas el arreglo y activas el Timer:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  SetLength(Personas, 4);

  Personas[0] := 'Luis';
  Personas[1] := 'Juan';
  Personas[2] := 'Manuel';
  Personas[3] := 'José';

  Actual := 0;
  Timer1.Enabled := true;
end;

En el evento OnTimer actualizas la etiqueta:

Código Delphi [-]
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Label1.Caption := Personas[Actual];

  // Siguiente persona
  Actual := (Actual + 1) mod Length(Personas);
end;

el mod es para que al llegar a la última persona (3 en este caso), el índice se regrese a 0.

La velocidad con la que aparezcan los nombres la controlas con la propiedad Interval del Timer (expresada en milisegundos). Así, si la pones en 500, el nombre cambiará cada medio segundo.

// Saludos
Responder Con Cita