Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Countdown-Frage (https://www.delphipraxis.net/84710-countdown-frage.html)

Gurkendieb 20. Jan 2007 14:13


Countdown-Frage
 
Hi
Habe mir den folgenden Countdown zusammengebastelt:

Delphi-Quellcode:
var
  Form1: TForm1;
  Zeit : Integer;
  Counter : Integer;
implementation

{$R *.dfm} 

procedure TForm1.Button1Click(Sender: TObject);
begin
Zeit := StrToInt(Edit1.Text);
Timer1.Enabled:=true;

end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
counter:= counter+1;
if(counter=zeit) then
begin
ShowMessage('Zeit abgelaufen');
Timer1.Enabled:=False;
counter:=0;
zeit  :=0;
end

end;
Das funktioniert auch wunderbar, nur könnte ich die ablaufende Zeit eventuell in einem Label daarstellen lassen und wenn ja, wie?

(sorry, bin immer noch ein Noob :oops: )

stifflersmom 20. Jan 2007 14:19

Re: Countdown-Frage
 
Na so sonderlich schwierig ist das doch nicht

Plazier noch ein Label auf Deine Form und erweitere Dein OnTimer-Ereignis

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
counter:= counter+1;
RestLabel.Caption := 'Time to go: '+IntToStr(Zeit-Counter);  // Voila "Restzeitanzeige"
if(counter=zeit) then
begin
ShowMessage('Zeit abgelaufen');
Timer1.Enabled:=False;
counter:=0;
zeit  :=0;
end;
Moin

r2c2 20. Jan 2007 14:41

Re: Countdown-Frage
 
Je nachdem, wie das TimerIntervall ist, bzw. wie viel Win sonst noch zu tun hat, kann deine Countdown-Variante baer recht ungenau werden...

Besser GetTickCount benutzen...

mfg

Christian

Gurkendieb 20. Jan 2007 15:07

Re: Countdown-Frage
 
hat funktioniert,
kann ich noch machen, dass z.b. 1:30Min dasteht und nich 90sek?

Klaus01 20. Jan 2007 15:10

Re: Countdown-Frage
 
Hallo,

90 div 60 = 1

90 mod 60 = 30

Grüße
Klaus

Gurkendieb 20. Jan 2007 16:29

Re: Countdown-Frage
 
Zitat:

Zitat von Klaus01
Hallo,

90 div 60 = 1

90 mod 60 = 30

Grüße
Klaus

ähm...
wo soll das genau hin im Quelltext?

r2c2 20. Jan 2007 16:36

Re: Countdown-Frage
 
Versuche zu Programmieren, statt zu kopieren. Versuch zu verstehen, was der Code macht.

Mit dem Code rechnest du eigentlich nur die ganzen Minuten und die Restsekunden aus. Die musst du dann nur noch in n String konvertieren(IntToStr), aneinanderhängen(+) und ausgeben(:=)...

BTW: ggf. könnte es auch helfen, wenn du dir mal n paar Einsteiger-Tutorials anguckst...

mfg

Christian

himitsu 20. Jan 2007 16:38

Re: Countdown-Frage
 
Das ist für die Umrechung ...

Delphi-Quellcode:
Minute  := X div 60;
Sekunden := X mod 60;
das anzeigen mußt du dann selber machen ... mit IntToStr, Format, oder wie auch immer.

z.B.:
Caption := Format('%d:%d%d', [Sekunden div 60, (Sekunden div 10) mod 6, Sekunden mod 10];


[edit]

DP-Maintenance 20. Jan 2007 18:04

DP-Maintenance
 
Dieses Thema wurde von "Daniel" von "Programmieren allgemein" nach "Sonstige Fragen zu Delphi" verschoben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:08 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz