Guten Morgen,
kann mir bitte mal einer sagen, warum meine Funktion nicht runterzählt ?
[autoit]Func _KCLCountDown(); Countdown der Onlinezeit
Local $var_onlinezeitcounter
ConsoleWrite("1. Abschnitt: Onlinezeit: " & $var_onlinezeit & " - Onlinecounter: " & $var_onlinezeitcounter & @CRLF)
If $var_onlinezeitcounter = "" Then $var_onlinezeitcounter = $var_onlinezeit
ConsoleWrite("2. Abschnitt: Onlinezeit: " & $var_onlinezeit & " - Onlinecounter: " & $var_onlinezeitcounter & @CRLF)
$var_onlinezeitcounter = $var_onlinezeitcounter - 1; Counter zählt 1 Rückwärts
ConsoleWrite("3. Abschnitt: Onlinezeit: " & $var_onlinezeit & " - Onlinecounter: " & $var_onlinezeitcounter & @CRLF)
GUICtrlSetData($GUI_Group_Info_Text, "Hallo " & $var_Benutzername & ", heute ist " & $var_Wochentag & ", es ist jetzt " & $var_AktuelleZeit & " Uhr, und Du kannst heute noch " & $var_onlinezeitcounter & " Minuten am Computer verbringen."); Beschreibungstext
GUISetState(); GUI wird aktualisiert
If $var_onlinezeitcounter = -1 Then
$var_onlinezeitcounter = 00
GUICtrlSetData($GUI_Group_Info_Text, "Hallo " & $var_Benutzername & ", heute ist " & $var_Wochentag & " und es ist jetzt " & $var_AktuelleZeit & " Uhr, Du liegst als außerhalb Deiner Computerzeiten"); Beschreibungstext
GUICtrlSetBkColor($GUI_Group_Info_Text, 0x7FF0000); Hintergrundfarbe rot, d.h. außerhalb der Onlinezeiten
GUISetState(); GUI wird aktualisiert
EndIf
EndFunc ;==>_KCLCountDown
Die Globale Variable $var_onlinezeit wird in einer anderen Funktion befühlt, wir gehen hier mal vom Wert 30 Minuten aus. Nach einer Minute ist dann der Wert der Variablen $var_onlinezeitcounter auf 29, was OK ist.
Ab dem 2. Durchlauf bleibt der Wert aber auf 29, obwohl ich doch in Zeile 6
$var_onlinezeitcounter = $var_onlinezeitcounter - 1; Counter zählt 1 Rückwärts
[/autoit]stehen habe. Es sieht für mich aus, als ob Autoit hier den Wert der Variablen $var_onlinezeitcounter löscht.
Was mache ich hier falsch ?
Gruss Hassan
P.S. Die Funktion wird mit AdlibRegister jede Minute aufgerufen