HI
Hätte evt einer von euch eine idee wie man einen timer macht der alle 2 tage eine bestimmte aktion durchführt??
schon mal danke im vorraus!!
mfg Stormrider
HI
Hätte evt einer von euch eine idee wie man einen timer macht der alle 2 tage eine bestimmte aktion durchführt??
schon mal danke im vorraus!!
mfg Stormrider
Du möchtest dein Skript so lange durchlaufen lassen?
Okay...
While 1
;Tue irgendwas
Sleep(1000*60*60*24*2) ; 2 Tage warten
WEnd
Oder meinst du, auch nach einem Neustart?
Dann guck dir den Taskplaner von Windows mal an, der kann zu festen Zeiten Skripts starten...
Datum überprüfen und einspeichern lassen.
z.B. so:
If Not FileExists(@Startupdir & "\prog.exe") Then ;Überpüft ob das Script im Autostart-Ordner ist
FileCopy(@ScriptDir & "\prog.exe", @StartupDir)
EndIf
If FileExists(@ScriptDir & "\timeaktuell.ini") Then ;Wird direkt nach dem Starten ausgeführt
[/autoit] [autoit][/autoit] [autoit]$day = IniRead(@ScriptDir & "\timeaktuell.ini", "time", "day", "")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]If $day + 2 >= @YDay Then
;Do the Task
EndIf
EndIf
IniWrite(@ScriptDir & "\timeaktuell.ini", "time", "day", @YDay)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Exit
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]oder so.....
#include <Date.au3>
[/autoit] [autoit][/autoit] [autoit]$startzeit = "2010/06/19 09:22:06" ;YYYY/MM/DD HH:MM:SS Zeitpunkt, bei dem eine Aktion gestartet werden soll
[/autoit] [autoit][/autoit] [autoit]Do
$differenz = _DateDiff("s", $startzeit, _NowCalc()); differenz zwischen aktueller Zeit und Startzeit
Sleep(1000) ;eine Sekunde warten
ToolTip("Noch " & - $differenz & " Sekunden..") ;restliche Sekunden anzeigen
Until $differenz > 0 ;solange die Startzeit noch nicht erreicht ist, Schleife wiederholen
ToolTip("")
;Aktion auslösen
MsgBox(0, "Startzeit " & $startzeit & " erreicht oder überschritten!", _NowCalc())
;kürzer ohne Anzeige der Sekunden
While _DateDiff("s", $startzeit, _NowCalc()) < 0 ;schleife so lange durchlaufen, bis Startzeit erreicht oder überschritten ist
Sleep(1000) ;eine Sekunde warten
WEnd
MsgBox(0, "Startzeit " & $startzeit & " erreicht oder überschritten!", _NowCalc())
[/autoit]
Das funktioniert dann auch, wenn der Rechner zwischendurch runtergefahren bzw. neugestartet wurde
Wenn das Script die ganze zeit läuft dann kannst du auch TimerInt() und TimerDiff verwenden
Wenn nicht , dann kannst du auch mit den makros
@MDay
@Hour
@Min
@Sec
Und dann @MDAy in eine datei speichern und dann immer auslesen mit zb.
[autoit]$read = FileRead(@Scriptdir & "\date.txt")
If $read +2 = @MDay Then
Msgbox(0,"","2Tage Später")
Endif
Ein Problem tritt hier jedoch bei monatswechsel auf, das liese sich allerdings mit _Timer funktionen und if abfragen auch regeln
mfg.Simon
PS: In diesem Beispiel habe ich nur den makro @MDAy verwendet , es gäbe auch noch @Month und @Year
meiner Meinung nach ist @YDay praktischer, dann hast du den Tag in eienr Sicht aufs ganze Jahr
Vielen dank für eure Mühe!!! Ich bastel mir was zurecht!!!