Hola.
A mi me queda la duda de si el conteo debe mostrar los segundos transcurridos o faltantes para cada temporización del timer, es decir para cada vez que se dispare el evento
OnTimer. Si eso es lo que deseas, vas a necesitar un segundo temporizador para que realize la tarea del conteo entre eventos (del modo que te comentó
dec) ya que el
TTimer no contempla esa posibilidad.
Un ejemplo:
Código Delphi
[-]
...
var
Lapso: Integer = 0;
procedure TForm1.Timer30Timer(Sender: TObject);
begin
try
ShowMessage( '30 segundos' ); finally
Lapso := 0;
end;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Inc( Lapso );
Label1.Caption := Format( '%d s.', [Lapso] );
end;
procedure TForm1.ButtonStartClick(Sender: TObject);
begin
Timer30.Interval := 30000; Timer30.Enabled := True;
Timer1.Interval := 1000; Timer1.Enabled := True;
end;
Saludos