AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Frage zum Zeitstempel mit now

Ein Thema von jupiter4065139 · begonnen am 24. Sep 2013 · letzter Beitrag vom 28. Sep 2013
Antwort Antwort
Seite 1 von 2  1 2   
jupiter4065139

Registriert seit: 22. Mär 2013
23 Beiträge
 
#1

Frage zum Zeitstempel mit now

  Alt 24. Sep 2013, 11:22
Ich hab mir eine Schleife gebastelt, die immer zu einer bestimmten Uhrzeit auslöst, hier z.B. alle 60 sek.

Delphi-Quellcode:
jetzt, aktuell : real;
i : integer;

aktuell:=now;

for i:=1 to 1000 do begin

  jetzt := aktuell + i*60/24/3600;
      if now >= jetzt then
      //Befehl
end;
Was passiert denn jetzt, wenn der nächste Tag neu anfängt? Wie hab ich mir das denn vorzustellen mit now? Ist das so, dass der um 0Uhr anfängt einen Zähler laufen zu lassen, der dann wenn es wieder 0Uhr wird von vorne anfängt? Dann würde die Schleife über Nacht nicht funktionieren, weil die Variable "jetzt" irgendwann größer wird als "now" je werden kann. Oder ist das mit dem Datum gekoppelt, dass das auch über Nacht klappt?

Vielen Dank

Geändert von jupiter4065139 (24. Sep 2013 um 13:18 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Frage zum Zeitstempel mit now

  Alt 24. Sep 2013, 11:26
Im Zeitstempel steckt neben der Uhrzeit auch das Datum.
Markus Kinzler
  Mit Zitat antworten Zitat
jupiter4065139

Registriert seit: 22. Mär 2013
23 Beiträge
 
#3

AW: Frage zum Zeitstempel mit now

  Alt 24. Sep 2013, 11:36
Im Zeitstempel steckt neben der Uhrzeit auch das Datum.
d.h. meine o.g. Schleife funktioniert auch über Nacht?
  Mit Zitat antworten Zitat
Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
646 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Frage zum Zeitstempel mit now

  Alt 24. Sep 2013, 11:49
Im Zeitstempel steckt neben der Uhrzeit auch das Datum.
d.h. meine o.g. Schleife funktioniert auch über Nacht?
wenn nicht gerade murmeltiertag ist, ja

die frage ist aber warum du keinen TTImer nimmst
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
IBExpert and Firebird Power Workshops jederzeit auch als Firmenschulung
  Mit Zitat antworten Zitat
jupiter4065139

Registriert seit: 22. Mär 2013
23 Beiträge
 
#5

AW: Frage zum Zeitstempel mit now

  Alt 24. Sep 2013, 12:22
die Variante mit dem TTimer hatte ich schon. Die Sache ist die, dass ich zwei Programme habe, die zeitlich Parallel laufen. Als ich das mit TTimer gelöst hatte, wurden die Timer über einen langen Zeitraum (24h) asynchron. Da gab es irgendwelche Verzugszeiten bei dem einen Programm, so dass die Timer nicht immer genau nach z.B. 60sek auslösten (keine Ahnung warum). Also wollte ich beide Programme an die Rechnerzeit koppeln, so wie oben beschrieben. (Die Sache mit Messages unter den Programmen versenden ist mir zu kompliziert). Jetzt war nur meine Frage, ob das auch über Mitternacht hinaus klappt.
Wenn es bis morgen geklappt hat is ja alles super.

Vielen Dank
  Mit Zitat antworten Zitat
Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
646 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Frage zum Zeitstempel mit now

  Alt 24. Sep 2013, 13:00
ob das sinnvoll läuft wage ich ncoh zu bezweifeln, weil deine Schleife ja nach 1000 Durchläufen beendet wird und danach nicht mehr ausgeführt wird. Ob innerhalb der 1000 Durchläufe überhaupt das 60 Sekunden Intervall erreicht wurde glaube ich eher gar nicht, weil du darin nur
die variable jetzt neu setzt, das dauert ziemlich sicher weniger als eine tausendstel minute

wie wäre so ein Konstruktion:


Delphi-Quellcode:
var letzte_minute,hh,mm,ss,zz:word;
begin
  decodetime(now, hh,mm,ss,zz);
  letzte_minute:=mm;
  while true do
  begin
    decodetime(now, hh,mm,ss,zz);
    if letzte_minute<>mm
    then
    begin
      letzte_minute:=mm;
      //dein Befehl
    end;
    Application.ProcessMessages;
    sleep(1000);
  end
end;
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
IBExpert and Firebird Power Workshops jederzeit auch als Firmenschulung
  Mit Zitat antworten Zitat
jupiter4065139

Registriert seit: 22. Mär 2013
23 Beiträge
 
#7

AW: Frage zum Zeitstempel mit now

  Alt 24. Sep 2013, 13:22
ob das sinnvoll läuft wage ich ncoh zu bezweifeln, weil deine Schleife ja nach 1000 Durchläufen beendet wird und danach nicht mehr ausgeführt wird.
Sorry ich hab oben ein Tippfehler. Die Schleife muss natürlich bei i:=1 beginnen. Was denkst Du jetzt, könnte das klappen? Ansonsten müsste ich das mal mit dem dekodieren der Zeit probieren, nach Deinem Vorschlag. So wie es bisher läuft funktioniert es, ich mach mir halt nur Gedanken, was passiert bei Tageswechsel.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

AW: Frage zum Zeitstempel mit now

  Alt 24. Sep 2013, 13:31
TDateTime, da steht, wie sich der Wert zusammensetzt.
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
jupiter4065139

Registriert seit: 22. Mär 2013
23 Beiträge
 
#9

AW: Frage zum Zeitstempel mit now

  Alt 24. Sep 2013, 13:41
TDateTime, da steht, wie sich der Wert zusammensetzt.
Danke, so gesehen dürfte es ja keine Probleme geben.
  Mit Zitat antworten Zitat
Benutzerbild von MyRealName
MyRealName

Registriert seit: 19. Okt 2003
Ort: Heilbronn
673 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: Frage zum Zeitstempel mit now

  Alt 24. Sep 2013, 15:52
Windows hat ein scheduling system, da kannst dich um bestimte Uhrzeiten aufrufen lassen...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 10:50 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