Los ingredientes necesarios para seguir el ejemplo son, además del Form:
- 1 TTimer
- 1 TLabel
- 3 TButton
- 1 variable integer (privada o pública)
El componente TTimer se encuentra en la paleta System.
Por defecto el Timer viene activado, para este ejemplo, desde el inspector de objetos lo desactivamos.
De paso definimos el intervalo en 100 para obtener una medición lo más real posible, claro que después se puede jugar y poner en 1 a ver qué pasa. Pasará que en 10 segundos medirá 6 o como mucho 7; si lo ponemos en 10, en 10 segundos medirá 8-9 aprox. y en 1000 el margen de “error” será de aprox. 1% o incluso menos.
Sí, el contador en verde, bold y agrandado, porque todo en escala de grises es simplemente aburrido.
Pasemos al código:
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
btnComenzar: TButton;
btnDetener: TButton;
btnVolverACero: TButton;
lblContador: TLabel;
Timer1: TTimer;
procedure btnComenzarClick(Sender: TObject);
procedure btnDetenerClick(Sender: TObject);
procedure btnVolverACeroClick(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
contador:Integer;
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.Timer1Timer(Sender: TObject);
begin
contador:=contador+1;
lblContador.Caption:=IntToStr(contador);
end;
procedure TForm1.btnComenzarClick(Sender: TObject);
begin
Timer1.Enabled:=True;
end;
procedure TForm1.btnDetenerClick(Sender: TObject);
begin
Timer1.Enabled:=False;
end;
procedure TForm1.btnVolverACeroClick(Sender: TObject);
begin
contador:=0;
lblContador.Caption:=IntToStr(contador);
end;
end.
El resultado:
No hay comentarios:
Publicar un comentario