Hallo @ all
so leider hab ich mein Problem noch nicht gelöst......
wie kann ich in einer while schleife, in einer while schleife den OK button bzw alle buttons ausführen .......
die buttons sind nur funktionstüchtig in der allerersten while Schleife.
kann jemand mir helfen ? ich hab einen Knoten .....
Spoiler anzeigen
#include <Date.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global $BeginnWartungsZeit = "23:00:00"
Global $SLEP = 20 ;Nicht sichtbarkeit des fensters
$SLEP1 = $SLEP * 1000
Global $sight = 40 ;Sichtbarkeit des fensters
Global $sighti = $sight
$sight1 = $sight * 1000
Global $NowTimeDiff = _DateDiff('s', _NowCalc(), @YEAR & "/" & @MON & "/" & @MDAY & " " & $BeginnWartungsZeit)
Global $iii = 0, $ii = 0, $i = 0, $wdh = Round($NowTimeDiff / ($SLEP + $sight), 0)
If $wdh <= 0 Then Exit
;MsgBox(0, "", $wdh)
Global $calctime = _TimeDiff($BeginnWartungsZeit)
_wartungs_warnung()
Exit
Func _wartungs_warnung()
#Region ### START Koda GUI section ### Form=c:\users\tom.uvw\documents\autoit\wartungs_warnung.kxf
Local $Wartungs_Warnung = GUICreate("Warnung", 250, 164, -1, -1, Default, -1)
Local $Abmelden = GUICtrlCreateButton("Jetzt Abmelden", 16, 128, 89, 25, $WS_GROUP)
Local $WarnOK = GUICtrlCreateButton("&OK", 139, 128, 89, 25, $WS_GROUP)
Global $zeit = GUICtrlCreateLabel("Es ist " & _NowTime(5) & " Uhr,", 15, 37, 155, 17)
Global $calctim = GUICtrlCreateLabel("Sie können noch ca. " & $calctime & " arbeiten", 15, 59, 226, 17)
Local $VD = GUICtrlCreateLabel("Vielen Dank für Ihr Verständniss", 23, 97, 195, 17)
GUICtrlSetFont($VD, 8, 800, 0, "MS Sans Serif")
Local $SGDH = GUICtrlCreateLabel("Sehr geehrte/r Frau/Herr & $DN &", 15, 8, 228, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
_Zaehler($zeit, $calctim)
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Abmelden
MsgBox(0, "logoff", "logofff")
Case $WarnOK
;~ GUISetState(@SW_HIDE, $Wartungs_Warnung)
While $iii <= ($wdh - $SLEP)
$iii = $iii + 1
GUISetState(@SW_SHOW, $Wartungs_Warnung)
MsgBox(0, "", "pause show " & $wdh & " " & $iii, 2)
Local $a = 0
While $a <= $sight ;Zeit fü��r die sicht des fensters
$a = $a + 1
_Zaehler($zeit, $calctim)
;~ MsgBox(0, "", "pause show " & $sight & " " & $a, 1)
Sleep(900);Zeit fü��r die sicht des fensters
If $a = $sight Then ExitLoop
WEnd
GUISetState(@SW_HIDE, $Wartungs_Warnung)
ExitLoop
WEnd
While $iii <= ($wdh - $sight)
$iii = $iii + 1
GUISetState(@SW_HIDE, $Wartungs_Warnung)
MsgBox(0, "", "pause hide " & $wdh & " " & $iii, 2)
Local $a = 0
While $a <= $SLEP ;Zeit fü��r die sicht des fensters
$a = $a + 1
_Zaehler($zeit, $calctim)
;~ MsgBox(0, "", "pause hide " & $SLEP & " " & $a, 1)
Sleep(900);Zeit fü��r die sicht des fensters
If $a = $SLEP Then ExitLoop
WEnd
;~ Sleep($SLEP1);Zeit fü��r die nichtsicht des fensters
GUISetState(@SW_SHOW, $Wartungs_Warnung)
_Zaehler($zeit, $calctim)
ExitLoop
WEnd
;~ ExitLoop
If $iii >= $wdh Then
MsgBox(0, "logoff", "logofff")
ExitLoop
EndIf
EndSwitch
Sleep(30)
WEnd
EndFunc ;==>_wartungs_warnung
[/autoit] [autoit][/autoit] [autoit]Func _TimeDiff($BeginnWartungsZeit)
Local $iDateCalc
Local $timevar
If _NowTime(5) <= $BeginnWartungsZeit Then
Select
Case _DateDiff('h', _NowCalc(), _NowCalcDate() & " " & $BeginnWartungsZeit) < 2
$iDateCalc = _DateDiff('h', _NowCalc(), _NowCalcDate() & " " & $BeginnWartungsZeit)
$timevar = "Stunde"
Case _DateDiff('h', _NowCalc(), _NowCalcDate() & " " & $BeginnWartungsZeit) > 0
$iDateCalc = _DateDiff('h', _NowCalc(), _NowCalcDate() & " " & $BeginnWartungsZeit)
$timevar = "Stunden"
Case _DateDiff('n', _NowCalc(), _NowCalcDate() & " " & $BeginnWartungsZeit) < 2
$iDateCalc = _DateDiff('n', _NowCalc(), _NowCalcDate() & " " & $BeginnWartungsZeit)
$timevar = "Minute"
Case _DateDiff('n', _NowCalc(), _NowCalcDate() & " " & $BeginnWartungsZeit) > 0
$iDateCalc = _DateDiff('n', _NowCalc(), _NowCalcDate() & " " & $BeginnWartungsZeit)
$timevar = "Minuten"
Case _DateDiff('s', _NowCalc(), _NowCalcDate() & " " & $BeginnWartungsZeit) > 0
$iDateCalc = _DateDiff('s', _NowCalc(), _NowCalcDate() & " " & $BeginnWartungsZeit)
$timevar = "Sekunden"
Case Else
MsgBox(4096, "", " Die Messzeit ist weniger als eine Sekunde", 5)
EndSelect
Local $vornach = "unterschritten"
Else
Select
Case _DateDiff('h', _NowCalcDate() & " " & $BeginnWartungsZeit, _NowCalc()) < 2
$iDateCalc = _DateDiff('h', _NowCalcDate() & " " & $BeginnWartungsZeit, _NowCalc())
$timevar = "Stunde"
Case _DateDiff('h', _NowCalcDate() & " " & $BeginnWartungsZeit, _NowCalc()) > 0
$iDateCalc = _DateDiff('h', _NowCalcDate() & " " & $BeginnWartungsZeit, _NowCalc())
$timevar = "Stunden"
Case _DateDiff('n', _NowCalcDate() & " " & $BeginnWartungsZeit, _NowCalc()) < 2
$iDateCalc = _DateDiff('n', _NowCalcDate() & " " & $BeginnWartungsZeit, _NowCalc())
$timevar = "Minute"
Case _DateDiff('n', _NowCalcDate() & " " & $BeginnWartungsZeit, _NowCalc()) > 0
$iDateCalc = _DateDiff('n', _NowCalcDate() & " " & $BeginnWartungsZeit, _NowCalc())
$timevar = "Minuten"
Case _DateDiff('s', _NowCalcDate() & " " & $BeginnWartungsZeit, _NowCalc()) > 0
$iDateCalc = _DateDiff('s', _NowCalcDate() & " " & $BeginnWartungsZeit, _NowCalc())
$timevar = "Sekunden"
Case Else
MsgBox(4096, "", " Die Messzeit ist weniger als eine Sekunde", 5)
EndSelect
Local $vornach = "ü��berschritten"
EndIf
Local $calctime = $iDateCalc & " " & $timevar
Return $calctime
EndFunc ;==>_TimeDiff
Func _Zaehler($zeit, $calctim)
$calctime = _TimeDiff($BeginnWartungsZeit)
GUICtrlSetData($zeit, "Es ist " & _NowTime(5) & " Uhr,")
GUICtrlSetData($calctim, "Sie können noch ca. " & $calctime & " arbeiten")
EndFunc ;==>_Zaehler