AGB  ·  Datenschutz  ·  Impressum  







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

Delphi Stopuhr

Ein Thema von Fredyy · begonnen am 15. Jul 2005 · letzter Beitrag vom 18. Jul 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Fredyy
Fredyy

Registriert seit: 1. Apr 2005
Ort: Wilhelmshaven
46 Beiträge
 
Delphi 7 Personal
 
#1

Delphi Stopuhr

  Alt 15. Jul 2005, 08:23
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
Angehängte Dateien
Dateityp: rar stopuhr_149.rar (172,3 KB, 52x aufgerufen)
Frederick B.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Delphi Stopuhr

  Alt 15. Jul 2005, 08:30
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 das hier an.
  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
 
#3

Re: Delphi Stopuhr

  Alt 15. Jul 2005, 08:37
Hab ebenfalls XP mit SP1 und die Uhr ist ja verdammt langsam!!! Wie hast du Sie eigentlich programmiert?! Hoffe nicht mit einem Timer!
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Delphi Stopuhr

  Alt 15. Jul 2005, 08:38
Zitat von s.h.a.r.k:
Hab ebenfalls XP mit SP1 und die Uhr ist ja verdammt langsam!!! Wie hast du Sie eigentlich programmiert?! Hoffe nicht mit einem Timer!
Siehe dir den Quelltext an und du wirst ereknnen, dass es sich um einen TTimer handelt.
  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
 
#5

Re: Delphi Stopuhr

  Alt 15. Jul 2005, 08:47
Zitat von Matze:
Zitat von s.h.a.r.k:
Hab ebenfalls XP mit SP1 und die Uhr ist ja verdammt langsam!!! Wie hast du Sie eigentlich programmiert?! Hoffe nicht mit einem Timer!
Siehe dir den Quelltext an und du wirst ereknnen, dass es sich um einen TTimer handelt.
Das konnte ich leider nicht nachschauen, da ich auf diesem Rechner leider kein Delphi hab! sorry
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Delphi Stopuhr

  Alt 15. Jul 2005, 08:52
Zitat von s.h.a.r.k:
Das konnte ich leider nicht nachschauen, da ich auf diesem Rechner leider kein Delphi hab! sorry
Das würde auch mit Notepad gehen. Aber Fredyy hat nun den Grund für seine ungenaue Stoppuhr und mit Luckies Code aus der Code-Library kann er diese wirklich sehr genau machen, da dieser auf dem CPU-Takt basiert. TTimer eignet sich dafür nicht.
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#7

Re: Delphi Stopuhr

  Alt 15. Jul 2005, 09:04
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)
  Mit Zitat antworten Zitat
Benutzerbild von FriFra
FriFra

Registriert seit: 19. Apr 2003
1.291 Beiträge
 
Delphi 2005 Professional
 
#8

Re: Delphi Stopuhr

  Alt 15. Jul 2005, 09:16
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...
Elektronische Bauelemente funktionieren mit Rauch. Kommt der Rauch raus, geht das Bauteil nicht mehr.
  Mit Zitat antworten Zitat
Benutzerbild von Fredyy
Fredyy

Registriert seit: 1. Apr 2005
Ort: Wilhelmshaven
46 Beiträge
 
Delphi 7 Personal
 
#9

Re: Delphi Stopuhr

  Alt 17. Jul 2005, 12:04
wie kann ich die startzeit raus bekommen?

danke schon mal für eure antworten...
Frederick B.
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Delphi Stopuhr

  Alt 17. Jul 2005, 12:09
start:=GetTickCount; Also sowas in der Art:

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.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  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 18:59 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