Etwas zu einem Zeitpunkt ausführen? [gelöst]
Etwas zu einem Zeitpunkt ausführen? [gelöst]
Prinzipiell hätte man ja die Möglichkeit mittels Date() zu prüfen, ob die Zeit passt um erst dann etwas auszuführen. Mit meinem derzeitigen Wissen über PB müsste ich in einer Schleife dauernd prüfen, "obs schon so weit ist"...
Gibt es da auch eine andere Möglichkeit, also einen Befehl oder eine Technik mit der ich sagen kann, dass z.B. um 12:15, 12:30 und um 12:45 etwas ausführen kann? Ich könnte natürlich die Zeit die noch bis dahin bleibt ausrechnen und dann ein Delay setzten.
Gibt es da auch eine andere Möglichkeit, also einen Befehl oder eine Technik mit der ich sagen kann, dass z.B. um 12:15, 12:30 und um 12:45 etwas ausführen kann? Ich könnte natürlich die Zeit die noch bis dahin bleibt ausrechnen und dann ein Delay setzten.
Zuletzt geändert von gekkonier am 10.06.2008 09:16, insgesamt 1-mal geändert.
-
- Beiträge: 167
- Registriert: 29.12.2005 09:58
- Computerausstattung: Intel Core2 Quad (4x2,4 GHz), 4096 MB RAM, GForce 8800GTX 786 MB
Windows XP 32 Bit, PureBasic 4.40 (x86)
Aus deinem Programm raus:
Ich würds mit einer Schleife machen, die alle x Sekunden oder Minuten (je nachdem, wie genau du das haben willst) das aktuelle Datum und die Uhrzeit prüft. Wichtig ist, das du hierfür >= verwendest und nicht nur >, falls du den Zeitpunkt nicht genau triffst.
Extern vom Betriebssystem aus:
Ansonsten gibts unter Linux z.B. den crontab und unter Windows die "Geplanten Tasks" in der Systemsteuerung (evtl. über API steuern) um Programme zu einem bestimmten Zeitpunkt zu starten.
Ich würds mit einer Schleife machen, die alle x Sekunden oder Minuten (je nachdem, wie genau du das haben willst) das aktuelle Datum und die Uhrzeit prüft. Wichtig ist, das du hierfür >= verwendest und nicht nur >, falls du den Zeitpunkt nicht genau triffst.
Extern vom Betriebssystem aus:
Ansonsten gibts unter Linux z.B. den crontab und unter Windows die "Geplanten Tasks" in der Systemsteuerung (evtl. über API steuern) um Programme zu einem bestimmten Zeitpunkt zu starten.
Das hab ich mir schon angekuckt, allerdings kann ich den nur Daily, Weekly, Monthly und so weiter einstellen, da geht nix mit kleineren Schritten.
Deshalb wollte ich mir quasi ein "Cron" nachbauen, das in der Zeiteinstellung wesentlich flexibler ist. Meine Frage diesbezüglich wäre halt, ob es Boardmittel in PB gibt, mit denen man zeitgesteuerte Abläufe anders als mit einem Loop bauen kann. Oder ist es eh der richtige Weg das so zu tun?
Also einen Loop bauen, der alle Nase lang die Zeit überpüft?
Edit: Also meint ihr eine Schleife wäre eh passend
Merci, somit erledigt!
Deshalb wollte ich mir quasi ein "Cron" nachbauen, das in der Zeiteinstellung wesentlich flexibler ist. Meine Frage diesbezüglich wäre halt, ob es Boardmittel in PB gibt, mit denen man zeitgesteuerte Abläufe anders als mit einem Loop bauen kann. Oder ist es eh der richtige Weg das so zu tun?
Also einen Loop bauen, der alle Nase lang die Zeit überpüft?
Edit: Also meint ihr eine Schleife wäre eh passend

