alle dateinamen aus einem ordner in eine combobox?

  • ich habe ein Problem ich bin dabei ein Programm zu Coden,
    Es gibt eine Textfeld und eine Combobox ich mochte das in der Combobox alle Dateien aus dem Ordner "Content" stehen
    ich wollte erst alle einzeln adden aber bei ca. 3000 Dateien die alle unterschiedliche namen haben dauert mir das zu lange.
    ich habe den befehl

    [autoit]


    _FileListToArray()

    [/autoit]


    gefunden und denke das es damit gehen sollte allerdings habe ich kp wie xD
    ich habe es so versucht

    [autoit]


    $FileList=_FileListToArray(@ScriptDir & "\content\")
    $Combo1 = GUICtrlCreateCombo("Select", 0, 60, 468, 21)
    GUICtrlSetData(-1,$FileList)

    [/autoit]


    hat aber wie ich es mir gedacht habe nicht funktioniert.
    ich wollte jetzt mal fragen wie das geht xD

    • Offizieller Beitrag

    Probiers mal so:

    [autoit]

    GUICtrlSetData(-1,_ArrayToString($FileList, "|", 1))

    [/autoit]
  • Hier ein kleines Beispiel:

    Spoiler anzeigen
    [autoit]

    #include <File.au3>
    #include <Array.au3>
    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    Global $All

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

    $Form1 = GUICreate("Form1", 307, 37, 193, 125)
    $Combo1 = GUICtrlCreateCombo("", 8, 8, 289, 25)
    GUISetState(@SW_SHOW)

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

    $FileList = _FileListToArray(@DesktopDir)

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

    For $x = 1 To $FileList[0]
    $All &= $FileList[$x] & "|"
    Next

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

    GUICtrlSetData($Combo1, StringTrimRight($All, 1))

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

    [/autoit]
  • @Deepred

    Deine Lsg. finde ich sehr gut.

    Frage: Wenn ich nun daraus eine Auswahl getroffen habe, also eine Datei ausgewählt habe, wie mache ich es, das er diese (so es z. B. eine Exe-Datei ist) dann auch ausführt.
    Ich habe ja auf dem Desktop verschiedene ausführbare Dateien.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    k3mrwmIBHejryPvylQSFieDF5f3VOnk6iLAVBGVhKQegrFuWr3iraNIblLweSW4WgqI0SrRbS7U5jI3sn50R4a15Cthu1bEr

  • Vielleicht so?:

    Spoiler anzeigen
    [autoit]

    #include <File.au3>
    #include <Array.au3>
    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    Global $All
    Global $Dir = @DesktopDir

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

    $Form1 = GUICreate("Form1", 307, 37, 193, 125)
    $Combo1 = GUICtrlCreateCombo("", 8, 8, 289, 25)
    GUISetState(@SW_SHOW)

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

    $FileList = _FileListToArray($Dir, "*.exe")

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

    For $x = 1 To $FileList[0]
    $All &= $FileList[$x] & "|"
    Next

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

    GUICtrlSetData($Combo1, StringTrimRight($All, 1))

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $Combo1
    Run($Dir & "\" & GUICtrlRead($Combo1))

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

    EndSwitch
    WEnd

    [/autoit]
  • Danke, geht bestens so.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    k3mrwmIBHejryPvylQSFieDF5f3VOnk6iLAVBGVhKQegrFuWr3iraNIblLweSW4WgqI0SrRbS7U5jI3sn50R4a15Cthu1bEr