Einzelnen Beitrag anzeigen

ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#4

Re: digitale Uhr mit 5-sekunden-beep

  Alt 23. Okt 2005, 13:38
du solltest die labels nur als Output nehmen und nicht wieder irgendwie darauf zugreifen.

Nimm EINE Variable, in der du die Zahl der Sekunden speicherst.

die erhöhst du dann jede Sekunde (per Timer) um 1. //ACHTUNG: DER TIMER IST UNGEAU

dann machst du einen Ausgabelabel, nicht drei, der alles auf einmal ausgibt. Ungefähr so:
Delphi-Quellcode:
var
  secounds:integer
[...]

function myinttostr(i:integer):string;
begin
  result:=inttostr(i);
  if length(result)=1 then
    result:='0'+result;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
  sec,min,hr,anzahlbeeps:integer;
begin
  inc(secounds);
  if (secounds mod 5) = 0 then
    beep;
  anzahlbeeps:=secounds div 5;
  sec:=secounds mod 60;
  min:=secounds div 60;
  hr:=min div 60;
  min:=min mod 60;
  zeitausgabelabel.caption:=inttostr(hr)+':'+myinttostr(min)+':'+myinttostr(sec);
  anzahlbeepsausgabelabel.caption:=inttostr(anzahlbeeps);
end;
Michael Enßlin
  Mit Zitat antworten Zitat