Dateien auslesen und in Dropdown Menü eintragen!

  • Hallo Community,

    ich bin zur Zeit ein Skript am erstellen, für meinen USB Stick.
    Er ist von meiner "Arbeit", wo ich alle Setups und Daten für meine Kunden drauf habe.


    Zu Zeit sieht mein Skript so aus:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    ;##################### Stick Main ##################################
    $StickMain = GUICreate("Benedikts USB Stick!", 625, 443, 323, 241)
    $Label1 = GUICtrlCreateLabel("Kategorie", 168, 32, 298, 94)
    GUICtrlSetFont(-1, 48, 800, 0, "Comic Sans MS")
    $DVD = GUICtrlCreateButton("DVD etc.", 32, 152, 177, 73, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Comic Sans MS")
    $Festplatte = GUICtrlCreateButton("Festplatte", 224, 152, 177, 73, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Comic Sans MS")
    $Internet = GUICtrlCreateButton("Internet", 424, 152, 177, 73, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Comic Sans MS")
    $Sicherheit = GUICtrlCreateButton("Sicherheit", 24, 288, 177, 73, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Comic Sans MS")
    $Sonstiges = GUICtrlCreateButton("Sonstiges", 224, 288, 177, 73, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Comic Sans MS")
    $Images = GUICtrlCreateButton("Images", 424, 288, 177, 73, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Comic Sans MS")
    GUISetState(@SW_SHOW)
    ;####################################################################
    ;##################### Stick Child ##################################
    $StickChild = GUICreate("Benedikts USB Stick!", 498, 188, 398, 390)
    $Auswahl = GUICtrlCreateList("Auswählen!", 184, 40, 145, 25)
    GUICtrlSetData(-1, "")
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
    GUICtrlSetCursor (-1, 0)
    $AuswahlButton = GUICtrlCreateButton("Go!", 168, 88, 177, 73, 0)
    GUICtrlSetFont(-1, 24, 800, 0, "Comic Sans MS")
    GUISetState(@SW_HIDE)
    ;####################################################################
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $DVD
    GUISetState (@SW_HIDE, $StickMain)
    GUISetState (@SW_SHOW, $StickChild)

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

    EndSwitch
    WEnd

    [/autoit]


    Ich möchte jetzt zum Beispiel, dass wenn man auf den Knopf Dvd etc. drückt, das eben das zweite GUI aufgeht (funktioniert ja auch) und dann in einem Drop Down Menü die Ordner angezeigt werden, die auch in dem Ordner auf dem Stick verfügbar sind.
    Um es einfacher zu sagen:
    Auf dem Stick:
    DVD etc. -> PowerDVD8 -> setup.exe (oder andere .exe)
    DVD etc. -> MagicDVD -> setup.exe (oder andere .exe)
    DVD etc. -> HDView -> setup.exe (oder andere .exe)

    Bei Klick auf DVD etc. Button:
    Dropdown Menü:
    ->PowerDVD8
    ->MagicDVD
    ->HDView


    Und wenn man dann den Ordner ausgewählt hat und auf GO! gedrückt hat, soll sich der gewünschte Ordner öffnen.

    Irgendwie scheitere ich an meinem Projoekt ^^


    Mit freundlichen Grüßen,
    Benne

    Einmal editiert, zuletzt von PokerFace (23. Mai 2009 um 21:37)

  • So sollte es gehen... Einfach die Variable $Dir in deinen Usb-Ordner ändern ^^

    Spoiler anzeigen
    [autoit]

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

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

    ;##################### Stick Main ##################################
    $StickMain = GUICreate("Benedikts USB Stick!", 625, 443, 323, 241)
    $Label1 = GUICtrlCreateLabel("Kategorie", 168, 32, 298, 94)
    GUICtrlSetFont(-1, 48, 800, 0, "Comic Sans MS")
    $DVD = GUICtrlCreateButton("DVD etc.", 32, 152, 177, 73, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Comic Sans MS")
    $Festplatte = GUICtrlCreateButton("Festplatte", 224, 152, 177, 73, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Comic Sans MS")
    $Internet = GUICtrlCreateButton("Internet", 424, 152, 177, 73, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Comic Sans MS")
    $Sicherheit = GUICtrlCreateButton("Sicherheit", 24, 288, 177, 73, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Comic Sans MS")
    $Sonstiges = GUICtrlCreateButton("Sonstiges", 224, 288, 177, 73, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Comic Sans MS")
    $Images = GUICtrlCreateButton("Images", 424, 288, 177, 73, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Comic Sans MS")
    GUISetState(@SW_SHOW)
    ;####################################################################
    ;##################### Stick Child ##################################
    $StickChild = GUICreate("Benedikts USB Stick!", 498, 188, 398, 390)
    $Auswahl = GUICtrlCreateCombo("Auswählen!", 184, 40, 145, 25)
    GUICtrlSetData(-1, "")
    GUICtrlSetFont(-1, 10, 800, 0, "Comic Sans MS")
    GUICtrlSetCursor (-1, 0)
    $AuswahlButton = GUICtrlCreateButton("Go!", 168, 88, 177, 73, 0)
    GUICtrlSetFont(-1, 24, 800, 0, "Comic Sans MS")
    GUISetState(@SW_HIDE)
    ;####################################################################
    $Dir = @DesktopDir;<-------- Das musst du in deinen Usb-Ordner ändern!
    $Dir_Combo = _FileListToArray($Dir)
    If Not @error Then
    For $i = 1 To Ubound($Dir_Combo)-1
    If FileGetAttrib($Dir&"\"&$Dir_Combo[$i]) = "D" Then
    GuiCtrlSetData($Auswahl, $Dir_Combo[$i])
    EndIf
    Next
    EndIf

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $AuswahlButton
    If GuiCtrlRead($Auswahl) <> "" THen
    ShellExecute($Dir&"\"&GuiCtrlRead($Auswahl))
    EndIF
    Case $GUI_EVENT_CLOSE
    Exit
    Case $DVD
    GUISetState (@SW_HIDE, $StickMain)
    GUISetState (@SW_SHOW, $StickChild)
    EndSwitch
    WEnd

    [/autoit]