AGB  ·  Datenschutz  ·  Impressum  







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

Probs mit Datum- / Zeitfunktionen

Ein Thema von TERWI · begonnen am 15. Sep 2009 · letzter Beitrag vom 17. Sep 2009
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von TERWI
TERWI

Registriert seit: 29. Mär 2008
Ort: D-49626
381 Beiträge
 
Delphi 11 Alexandria
 
#1

Probs mit Datum- / Zeitfunktionen

  Alt 15. Sep 2009, 18:35
Ich hab mir einen kleinen Scheduler für DVB-Aufnahmen gebastelt.
Darin wird z.B. mit gespeicherten Datum-/Zeitangaben in einem 1-Minuten-Timer mit Now verglichen und ne Aufnahme bei bestimmten Kriterien gestartet.
Funktioniert so weit einwandfrei, aaaber...

Gelegentlich starten Aufnahmen viel zu spät oder gar nicht, bzw. werden zu früh abgebrochen.
Ich hab mir dann mal die Werte von NOW mitloggen lassen und musste feststellen, das die Zeit meistens - aber NICHT IMMER stimmt !
Rechner rebootet - alles wieder klar.
Bis zur nächsten 'Abweichung' irgendwann...

Woher holt sich Delphi die Zeit ? Von WinDoof oder direkt aus dem BIOS ?
Ich bin mir eigentlich recht sicher, das ich auf der Progger-Mühle nichts weiter am laufen habe, was auch nur ansatzweise die Zeit irgendwie verpfuscht.

Das verrückte dabei ist, das die Uhr richtig geht !

Hat jemand so was schon mal gehabt und oder ne Idee ?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.081 Beiträge
 
Delphi 12 Athens
 
#2

Re: Probs mit Datum- / Zeitfunktionen

  Alt 15. Sep 2009, 18:43
Wie hast du festgestellt, daß Now nicht stimmen kann?

bzw. welche Zeit-Quelle hast du als Vergleich genutzt?
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Probs mit Datum- / Zeitfunktionen

  Alt 15. Sep 2009, 19:00
Vielleicht ist now zu genau?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von TERWI
TERWI

Registriert seit: 29. Mär 2008
Ort: D-49626
381 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Probs mit Datum- / Zeitfunktionen

  Alt 15. Sep 2009, 19:03
In dem ich wie gesagt über die merkwürdigen Start- und Stoppzeiten gestolpert bin.
Da hab ich mir mal in einem Fenster meines eigenen Loggers die Zeit in der Timer-Func hab mitlaufen lassen.
Referenz: meine Armbanduhr 8)

Ist auch nicht sonderlich schwierig mit dem Vergleich, denn es geht um wenige Minuten bis zu Stunden !

Man muss dazu sagen:
Wenn ich kurzzeitversuche mache - 4-5 AUfnahmen in einer Stunde - passiert nix, alles sauber.
Und Now ist dann genau
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#5

Re: Probs mit Datum- / Zeitfunktionen

  Alt 15. Sep 2009, 19:58
Ich zitiere mal:
Delphi-Quellcode:
function Now: TDateTime;
var
  SystemTime: TSystemTime;
begin
  GetLocalTime(SystemTime);
  with SystemTime do
    Result := EncodeDate(wYear, wMonth, wDay) +
      EncodeTime(wHour, wMinute, wSecond, wMilliseconds);
end;
Es wäre also ein Bug in der Funktion GetLocalTime.

Meinst du nicht, es wäre in den 9 Jahren aufgefallen, wenn diese Funktion Murks zurückliefert?

Irgendwas machst du also falsch
  Mit Zitat antworten Zitat
Benutzerbild von TERWI
TERWI

Registriert seit: 29. Mär 2008
Ort: D-49626
381 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Probs mit Datum- / Zeitfunktionen

  Alt 15. Sep 2009, 20:54
Sicher ist das kein Bug - ob wohl ich den Spruch in meinem Leben schon sooo oft gehört habe:
Terwi, du bist der erste Mensch auf diesem Planeten, der dies hat / kann / will / beanstandet / etc. ping pong ....

Es passiert ja auch nicht immer !
Logo gemäß Murphy schon gar nicht, wenn ich vor der Maschine sitze und mir den Logger ansehe.
Erst wenn ich z.B. über Nacht was aufnehme, sehe ich am nächsten Tag unvollständige Aufnahmen und die 'Zeit' ist Ihrerselbst vorausgeeilt.

