Hallo zusammen,
ich habe noch nicht sehr lange mit Autoit zu tun, bisher konnte ich meine Probleme allerdings durch reines suchen und lesen beheben. Jetzt bin ich an einem Punkt angelangt an dem ich entweder nicht die richtigen Fragen stelle, oder sonstwie auf dem Schlauch stehe.
Ich erstelle in meiner GUI je nach Menge an Dateien Buttons die eine weitere Aktion ausführen sollen.
Spoiler anzeigen
Func MainGui()
[/autoit] [autoit][/autoit] [autoit]Local $bAusDone = False
Local $i = 0
Local $j = 0
Local $iMsg =0
Global $hGUI = GUICreate("Automatische Auswertung ProfiTrace2",$gXBreite,$gYHoehe)
Local $idBeenden = GUICtrlCreateButton("Beenden", $gXBreite-90, 5, 85, 35)
Global $idPfAu = GUICtrlCreateButton("Pfad auswählen",5,5,150,35)
Global $idAusStart = GUICtrlCreateButton("Auswertung starten",160,5,150,35)
Global $idWordStart = GUICtrlCreateButton("Word erzeugen",315,5,150,35)
Global $LblInfo = GUICtrlCreateLabel("Die laufende Auswertung kann mit der ESC Taste abgebrochen werden.",5,45,310,35)
GUICtrlSetState ($idAusStart,$GUI_DISABLE)
GUISetState(@SW_SHOW, $hGUI)
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]$iMsg = GUIGetMsg()
[/autoit] [autoit][/autoit] [autoit]Switch $iMsg
Case $GUI_EVENT_CLOSE, $idBeenden
ExitLoop
Case $idPfAu
;MsgBox($MB_SYSTEMMODAL," Gui Info 1 ",$idPfAu & GUIGetMsg())
$bAusDone = False
GUISetState(@SW_HIDE, $hGUI)
Pfadauswahl()
Case $idAusStart
;MsgBox($MB_SYSTEMMODAL," Gui Info 2 ",$idAusStart & GUIGetMsg())
AusStarten()
$bAusDone = True
Case $idWordStart
;Word_erzeugen()
_ArrayDisplay($BtnTN_Auswahl)
Case $BtnPfad[0] To $BtnPfad[UBound($aFlt,1)-1]; Das hier funktioniert ohne Probleme
For $i = 1 to UBound($aFlt,1)-1 Step 1
If $iMsg = $BtnPfad[$i] Then
ShellExecute(StringTrimRight($aFlt[$i], 4))
;MsgBox($MB_SYSTEMMODAL," Info", StringTrimRight($aFlt[$i], 4) & $i)
EndIf
Next
Case $BtnTN_Auswahl[0] To $BtnTN_Auswahl[UBound($aFlt,1)-1] ;Hier ist das Problem
For $j = 0 to UBound($aFlt,1)-1 Step 1
If $iMsg = $BtnTN_Auswahl[$j] Then
MsgBox(0,"TNAuswahl" &$j,$iMsg &" = " & $BtnTN_Auswahl[$j])
call(TN_Auswahl($j))
EndIf
Next
Case $idFertig
GUISetState(@SW_HIDE, $hGUI2)
EndSwitch
[/autoit] [autoit][/autoit] [autoit]If $iMsg >0 Then MsgBox(0," iMsg = " &$iMsg,"Bla: " & $BtnTN_Auswahl[1]); hier wird die richtige Nummer angezeigt
[/autoit] [autoit][/autoit] [autoit]WEnd
[/autoit] [autoit][/autoit] [autoit];If $bAusDone = True Then ShellExecute($sFileSelectFolder)
[/autoit] [autoit][/autoit] [autoit]GUIDelete($hGUI)
Exit
EndFunc
[/autoit]Ich sehe den Fehler nicht, wenn ich 7 Buttons habe wird nur der 7 richtig ausgeführt. Wenn ich auf die anderen 6 Klicke bekomme ich über die MsgBox aber die korrekte ID geschickt.
Vielen Dank,
ingom