Hallo liebe Gemeinde,
ich habe mein erstes AutoIT Programm geschrieben & dabei tritt folgender Fehler auf:
Sobald ich das Programm über den "OK" Button starte, reagiert die GUI nichr mehr auf Eingaben.
Ich kann sie werder über "Ende" oder "X" Beenden, noch andere Optionen einstellen und mit "Go" im laufenden Betrieb ändern.
Die zweite Funktion soll dann einer Schleife sein, die sich bis zur nächsten Eingabe wiederholt.
Ich bin mir sicher, es liegt daran, dass ich von einer Funktion in eine andere springe, schaffe es jedoch nicht selbst den Code so umzustellen, das es klappt.
Ich hoffe, ihr könnt mir helfen.
Hier der Code:
AutoIt: Programm 1
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
HotKeySet("^e", "Terminate")
HotKeySet("^p", "TogglePause")
global $y = 0, $x = 0
global $jn = 0
Global $idle = 0
Global $sComboRead = 0
Global $event = 0
Global $suche = 0
Global $g_bPaused = False
Global $idAnzahl = 0
Global $Runde = 0
Global $Startcounter = 0
GUIStart()
Func GUIStart()
GUICreate("Programm 1", 350, 320)
GUICtrlCreateLabel("Text 1", 10, 10)
GUICtrlCreateLabel("Text 2", 10, 40)
Local $idRadio1 = GUICtrlCreateRadio("Radio 1", 10, 70, 120, 20)
Local $idRadio2 = GUICtrlCreateRadio("Radio 2", 10, 90, 120, 20)
Local $idRadio3 = GUICtrlCreateRadio("Radio 3", 10, 110, 120, 20)
Local $idRadio5 = GUICtrlCreateRadio("Radio 5", 10, 130, 120, 20)
GUICtrlCreateLabel("Text 3", 200, 40)
Local $idRadio4 = GUICtrlCreateRadio("Radio 4", 200, 70, 120, 20)
GUICtrlCreateLabel("Zum Beenden STRG + E für Pause STRG + P", 10, 230)
GUICtrlSetState($idRadio1, $GUI_CHECKED)
Local $idok = GUICtrlCreateButton("Go", 10, 260, 120, 20)
Local $idende = GUICtrlCreateButton("Ende", 200, 260, 120, 20)
GUICtrlCreateLabel("Text 4", 10, 300)
; Create a combobox control.
GUICtrlCreateLabel("Text 5", 10, 170)
Global $idComboBox = GUICtrlCreateCombo("Combo1", 10, 190, 120, 20)
GUICtrlSetData($idComboBox, "Combo2|Combo3|Combo4|Combo5|Combo6")
global $sComboRead = ""
; Zahleneingabe?
GUICtrlCreateLabel("Text 6", 200, 170)
Local $idRound = GUICtrlCreateInput(0, 200, 190, 40, 20)
GUISetState(@SW_SHOW)
Local $idMsg
While 1
$idMsg = GUIGetMsg()
Select
Case $idMsg = $GUI_EVENT_CLOSE
ExitLoop
Case $idMsg = $idok And BitAND(GUICtrlRead($idRadio1), $GUI_CHECKED) = $GUI_CHECKED
$sComboRead = GUICtrlRead($idComboBox)
$idAnzahl = GUICtrlRead($idRound)
global $jn = 1
Global $event = "checkForStart"
checkForStart()
Case $idMsg = $idok And BitAND(GUICtrlRead($idRadio2), $GUI_CHECKED) = $GUI_CHECKED
$sComboRead = GUICtrlRead($idComboBox)
$idAnzahl = GUICtrlRead($idRound)
global $jn = 2
Global $event = "checkForStart"
checkForStart()
Case $idMsg = $idok And BitAND(GUICtrlRead($idRadio3), $GUI_CHECKED) = $GUI_CHECKED
$sComboRead = GUICtrlRead($idComboBox)
$idAnzahl = GUICtrlRead($idRound)
global $jn = 3
Global $event = "checkForStart"
checkForStart()
Case $idMsg = $idok And BitAND(GUICtrlRead($idRadio4), $GUI_CHECKED) = $GUI_CHECKED
$sComboRead = GUICtrlRead($idComboBox)
$idAnzahl = GUICtrlRead($idRound)
global $jn = 4
Global $event = "checkForStart"
checkForStart()
Case $idMsg = $idok And BitAND(GUICtrlRead($idRadio5), $GUI_CHECKED) = $GUI_CHECKED
$sComboRead = GUICtrlRead($idComboBox)
$idAnzahl = GUICtrlRead($idRound)
global $jn = 5
Global $event = "checkForStart"
checkForStart()
Case $idMsg = $idende
Terminate()
EndSelect
WEnd
EndFunc
Func checkForStart()
While 1
; Start
Sleep(2000)
consoleWrite ( @ScriptLineNumber & $event & " jn = " & $jn & @CRLF)
WEnd
EndFunc
; zum Beenden des Tools
Func Terminate()
Exit
EndFunc
; zum Ausschalten des PC
Func Poweroff()
Run("shutdown -h -f")
Exit
EndFunc
; Pause Funktion
Func TogglePause()
$g_bPaused = Not $g_bPaused
While $g_bPaused
Sleep(100)
ToolTip('Script is "Paused"', 0, 0)
WEnd
ToolTip("")
EndFunc ;==>TogglePause
Alles anzeigen