Merci, somit erledigt!
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
ich würde bei Programmstart mal das komplette DATE prüfen,
aber daraus kann man dann ableiten, wann man überhaupt das nächste mal prüfen müßte.
welche oberfläche hat denn dein Progi überhaupt?
ne normale event-schleife von nem Fenster?
...oder könntest du es auch in ein Delay(2147483647) hängen...
auf jeden fall kannst du die prüfung sehr lange aussetzen,
wenn du bei Programmstart ermittelst,
dass die Alarmzeit noch drei Monate entfernt ist...
aber daraus kann man dann ableiten, wann man überhaupt das nächste mal prüfen müßte.
welche oberfläche hat denn dein Progi überhaupt?
ne normale event-schleife von nem Fenster?
...oder könntest du es auch in ein Delay(2147483647) hängen...
auf jeden fall kannst du die prüfung sehr lange aussetzen,
wenn du bei Programmstart ermittelst,
dass die Alarmzeit noch drei Monate entfernt ist...
Zuletzt geändert von Kaeru Gaman am 10.06.2008 10:29, insgesamt 1-mal geändert.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
Sparkie hat im englischen Forum gezeigt, wie man mit RunProgram() über den AT-Befehl z.B. den Rechner (Calculator) startet. Die Startzeit kann man dabei minuten- oder sekundengenau angeben. Weitere Einstellmöglichkeiten erhält man durch Eingabe von "Help AT" in einem Konsolenfenster. Hier ist der Link zu Sparkies Beispiel:gekkonier hat geschrieben: Das hab ich mir schon angekuckt, allerdings kann ich den nur Daily, Weekly, Monthly und so weiter einstellen, da geht nix mit kleineren Schritten.
http://www.purebasic.fr/english/viewtop ... 23&start=6
Und was ist wenn der Rechner zwischendurch mal in Standby geht, ich denke das würde nicht funzen.Kaeru Gaman hat geschrieben:ich würde bei Programmstart mal das komplette DATE prüfen,
aber daraus kann man dann ableiten, wann man überhaupt das nächste mal prüfen müßte.
:::: WIN 10 :: PB 5.73 :: (x64) ::::
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
wieso... der standby wird doch auch registriert.
muss ich also auch drauf reagieren können.
ich postuliere einfach mal:
auf einem System, dass einen Standby kann, gibt es auch zwei Systemmessages,
die Auslösen und Beenden dieses Zustandes anzeigen.
dadurch muss man bei meinem Ansatz halt eine zusätzliche Möglichkeit einbaun,
wenn man das überhaupt braucht/will,
aber grundsätzlich ist das kein Argument dagegen.
ich will immer noch wissen, worauf er überhaupt hinaus will.
die Hintergrundinfos sind zu dürftig, um einen sinnvollen Ansatz vorzuschlagen.
muss ich also auch drauf reagieren können.
ich postuliere einfach mal:
auf einem System, dass einen Standby kann, gibt es auch zwei Systemmessages,
die Auslösen und Beenden dieses Zustandes anzeigen.
dadurch muss man bei meinem Ansatz halt eine zusätzliche Möglichkeit einbaun,
wenn man das überhaupt braucht/will,
aber grundsätzlich ist das kein Argument dagegen.
ich will immer noch wissen, worauf er überhaupt hinaus will.
die Hintergrundinfos sind zu dürftig, um einen sinnvollen Ansatz vorzuschlagen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
Nuja, wenn ich das richtig verstanden habe, will er etwas fexibleres als den Taskmanager, der eine Aktion auch mehrfach zu verschiedenen Uhrzeiten am Tag ausführen kann. Wobei man auch das mit dem Taskmanager kann, nämlich einfach durch Anlegen mehrerer Task für einen Tag.Kaeru Gaman hat geschrieben:ich will immer noch wissen, worauf er überhaupt hinaus will.
die Hintergrundinfos sind zu dürftig, um einen sinnvollen Ansatz vorzuschlagen.

Wenn ich mich nicht irre.

:::: WIN 10 :: PB 5.73 :: (x64) ::::