Problem mit _GUICtrlComboBoxEx_AddString

  • Hi,
    Ich wollte einen Spieler schnellstarter machen, wo man den Pfad der .exe seiner Spieler angibt und sie in die Combobox übertragen werden, nur wenn ich eine .exe angebe ist garnichts in der Combobox.

    [autoit]

    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #Include <GuiComboBoxEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=c:\dokumente und einstellungen\a\desktop\form1.kxf
    $Form1_1 = GUICreate("Schnellstarter", 633, 231, 318, 145)
    $Label1 = GUICtrlCreateLabel("Bitte geben sie die den Pfad der .exe Dateien Ihrer Spiele an.", 96, 24, 397, 17)
    $Game = GUICtrlCreateCombo("Game", 96, 56, 409, 25)
    GUICtrlSetData(-1, "Hinzufügen....")
    $Starte = GUICtrlCreateButton("Spiel starten!", 96, 88, 241, 49, $WS_GROUP)
    $Hinzuf = GUICtrlCreateButton("Spiel hinzufügen!", 352, 88, 153, 49, $WS_GROUP)
    $Abbrechen = GUICtrlCreateButton("Abbrechen", 96, 144, 409, 57, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit][autoit][/autoit][autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    MsgBox(0,"","Beendet")
    Exit
    Case $Hinzuf
    $Neu = FileOpenDialog("Titel", @ScriptDir, "Ausführbare Dateien (*.exe)")
    Case $Abbrechen
    MsgBox(0,"","Vielen Dank, dass sie Philware genutzt haben")
    Exit
    EndSwitch
    WEnd

    [/autoit][autoit][/autoit][autoit]

    _GUICtrlComboBoxEx_AddString($Game,$Neu[0])

    [/autoit]

    Vielen Dank schonmal :D

    Einmal editiert, zuletzt von Phil (16. Oktober 2010 um 16:46)

  • _GUICtrlComboBoxEx_AddString() steht auch ausserhalb deiner Endlosschleife :D
    Der Eintrag gehört in den Bereich

    [autoit]

    Case $Hinzuf

    [/autoit]

    Lg, Fabian

    Edit:
    Damit gleich nur der Name und nicht der ganze Pfad angezeigt wird

    [autoit]

    $aNeu = StringRegExp($Neu,".+\\(.+).exe",3)
    _GUICtrlComboBoxEx_AddString($Game,$aNeu[0])

    [/autoit]

    2 Mal editiert, zuletzt von Fabian (16. Oktober 2010 um 16:44)

  • Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #Include <GuiComboBoxEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=c:\dokumente und einstellungen\a\desktop\form1.kxf
    $Form1_1 = GUICreate("Schnellstarter", 633, 231, 318, 145)
    $Label1 = GUICtrlCreateLabel("Bitte geben sie die den Pfad der .exe Dateien Ihrer Spiele an.", 96, 24, 397, 17)
    $Game = _GUICtrlComboBoxEx_Create($Form1_1, "", 96, 56, 409, -1, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL))
    GUICtrlSetData(-1, "Hinzufügen....")
    $Starte = GUICtrlCreateButton("Spiel starten!", 96, 88, 241, 49, $WS_GROUP)
    $Hinzuf = GUICtrlCreateButton("Spiel hinzufügen!", 352, 88, 153, 49, $WS_GROUP)
    $Abbrechen = GUICtrlCreateButton("Abbrechen", 96, 144, 409, 57, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    MsgBox(0,"","Beendet")
    Exit
    Case $Hinzuf
    $Neu = FileOpenDialog("Titel", @ScriptDir, "Ausführbare Dateien (*.exe)")
    _GUICtrlComboBoxEx_BeginUpdate($Game)
    _GUICtrlComboBoxEx_AddString($Game,$Neu)
    _GUICtrlComboBoxEx_EndUpdate($Game)
    Case $Abbrechen
    MsgBox(0,"","Vielen Dank, dass sie Philware genutzt haben")
    Exit
    EndSwitch
    WEnd

    [/autoit]