Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Hilfe...wie mach ich eine Stoppuhr? (https://www.delphipraxis.net/156860-hilfe-wie-mach-ich-eine-stoppuhr.html)

c.delphi 17. Dez 2010 14:50

Delphi-Version: 5

Hilfe...wie mach ich eine Stoppuhr?
 
hey.
ich habe jetzt in der schule informatik dazugewählt und bräucht jetzt ma eure Hilfe, da ich noch ein richtiger anfänger bin und ich demnächst klausur schreibe.
die aufgabenstellung war:

Erstelle ein Label und einen Button.
Wenn der Button gedrückt wird, soll die Beschriftung des Labels mittels eines Timers in Millisekunden hochzählen.
Wenn der Button nochmal gedrückt wird, soll die Stoppuhr wieder anhalten.

Wie mach ich so was? (quell-code wäre hilfreich)
mfg
c.delphi

rollstuhlfahrer 17. Dez 2010 14:59

AW: Hilfe...wie mach ich eine Stoppuhr?
 
Ganz einfach: Du holst dir die aktuelle Zeit (mit now()) und speicherst die in der Variablen Start. Dann holst du dir im TimerEvent wieder die aktuelle Zeit und schaust, wie viel Zeit vergangen ist. Dies gibst du dann aus. Beim Stopp beendest du einfach wieder den Timer.

Ansonsten hoffe ich, dass du Delphi-Grundkenntnisse mitbringst, ansonsten wäre ein Grundlagentutorial hilfreich.

Bernhard

Deep-Sea 17. Dez 2010 15:08

AW: Hilfe...wie mach ich eine Stoppuhr?
 
Es bietet sich hier auch die Funktion GetTickCount an.

DeddyH 17. Dez 2010 15:11

AW: Hilfe...wie mach ich eine Stoppuhr?
 
Zitat:

Zitat von c.delphi (Beitrag 1069109)
Wenn der Button gedrückt wird, soll die Beschriftung des Labels mittels eines Timers in Millisekunden hochzählen.

Das sollte man vielleicht erst einmal genau spezifizieren. "Beschriftung in Millisekunden hochzählen"? :gruebel:

P.S.: Willkommen in der DP :dp:

patti 17. Dez 2010 15:11

AW: Hilfe...wie mach ich eine Stoppuhr?
 
Ich könnte mir vorstellen, dass die Aufgabenstellung auf eine etwas andere Lösung abzielt. Du kannst dir eine private Variable deklarieren und diese beim Programmstart auf 0 setzen. Beim Drücken des Buttons aktivierst du den Timer (setzt die Eigenschaft Enabled von false auf true). Bei jedem Timer-Event erhöhst du deine Variable um die Zeitdauer des Timers (Eigenschaft Interval) und gibst die Variable per IntToStr in deinem Label aus. Beim Stoppen musst du lediglich den Timer wieder deaktivieren

Hinweis: Die Lösung von "rollstuhlfahrer" arbeitet genau genommen besser, da sie genauer ist. Wenn ein Timer beispielsweise ein Interval von 25ms hat, dann dauert es nicht genau 25ms, bis der Timer tatsächlich aufgerufen wird, sondern diese Zeit kann schwanken. Gerade bei einem kleinen Interval kann es in diesem Fall zu erheblichen Abweichungen kommen!

s.h.a.r.k 17. Dez 2010 16:10

AW: Hilfe...wie mach ich eine Stoppuhr?
 
Schau dir mal meine Komponente an ;) Hab Sie gerade eben fertig geschrieben, da findest du eigentlich alle was du brauchst. ABER: lerne daraus und nicht einfach nur kopieren.

Welcome to DP :dp:

Sir Rufo 17. Dez 2010 16:51

AW: Hilfe...wie mach ich eine Stoppuhr?
 
Da es sich hier ja um eine Aufgabe für Anfänger handelt und diese mit den bisher vermittelten Kenntnissen lösbar sein sollte, glaube ich, dass der Einsatz von Standard-Komponenten völlig ausreichen muss.

Anzeige in Millisekunden wird wohl so gemeint sein:
Delphi-Quellcode:
Label1.Caption( FormatDateTime( 'hh:nn:ss.zzz', Dauer ) );
Die Anzeige jede Millisekunde zu Referaten ist bestimmt nicht gefordert, da dies a) technisch nicht möglich und b) absolut unnötig ist. Das Auge ist mit 25 Bildern pro Sekunde schon glücklich wozu also mit 1000 Bildern pro Sekunde stressen (Auge wie Computer)

Somit würde ich Timer-Interval auf 40 setzen (das ist auch schon hart) und im Timer-Event dann das Label aktualisieren lassen:
Delphi-Quellcode:
Label1.Caption( FormatDateTime( 'hh:nn:ss.zzz', now - Start ) );
Damit der Timer losläuft und anhält im OnClick-Event
Delphi-Quellcode:
Start := now;
Timer1.Enabled := not Timer1.Enabled;
Im groben sollte es das gewesen sein. Da kann man noch etwas feilen, aber wir wollen es ja auch nicht komplett bauen :mrgreen:

s.h.a.r.k 17. Dez 2010 17:02

AW: Hilfe...wie mach ich eine Stoppuhr?
 
Ich mag es aber diverse Utilities in Komponenten/Klassen zu packen ;) Wenn OOP, dann schon von Anfang an. Aber ist in diesem Fall vielleicht wirklich mit Kanonen auf Spatzen geschossen.

Sir Rufo 17. Dez 2010 17:05

AW: Hilfe...wie mach ich eine Stoppuhr?
 
Er ist doch gerade dabei das Seepferdchen zu machen und da ist der Rettungsschwimmer noch weit weg ;)

s.h.a.r.k 17. Dez 2010 17:18

AW: Hilfe...wie mach ich eine Stoppuhr?
 
Man kann doch aber doch auch sicherlich schon mal den Grundkurs für die Rettungsschwimmer ansehen :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:28 Uhr.
Seite 1 von 2  1 2      

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