For-Schleife jeden Tag zwischen zwei Uhrzeiten fortsetzen

  • Hallo liebe, geschätzte Community,

    nun habe ich wirklich viele Threads in diesem Forum gesehen die ähnliche Themen ansprechen, leider jedoch nicht diesen speziellen Fall.
    Ich hoffe mir kann jemand helfen - der Sachverhalt kommt mir nicht sonderlich komplex vor, nur irgendwie fällt der Groschen bei mir nicht.

    Mein Programm liest und schreibt Excel-Einträge zwischen einer vorher definierten Range (z.B.: alle Zeilen zwischen Zeile 87 und 405).
    Dass löse ich mit einer For-Schleife - zuvor öffne ich Text-Input boxen um die iMin und iMAX-Variable einzutragen.

    Code
    For $iCount = $iMin To $iMAX
       functioncall($iCount)
    Exit

    Jetzt kann ich natürlich jeden Morgen um 08.00 Uhr diese Funktion starten und Abends gegen 22.00 Uhr wieder deaktivieren.
    Am liebsten würde ich aber den Rechner tagelang laufen lassen ohne damit interagieren zu müssen.

    Ich habe natürlich auch schon etwas probiert:

    Code
    Func Timecheck($fromtime,$totime)
       If Number(@HOUR)> Number($fromtime) And Number(@HOUR)< Number($totime) Then
    
       functioncall($iCount)
    Else
    EndFunc

    Aber da sehe ich den Fehler sofort: die For-Schleife ist dort garnicht drin. Wenn ich dann aber die gesamte For-Schleife in die Timecheck-Funktion kopiere,
    bin ich leider in der For-Schleife gefangen und komme zu einer bestimmten Uhrzeit (22.00 Uhr) nicht mehr aus der For-Schleife raus - zurück in die Timecheck-Funktion.


    Meine konkrete vereinfachte Frage:

    Kann ich eine hochzählende For-Schleife Nachts "pausieren" und Tagsüber "weiterzählen" lassen?

    Über eine Antwort würde ich mich sehr freuen!
    Liebe Grüße


    P.S.: Ich habe auch mit AdlibRegister versucht eine Lösung zu finden, finde aber nicht den Kniff der funktioniert.
    Ich dachte, man könnte jede Minute 1x mal Uhrzeit prüfen und diesen Prüf-Prozess dann auch in der For-Schleife nochmals einbauen...
    ...arggg ich komme nicht weiter.

    Ah, und hier meine Specs:
    Win10

    Autoit 3.1 - 32-bit 

    Version 4.4.6

    Einmal editiert, zuletzt von nowomonq (2. Dezember 2021 um 01:05)

  • Du könntest den Wert in einer Variable oder Datei zwischenspeichern, aus der Schleife springen und beim nächsten mal diesen Wert wieder auslesen und hochzählen.

    Aber warum lässt du das Script nicht einfach über den Aufgabenplaner zu den entsprechenden Zeiten starten? (Das Beenden kannst du ja selber prüfen, wenn es 22:00 ist - Programm beenden) Und wenn du den Wert beim nächsten Programm start weiter zählen willst, musst du ihn in einer Datei speichern (z.B. ini) die du beim Programmstart natürlich entsprechend auslesen müsstest.