Probleme mit Auswahlfeld

  • Hallo zusammen ich bin ein absoluter AutoIT neuling.
    Folgendes möchte ich Programmieren.

    Ich habe in einem Ordner mehrer Unterordner. Diese Unterordner möchte ich auslesen und in einer DropDown Box auflisten. Wenn ich dann einen namen Auswähle sollen alle Inhalte die sich in dem ausgewählten Ordner befinden in einer textarea dargestellt werden.

    Ich freue mich über jede Hilfe die ich kriegen kann.

    TKH

  • Es gab hier im Forum eine Funktion die einen Verzeichnisbaum in eine Combobox oder Listview einließ. Den Artikel habe ich nicht wiedergefunden, aber das Script noch zu Haus. Wenn das noch interessant ist, stelle ich die Zeilen heut Abend nochmal hier rein. Das wäre als Ausgangsbasis schon nicht schlecht.

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Es gab hier im Forum eine Funktion die einen Verzeichnisbaum in eine Combobox oder Listview einließ. Den Artikel habe ich nicht wiedergefunden, aber das Script noch zu Haus. Wenn das noch interessant ist, stelle ich die Zeilen heut Abend nochmal hier rein. Das wäre als Ausgangsbasis schon nicht schlecht.

    Hallo
    das wäre wirklich sehr nett von dir und würde mir bestimmt weiterhelfen.

    Gruß
    TKH

  • Entschuldigung, ich hoffe ich denke heute Abend daran. Gestern habe ich durch Fussball (Aberdeen - Bayern) nicht dran gedacht. :sleeping:

    Hier das Script was ich meinte:

    Spoiler anzeigen
    [autoit]

    #Include <GuiComboBox.au3>

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

    $GUI = GUICreate("ComboAddDir",400,300)
    $Combo = GUICtrlCreateCombo("", 2, 2, 396, 296)
    $Lesen = GUICtrlCreateButton("Lesen",20,30)
    GUISetState(@SW_SHOW)

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

    _GUICtrlComboBox_AddDir ($Combo, @WindowsDir & "\*.exe")
    ; um nur Unterverzeichnisse zu erhalten muss die Zeile wie folgt aussehen
    ; _GUICtrlComboBox_AddDir ($Combo, @WindowsDir & "\*.*",$DDL_DIRECTORY + $DDL_EXCLUSIVE)
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg

    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $Lesen
    Msgbox(0,"Ergebnis","Gewählt wurde : " & GUICtrlRead($Combo))

    EndSwitch
    Wend

    [/autoit]

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

    2 Mal editiert, zuletzt von Micha_he (15. Februar 2008 um 14:47)

    • Offizieller Beitrag

    Hi,

    hier mal ein Anfang (altes Skript) mit der Option bestimmter Ordner auch gleich auszublenden.

    Spoiler anzeigen
    [autoit]

    #Include <File.au3>
    #Include <Array.au3>
    #include <GUIConstants.au3>

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

    Global $not_A[3] = ['', "Programme", "Winnt"]

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

    GUICreate("My GUI", 600, 600, 5, 5)
    GUICtrlCreateLabel("Path : ", 5, 5, 80, 20)
    $path_I = GUICtrlCreateInput("c:\", 55, 5, 300, 20)
    $run_B = GUICtrlCreateButton("Run", 500, 5, 80, 20)

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

    $folder_C = GUICtrlCreateCombo("Folders", 5, 45, 570, 550)
    GUISetState(@SW_SHOW) ; will display an empty dialog box

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

    ; Run the GUI until the dialog is closed
    While 1
    $msg = GUIGetMsg()

    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    If $msg = $run_B Then
    Local $file_A = _fileList(GUICtrlRead($path_I), "*.*", 2)
    $file_A = _ShowNotFolder($file_A)
    Local $a_A = _ArrayToString($file_A, "|")
    GUICtrlSetData($folder_C, $a_A)
    EndIf
    WEnd

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

    Func _fileList($s_path = "c:\", $s_pattern = "*.*", $i_opt = 0)
    Local $result = _FileListToArray($s_path, $s_pattern, $i_opt)
    If (Not IsArray($result)) and (@error = 1) Then
    MsgBox(0, "", "No Folders Found.")
    Exit
    EndIf
    Return $result
    EndFunc ;==>_fileList

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

    Func _ShowNotFolder($file_A)
    For $i = 1 To UBound($file_A) - 2
    For $y = 1 To UBound($not_A) - 1
    If $file_A[$i] = $not_A[$y] Then
    _ArrayDelete($file_A, $i)
    $file_A[0] = UBound($file_A) - 1
    EndIf
    Next
    Next
    Return $file_A
    EndFunc ;==>_ShowNotFolder

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

    Mega