Seite 1 von 3
Etwas zu einem Zeitpunkt ausführen? [gelöst]
Verfasst: 10.06.2008 08:31
von gekkonier
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.
Verfasst: 10.06.2008 08:59
von rolaf
Wie wärs mit einem geplanten Task, aus der Windows Systemsteuerung?
Verfasst: 10.06.2008 09:12
von Rokur
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.
Verfasst: 10.06.2008 09:14
von gekkonier
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!
Verfasst: 10.06.2008 09:29
von rolaf
gekkonier hat geschrieben:Also einen Loop bauen, der alle Nase lang die Zeit überpüft?
Edit: Also meint ihr eine Schleife wäre eh passend

Denke ich auch, nur statt Nase würde ich Minuten nehmen.

Evt. reicht auch alle 5 Minuten ein Loop.
Verfasst: 10.06.2008 10:18
von Kaeru Gaman
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...
Verfasst: 10.06.2008 10:27
von Shardik
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.
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:
http://www.purebasic.fr/english/viewtop ... 23&start=6
Verfasst: 10.06.2008 10:58
von rolaf
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.
Und was ist wenn der Rechner zwischendurch mal in Standby geht, ich denke das würde nicht funzen.
Verfasst: 10.06.2008 11:08
von Kaeru Gaman
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.
Verfasst: 10.06.2008 11:15
von rolaf
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.
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.
Wenn ich mich nicht irre.