Aber halt nicht IMMER ! Ich krieg da keinen Reim drauf.
Das geht mal von Minuten bis zu Stunden.

Wo kommt den GetLocalTime(SystemTime); her ? Bios ? WinDoof-eigener Timer ?
Wer / was kann so etwas verstellen ?

Der Code sollte ja wohl in Ordnung sein, wenn er denn in Kurzzeit-Aufnahmen oder auch gelegentlich läuft !?
Ich prüfe auch nicht explizit auf =, sondern mit Start- oder Stopzeit <= NOW. Und das 'nur' im Sekundentakt.
Da kann eigentlich nix unterschlagen werden oder zeitkritisch sein.

Ich bin da echt planlos...
Deswegen noch mal die Frage: Wer oder was kann die Zeit stören ?
Auf dieser Kiste sind keine 'experimentellen' Installationen - das ist ein Arbeitsgerät !
  Mit Zitat antworten Zitat
HiWieGehts

Registriert seit: 19. Aug 2005
101 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Probs mit Datum- / Zeitfunktionen

  Alt 15. Sep 2009, 21:04
Vielleichtist ist nicht now ungenau, sondern die Abfrage von now. Anders ausgedrückt, unter Umständen hängt das Programm und macht minuten- oder stundenlang "nichts" bis es weiterarbeitet.
  Mit Zitat antworten Zitat
Benutzerbild von TERWI
TERWI

Registriert seit: 29. Mär 2008
Ort: D-49626
381 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Probs mit Datum- / Zeitfunktionen

  Alt 15. Sep 2009, 21:23
Definitv NEIN.

Wie gesagt prüfe ich Zeiten (Datum und Zeit) NICHT auf =, sondern auf <= (kleiner gleich).
Wenn also eine Start- oder Stoppzeit konkret von NOW abweicht, wird reagiert.
Jede Prüfung kommt wie gesagt aus demTimer-Event im Sekunden-Takt - nix mit (milli) Sekunden.
Auch in den daraus aufgerufenen Sub's kann es keine Hänger geben.
Das habe ich seit Tagen / Wochen zig-mal kontrolliert.

Es funktioniert ja auch, wenn ich z.B. div. Aufnahmen in kurzer Abfolge mache !
Es funktioniert ja auch in sagen wir mal 80-90% aller 'Langzeit-Versuche' über Tage !

Es funktioniert NUR MANCHMAL nicht ! ! !
... und soooo kompliziert ist der Code auch nicht, das ich das nicht mehr blicke.
Irgendwas 'tritt' den Timer vorran - ich weiß aber nicht was.

Ich progge übrigens schon seit DOS-Zeiten mit Pascal / Delphi.
So ein Dummer bin ich nicht ...
... aber irgendwann holt's einen immer wieder ein.
  Mit Zitat antworten Zitat
HiWieGehts

Registriert seit: 19. Aug 2005
101 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: Probs mit Datum- / Zeitfunktionen

  Alt 15. Sep 2009, 22:44
Unabhängig davon, dass ich schon seit CBM-Zeiten programmiere ein anderer Vorschlag: Schreib ein kleines Programm, das nur jede Minute (timergesteuert) now in ein Textfile schreibt. Wenn deine Steuerung wieder versagt, schau ob auch im Textfile falsche Zeiten stehen bzw. die Einträge unregelmässig sind.
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#10

Re: Probs mit Datum- / Zeitfunktionen

  Alt 16. Sep 2009, 00:59
Zitat von TERWI:
Ich progge übrigens schon seit DOS-Zeiten mit Pascal / Delphi.
Das schützt dich nicht vor dem "Tomaten auf den Augen"-Effekt.
Selbst die besten Programmierer haben manchmal so eine Art Brett vor dem Kopf.
Immer der gleiche Ablauf:
Man hat ein Problem und findet einfach den Fehler nicht.
Ein Kollege schaut kurz in den Sourcecode und sagt dann "Was machst du denn da? Du überschreibst doch das, was du oben ausgerechnet hast...."
Klatsch - die Hand knallt auf die Stirn und es rutscht ein "Mann bin ich blöd" raus (was der Kollege eifrig bestätigt oder dementiert
fork me on Github
  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 04:52 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