AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Hilfe...wie mach ich eine Stoppuhr?

Offene Frage von "rollstuhlfahrer"
Ein Thema von c.delphi · begonnen am 17. Dez 2010 · letzter Beitrag vom 17. Dez 2010
Antwort Antwort
Seite 1 von 2  1 2      
c.delphi

Registriert seit: 17. Dez 2010
1 Beiträge
 
#1

Hilfe...wie mach ich eine Stoppuhr?

  Alt 17. Dez 2010, 14:50
Delphi-Version: 5
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
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#2

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

  Alt 17. Dez 2010, 14:59
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
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#3

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

  Alt 17. Dez 2010, 15:08
Es bietet sich hier auch die Funktion GetTickCount an.
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#4

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

  Alt 17. Dez 2010, 15:11
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"?

P.S.: Willkommen in der DP
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#5

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

  Alt 17. Dez 2010, 15:11
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!
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#6

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

  Alt 17. Dez 2010, 16:10
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
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

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

  Alt 17. Dez 2010, 16:51
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:
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:
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
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#8

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

  Alt 17. Dez 2010, 17:02
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.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

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

  Alt 17. Dez 2010, 17:05
Er ist doch gerade dabei das Seepferdchen zu machen und da ist der Rettungsschwimmer noch weit weg
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#10

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

  Alt 17. Dez 2010, 17:18
Man kann doch aber doch auch sicherlich schon mal den Grundkurs für die Rettungsschwimmer ansehen
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:40 Uhr.
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