![]() |
Delphi Stopuhr
Liste der Anhänge anzeigen (Anzahl: 1)
hi,
ich habe heute schnell eine Stopuhr gemacht. ich hoffe ihr könnt euch das mal angucken und mir sagen ob die so "genau" ist oder ob die völlig falsch läuft. danke schon mal. bye Fredyy |
Re: Delphi Stopuhr
Bei mir (WinXP Home SP2) läuft sie eindeutig zu langsam.
Nachtrag: Timer mit Intervall 1, lustig, aber schwachsinnig. WIndows XP schafft max. 10 ms, Win9x 50 ms, daran liegt es, dass deine Stoppuhr zu langsam ist, stelle das Intervall auf 50 ms, überprüfe entsprechend und die Stoppuhr ist deutlich genauer. Oder schau dir mal ![]() |
Re: Delphi Stopuhr
Hab ebenfalls XP mit SP1 und die Uhr ist ja verdammt langsam!!! Wie hast du Sie eigentlich programmiert?! Hoffe nicht mit einem Timer!
|
Re: Delphi Stopuhr
Zitat:
|
Re: Delphi Stopuhr
Zitat:
|
Re: Delphi Stopuhr
Zitat:
|
Re: Delphi Stopuhr
Es würde auch ein DXTimer als Alternative zum TTimer reichen. Es gab schon einige Diskussionen darüber. Kurze Zusammenfassung:
Ein Timer (z.B. TTimer) ist ein Thread. Threads laufen immer parallel nebeneinander, statt nacheinander. Wenn man jetzt einen Thread erstellt, der eine geringere Priorität hat, wird er in größeren Abständen aufgerufen als ein Thread mit hoher Priorität (logisch). Und da liegt der Unterschied: Der TTimer hat eine zu niedrige Priorität, um auf 1ms zu laufen (jedenfalls auf aktuellen Systemen). Dafür verbrauchen aber auch schnellere Timer (z.B. DXTimer) mehr CPU-Auslastung ;) Das sollte imho als Erklärung reichen (wenn ich irgendwo falsch liegen sollte, bitte melden). Das heißt: Es würde also eigentlich schon reichen, wenn du den Timer durch den DXTimer ersetzt (oder durch eine andere, beliebige Timer-Unit, von denen es mittlerweile einige gibt) ;) |
Re: Delphi Stopuhr
Warum "merkst" Du Dir nicht einfach die Startzeit (Systemzeit beim Start der Stopuhr) und erechnest Dir onTimer die Differenz zur aktuellen Zeit? Bei einem entspr. kurzem Interval läuft die Uhr dann absolut genau (zumindest so genau wie Deine Systemuhr ;) ) und schnell, egal ob der Timer mal schneller oder mal langsamer läuft...
|
Re: Delphi Stopuhr
wie kann ich die startzeit raus bekommen?
danke schon mal für eure antworten... |
Re: Delphi Stopuhr
Delphi-Quellcode:
Also sowas in der Art:
start:=GetTickCount;
Delphi-Quellcode:
interface
//... var start: Cardinal=0; //... implementation //... procedure Button1Click(Sender: TObject); begin if start=0 then begin start:=GetTickCount; Button1.caption:='Stopp'; label1.caption:=''; end else begin Button1.Caption:='Start'; start:=0; label1.caption:=inttostr(round((GetTickCount-start)/1000)))+' Sekunden verstrichen.'; end; end; //... end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:35 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