Systemzeit gesteuerter Befehl

  • Hi an alle,

    mich würde intressieren ob es eine möglichkeit gibt einen Befehl innerhalb eines Scripts um eine bestimmte Uhrzeit zu senden?
    Also von der Systemzeit abhängig zu machen...

    lg olliger

  • So beispielsweise:

    [autoit]

    ;Uhrzeit angeben zu der der Code ausgeführt werden soll (Hier 20:18)
    $Stunde = 20
    $Minute = 18

    [/autoit][autoit][/autoit][autoit]

    While 1
    If @HOUR = $Stunde And @MIN = $Minute Then

    ;hier deinen Code eintragen

    Exit
    EndIf

    Sleep(400)
    WEnd

    [/autoit]

    Kann man natürlich noch auf Datum und auf Sekunden erweitern.

  • hi nochmal,

    könnt iur mir eventuell noch sagen wie ich es hinbekomme damit um eine andere uhrzeit der befehl, bzw. ein anderer befehl gesendet wird?

    lg olliger

  • [autoit]

    ;Uhrzeit angeben zu der der Code ausgeführt werden soll (Hier 20:18)
    $Stunde = 20
    $Minute = 18
    $Stunde2 = 13
    $Minute2 = 50

    While 1
    If @HOUR = $Stunde And @MIN = $Minute Then

    ;hier deinen Code eintragen

    Exit
    EndIf
    If @HOUR = $Stunde2 And @MIN = $Minute2 Then

    ;hier deinen Code eintragen

    Exit
    EndIf
    Sleep(400)
    WEnd

    [/autoit]

    Einmal editiert, zuletzt von leviathan (15. Juli 2007 um 11:56)

    • Offizieller Beitrag

    Hallo!

    Ich habe mal schnell eine Funktion für dich gebaut mit der du belibig viele Termine erstellen kannst.. Viel spaß damit^^

    Spoiler anzeigen
    [autoit]

    Global $Termine[1][3]

    [/autoit] [autoit][/autoit] [autoit]

    AdlibEnable("_CheckTermin",1000);Checkt alle 1000ms (jede sekunde) nach terminen

    [/autoit] [autoit][/autoit] [autoit]

    _AddTermin("12:30", "Finc");Fügt ein Termin ein um 12:30. wenn es soweit ist wird die Funktion "Finc" aufgerufen
    _AddTermin("12:40", "Finc2");Fügt ein Termin ein um 12:40. wenn es soweit ist wird die Funktion "Finc2" aufgerufen

    [/autoit] [autoit][/autoit] [autoit]

    While 1;Damit das skript nicht einfach beendet
    Sleep(500)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    ;By GtaSpider
    ;$sTime muss so aussehen: HH:MM (z.B. 20:18)
    Func _AddTermin($sTime, $fFunction);Die funktion wo Termine hinzugefügt werden
    If Not StringRegExp($sTime, "\d{1,2}[:]\d{2,2}") Then Return SetError(MsgBox(48, "", "Falsche Zeit" & $sTime & " ist keine Korrekte Uhrzeit!" & @CRLF & "bsp.: 20:18"), 0, 0)
    Local $UBound = UBound($Termine, 1)
    ReDim $Termine[$UBound + 1][3]
    $Termine[$UBound][0] = $sTime
    $Termine[$UBound][1] = $fFunction
    $Termine[$UBound][2] = True
    Return 1
    EndFunc ;==>_AddTermin

    [/autoit] [autoit][/autoit] [autoit]

    ;By GtaSpider
    Func _CheckTermin();Hier wird nach Terminen geguckt
    For $i = 1 To UBound($Termine, 1) - 1
    If $Termine[$i][0] = @HOUR & ":" & @MIN And $Termine[$i][2] Then
    Call($Termine[$i][1])
    $Termine[$i][2] = False
    EndIf
    Next
    EndFunc ;==>_CheckTermin

    [/autoit] [autoit][/autoit] [autoit]

    Func Finc();Hier die funktion die aufgerufen wird wenn es 12:30 ist
    MsgBox(0,"","Es ist 12:30")
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func Finc2();Hier die funktion die aufgerufen wird wenn es 12:30 ist
    MsgBox(0,"","Es ist 12:40")
    EndFunc

    [/autoit]

    Mfg Spider

    • Offizieller Beitrag

    Hallo

    Impossilbe is nothing ;)

    Spoiler anzeigen
    [autoit]

    Global $Termine[1][3]

    AdlibEnable("_CheckTermin",300);Checkt alle 1000ms (jede sekunde) nach terminen

    _AddTermin("21:30:50", "Finc");Fügt ein Termin ein um 12:30:50. wenn es soweit ist wird die Funktion "Finc" aufgerufen
    _AddTermin("21:40:25", "Finc2");Fügt ein Termin ein um 12:40:25. wenn es soweit ist wird die Funktion "Finc2" aufgerufen

    While 1;Damit das skript nicht einfach beendet
    Sleep(500)
    WEnd

    ;By GtaSpider
    ;$sTime muss so aussehen: HH:MM (z.B. 20:18:05)
    Func _AddTermin($sTime, $fFunction);Die funktion wo Termine hinzugefügt werden
    If Not StringRegExp($sTime, "\d{1,2}[:]\d{2,2}[:]\d{2,2}") Then Return SetError(MsgBox(48, "", "Falsche Zeit" & $sTime & " ist keine Korrekte Uhrzeit!" & @CRLF & "bsp.: 20:18"), 0, 0)
    Local $UBound = UBound($Termine, 1)
    ReDim $Termine[$UBound + 1][3]
    $Termine[$UBound][0] = $sTime
    $Termine[$UBound][1] = $fFunction
    $Termine[$UBound][2] = True
    Return 1
    EndFunc ;==>_AddTermin

    ;By GtaSpider
    Func _CheckTermin();Hier wird nach Terminen geguckt
    For $i = 1 To UBound($Termine, 1) - 1
    If $Termine[$i][0] = @HOUR & ":" & @MIN &":"& @SEC And $Termine[$i][2] Then
    Call($Termine[$i][1])
    $Termine[$i][2] = False
    EndIf
    Next
    EndFunc ;==>_CheckTermin

    Func Finc();Hier die funktion die aufgerufen wird wenn es 12:30 ist
    MsgBox(0,"","Es ist 21:30:50")
    EndFunc

    Func Finc2();Hier die funktion die aufgerufen wird wenn es 12:30 ist
    MsgBox(0,"","Es ist 21:40:25")
    EndFunc

    [/autoit]

    Mfg Spider