Hallo Gemeinde,
ich habe ein kleines Programm entwickelt, das mir aus einer Excelliste Rechnernamen ausliest, und diese in eine Website einträgt.
Das Ergebnis wird dann wieder in die Excelliste eingetragen. Da dieser Vorgang lange dauern kann, habe ich einen Splashscreen erstellt.
Auf der Gui des Splashscreen befindet sich ein "Terminate-Button" um den Vorgang abzubrechen. Wie fange ich diesen Buttonklick richtig ab?
Ein Case in der Schleife der Haupt-GUI funzt nicht, logischer Weise...
AutoIt
; HauptGui:
; === GUI erstellen ===
GUICreate("UBL-Reader", 300, 250)
GUICtrlCreateLabel("Wähle einen KVM:", 20, 20)
Global $idRadio[4]
$idRadio[0] = GUICtrlCreateRadio("DeskRegal", 20, 50)
$idRadio[1] = GUICtrlCreateRadio("LapRegal", 20, 75)
$idRadio[2] = GUICtrlCreateRadio("RaritanBla", 20, 100)
$idRadio[3] = GUICtrlCreateRadio("RaritanBlupp", 20, 125)
GUICtrlSetState($idRadio[0], $GUI_CHECKED)
Global $idButtonReadSelected = GUICtrlCreateButton("Read Selected", 150, 60, 120, 30)
Global $idButtonReadAll = GUICtrlCreateButton("Read All", 150, 100, 120, 30)
GUISetState()
; === GUI Event-Loop ===
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $idButtonReadSelected
For $i = 0 To 3
If GUICtrlRead($idRadio[$i]) = $GUI_CHECKED Then
_Fetch_UBL_BySheet($aSheets[$i])
ExitLoop
EndIf
Next
Case $idButtonReadAll
For $i = 0 To 3
_Fetch_UBL_BySheet($aSheets[$i])
Next
EndSwitch
WEnd
.
.
.
; === Splashscreen ===
Func _SplashStart($sText)
#Region ### START Koda GUI section ### Form=
$hGuiSp = GUICreate("sFileVersion", 542, 314, -1, -1)
GUISetFont(8, 800, 0, "Bosch Sans Bold")
GUISetBkColor(0xFFFFFF)
$SPPic2 = GUICtrlCreatePic("@ScriptDir\Band.jpg", 0, 0, 804, 11)
$SPPlease = GUICtrlCreateLabel("Please be patient", 45, 224, 450, 41, $SS_CENTER)
GUICtrlSetFont(-1, 22, 800, 0, "Sans Bold")
GUICtrlSetColor(-1, 0x000080)
$Label1 = GUICtrlCreateLabel("Searching UBL...", 154, 32, 233, 36)
GUICtrlSetFont(-1, 22, 800, 0, "Office Sans")
GUICtrlSetColor(-1, 0x000080)
$Button1 = GUICtrlCreateButton("terminate", 230, 285, 81, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Global $sFile9 = "./loading.gif"
Global $hGIF = _GUICtrlCreateGIF($sFile9, "", 190, 122)
GUICtrlSetTip($hGIF, "Loading...")
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
GUIRegisterMsg(15, "_ValidateGIFs") ; WM_PAINT'
GUISetState()
EndFunc
Func _ValidateGIFs($hWnd, $iMsg, $wParam, $lParam)
#forceref $hWnd, $iMsg, $wParam, $lParam
_GIF_ValidateGIF($hGIF)
EndFunc ;==>_ValidateGIFs
Func _SplashStop()
If IsHWnd($hGuiSp) Then
GUISetState(@SW_HIDE, $hGuiSp)
Sleep(200)
GUIDelete($hGuiSp)
Sleep(300)
EndIf
EndFunc
Alles anzeigen