1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Multiblum

Beiträge von Multiblum

  • GUI Reagiert nicht mehr

    • Multiblum
    • 19. März 2017 um 12:06

    Danke für den Tipp mit dem OnEventMode..

    Nur die Radios in eine Zeile zu packen habe ich nicht geschafft..

    Habe es jetzt so gelöst:

    AutoIt: GUI OnEvent
    #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 $sRadioRead1 = 0
    Global $sRadioRead2 = 0
    Global $sRadioRead3 = 0
    Global $sRadioRead4 = 0
    Global $sRadioRead5 = 0
    Global $event = 0
    Global $suche = 0
    Global $g_bPaused = False
    Global $idAnzahl = 0
    Global $Runde = 0
    Global $Startcounter = 0
    
    
    Example()
    
    
    Func Example()
        Opt("GUICoordMode", 1)
        Opt("GUIResizeMode", 1)
        Opt("GUIOnEventMode", 1)
    
    
        GUICreate("Parent1")
        GUISetOnEvent($GUI_EVENT_CLOSE, "SpecialEvents")
        GUISetOnEvent($GUI_EVENT_MINIMIZE, "SpecialEvents")
        GUISetOnEvent($GUI_EVENT_RESTORE, "SpecialEvents")
    
    
    	; Buttons
        GUICtrlCreateButton("Go", 10, 260, 120, 20)
        GUICtrlSetOnEvent(-1, "OKPressed")
    
    
        GUICtrlCreateButton("Ende", 200, 260, 120, 20)
        GUICtrlSetOnEvent(-1, "Terminate")
    
    
    	; Texte
    	GUICtrlCreateLabel("Text 1", 10, 10)
    	GUICtrlCreateLabel("Text 2", 10, 40)
    	GUICtrlCreateLabel("Text 3", 200, 40)
    	GUICtrlCreateLabel("Text 4", 10, 300)
    	GUICtrlCreateLabel("Text 5", 10, 170)
    	GUICtrlCreateLabel("Text 6", 200, 170)
    	GUICtrlCreateLabel("Zum Beenden STRG + E für Pause STRG + P", 10, 230)
    
    
    	; Radio Buttons
    	Global $idRadio1 = GUICtrlCreateRadio("Radio 1", 10, 70, 120, 20)
        Global $idRadio2 = GUICtrlCreateRadio("Radio 2", 10, 90, 120, 20)
    	Global $idRadio3 = GUICtrlCreateRadio("Radio 3", 10, 110, 120, 20)
    	Global $idRadio5 = GUICtrlCreateRadio("Radio 5", 10, 130, 120, 20)
    	Global $idRadio4 = GUICtrlCreateRadio("Radio 4", 200, 70, 120, 20)
    	GUICtrlSetState($idRadio1, $GUI_CHECKED)
    
    
    	; Combobox
    	GUICtrlCreateLabel("Text 5", 10, 170)
        Global $idComboBox = GUICtrlCreateCombo("Combo1", 10, 190, 120, 20)
        GUICtrlSetData($idComboBox, "Combo2|Combo3|Combo4|Combo5|Combo6")
    	global $sComboRead = ""
    
    
    	; Zahleneingabe
    	Global $idRound = GUICtrlCreateInput(0, 200, 190, 40, 20)
    
    
        GUISetState(@SW_SHOW)
    
    
        ; Script Ausführen
        While 1
            Sleep(1000)
    		consoleWrite ( @ScriptLineNumber & " Radio = " & $jn & " Combo = " & $sComboRead & " Anzahl = " & $idAnzahl & " Event = " & $event & @CRLF)
        WEnd
    EndFunc   ;==>Example
    
    
    
    
    
    
    
    
    Func OKPressed()
    
    
    	$sComboRead = GUICtrlRead($idComboBox)
    	$sRadioRead1 = GUICtrlRead($idRadio1)
    	$sRadioRead2 = GUICtrlRead($idRadio2)
    	$sRadioRead3 = GUICtrlRead($idRadio3)
    	$sRadioRead4 = GUICtrlRead($idRadio4)
    	$sRadioRead5 = GUICtrlRead($idRadio5)
    	$idAnzahl = GUICtrlRead($idRound)
    
    
    	If $sRadioRead1 = 1 Then
    		global $jn = 1
    		Global $event = "checkForStart"
    	EndIf
    
    
    	If $sRadioRead2 = 1 Then
    		global $jn = 2
    		Global $event = "checkForStart"
    	EndIf
    
    
    	If $sRadioRead3 = 1 Then
    		global $jn = 3
    		Global $event = "checkForStart"
    	EndIf
    
    
    	If $sRadioRead4 = 1 Then
    		global $jn = 4
    		Global $event = "checkForStart"
    	EndIf
    
    
    	If $sRadioRead5 = 1 Then
    		global $jn = 5
    		Global $event = "checkForStart"
    	EndIf
    
    
    
    
    	consoleWrite ( @ScriptLineNumber & " Radio = " & $jn & " Combo = " & $sComboRead & " Anzahl = " & $idAnzahl & " Event = " & $event & @CRLF)
    
    
    EndFunc   ;==>OKPressed
    
    
    
    
    
    
    Func SpecialEvents()
    	consoleWrite ( @ScriptLineNumber & @CRLF)
        Select
            Case @GUI_CtrlId = $GUI_EVENT_CLOSE
                Exit
    
    
            Case @GUI_CtrlId = $GUI_EVENT_MINIMIZE
    
    
    
    
            Case @GUI_CtrlId = $GUI_EVENT_RESTORE
    
    
    
    
        EndSelect
    EndFunc   ;==>SpecialEvents
    
    
    
    
    
    
    
    
    ; zum Beenden des Tools
    
    
    Func Terminate()
        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
  • GUI Reagiert nicht mehr

    • Multiblum
    • 19. März 2017 um 07:39

    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

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™