Systemdatum nach wunsch umstellen

  • Hallo, hatte Gesternn ein Gespräch mit Xenobiologist.

    Ich möchte Volgendes machen.

    Systemdatum auslesen und speichern
    dann
    Vor Programmstart Systemdatum auf bestimmtes Datum setzen (01.01.2007)
    und wenn Programm wieder zu ist, Gespeichertes Datum zurücksetzten

    Er hats schnell verstanden und das geschickt

    [autoit]


    #include <Date.au3>

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

    $tCur = _Date_Time_GetSystemTime()
    ;[23:49:35] ---X-Mega---: für Zeit einlesen

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

    $tNew = _Date_Time_EncodeSystemTime(11, 12, @YEAR, 10, 11, 12)
    _Date_Time_SetSystemTime(DllStructGetPtr($tNew))
    $tNew = _Date_Time_GetSystemTime()
    ;[23:50:25] ---X-Mega---: zum setzen

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

    _Date_Time_SetSystemTime(DllStructGetPtr($tCur))
    ;[23:50:42] ---X-Mega---: alte wieder herstellen

    [/autoit]

    Nun Funktion ist mir klar, aber Autoit zickt rum

    Kommt diese Meldung

    [autoit]


    Timeset.au3(16,34) : ERROR: _Date_Time_GetSystemTime(): undefined function.
    $tCur = _Date_Time_GetSystemTime()

    [/autoit]


    Muss ich noch eine Datei includen?

    habe Das Hauptprogramm und die Beta auf dem neusten Stand.

    Grüße

  • So sollte es klappen. Habe es allerdings nicht getestet, sonder einfach nur hier eingetippt ;)

    [autoit]

    #include <Date.au3>
    $sCur = @MDAY & ":" & @MON & ":" & @YEAR

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

    $sNew = "01.01.2007"
    Dim $asValues = StringSplit($sNew, ":")

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

    _SetDate($asValues[1], $asValues[2], $asValues[3])

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

    RunWait("C:\Pfad\zu\deinem\Programm.exe")

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

    $asValues = StringSplit($sCur, ":")
    _SetDate($asValues[1], $asValues[2], $asValues[3])

    [/autoit]


    Grüße,
    Buffo

    3 Mal editiert, zuletzt von Buffo (15. November 2007 um 11:49)

  • so nicht schlecht,verstehe es in der theorie,aber es kommt nen error
    bei
    _SetDate($asValues[1], $asValues[2], $asValues[3])

    und zwar

    : ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:

  • Sorry, hatte irgendwie die Zeit im Hinterkopf, aber ist ja Datum. Die Doppelpunkte müssen durch Punkte ersetzt werden:

    [autoit]

    #include <Date.au3>
    $sCur = @MDAY & "." & @MON & "." & @YEAR

    $sNew = "01.01.2007"
    Dim $asValues = StringSplit($sNew, ".")

    _SetDate($asValues[1], $asValues[2], $asValues[3])


    RunWait("C:\Pfad\zu\deinem\Programm.exe")

    $asValues = StringSplit($sCur, ".")
    _SetDate($asValues[1], $asValues[2], $asValues[3])

    [/autoit]