Вот для затравки пример из книги "Delphi для чайников"
Код:
type
TForm1 = class(TForm)
Timer1: TTimer;
Label1: TLabel;
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Label1.Caption := TimeToStr(Now);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Timer1Timer(Timer1);
end;
Таймер тикает раз в секунду. Label1 отображает время.
Попробуйте остальное дописать сами.
Для обратного отсчёта надо от текущего времени отнимать время старта.