AGB  ·  Datenschutz  ·  Impressum  







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

Komme nicht weiter mit Zeitvergleichen?

Ein Thema von AlexII · begonnen am 19. Okt 2009 · letzter Beitrag vom 19. Okt 2009
Antwort Antwort
Seite 4 von 4   « Erste     234   
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#31

Re: Komme nicht weiter mit Zeitvergleichen?

  Alt 19. Okt 2009, 14:44
Zitat von AlexII:
Ich muss das leider genau haben, also = Dann muss ich wohl die Sekunden streichen.
Nicht die Sekunden! Die Millisekunden.
Einfacher Ablauf:

* Speichere in Einer Variablen (TDateTime) wann der "Termin" ist.
* Lasse alle 250 ms deinen Timer Event starten
* Extrahiere Dir aus Now Stunden: Minuten: Sekunden.
* Vergleiche das mit deiner Variable.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Frankfurtoder

Registriert seit: 27. Mär 2008
112 Beiträge
 
RAD-Studio 2010 Pro
 
#32

Re: Komme nicht weiter mit Zeitvergleichen?

  Alt 19. Okt 2009, 14:47
Zitat von AlexII:
Wo kriegt man sie her?
Ist seit D6 dabei und vorher waren solche Funktionen in System meine ich. Du hast leider keine Delphi Version angegeben.
Erik
Alles gut?
  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
 
#33

Re: Komme nicht weiter mit Zeitvergleichen?

  Alt 19. Okt 2009, 14:47
Zitat von AlexII:
Zitat von DeddyH:
Wirf doch einfach mal einen Blick in die Unit DateUtils, da steht viel Nützliches für Deine Zwecke drin.
Wo kriegt man sie her?
also ich geb hier jetzt auf ...
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
Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#34

Re: Komme nicht weiter mit Zeitvergleichen?

  Alt 19. Okt 2009, 14:50
Ich brech echt zusammen... so schwierig ist des doch nu echt nicht. Du wirst wohl kaum einen Wecker auf die Millisekunde genau brauchen!? Lass einen Timer halt jede Sekunde prüfen ob "now" größer-gleich dem Weckzeitpunkt ist, und im Timer dann klingeln an, und Timer aus. Bams. Spätestens mit einer Sekunde und ner Hand voll Millisekunden Verspätung klingelt dein Wecker, und zwar genau ein Mal bis er wieder eingeschaltet wird.

Wenn du es nicht verstehen WILLST, nimm doch bitte einfach erstmal hin, dass Gleichheit bei Fließkommawerten fast immer ein Glücksspiel ist, dass man gerade beim Arbeiten mit Zeitwerten praktisch nicht gewinnen kann. Du wirst in der Praxis nie genau die eine Millisekunde mit deinem Timer treffen, völlig egal wie kurz du das Intervall stellst. Das liegt in der "Natur" der Sache.

Und falls noch nicht ganz klar ist warum Datums-/Zeitwerte Fließkommawerte sind: TDateTime = Double; So ist es definiert.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 4   « Erste     234   


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 00:42 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