Freie Laufwerkbuchstaben in ein Combofeld

  • Hallo Leute,

    ich arbeite an einem kleinem Programm für mein kleines Netzwerk. Es soll Netzwerkordner einbinden unter den LW-Buchstaben meiner Wahl, der nicht benutzt wird. Die freien LW-Buchstaben wollte ich in einem Combofeld anzeigen lassen. Wie stell ich das den am besten an?

    [autoit]

    $Combo1 = GUICtrlCreateCombo("", 312, 32, 65, 25)
    GUICtrlSetData(-1,"C:|D:","Element3")

    [/autoit]

    gruß remax

    Einmal editiert, zuletzt von Remax (16. Juli 2008 um 13:49)

    • Offizieller Beitrag

    Versuch's mal damit:

    [autoit]


    msgbox(0,'',_DriveLetterFree())
    ; $Combo1 = GUICtrlCreateCombo("", 312, 32, 65, 25)
    ; GUICtrlSetData(-1, _DriveLetterFree())

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

    Func _DriveLetterFree()
    Local $i, $v, $j, $letters, $aAllDrives = DriveGetDrive("ALL")
    For $i = 67 To 90 ; Buchstaben 'C' bis 'Z' durchgehen
    $v = 0
    For $j = 1 To $aAllDrives[0] ; Alle belegten Buchstaben
    If Chr($i) & ':' = $aAllDrives[$j] Then ; Buchstabe ist nicht frei
    $v = 1 ; dann kennzeichnen
    ExitLoop ; und For $j - Schleife verlassen
    EndIf
    Next
    If $v <> 1 Then $letters &= Chr($i) & ':|' ; War der Buchstabe noch frei, dann in die Liste übernehmen
    Next
    $letters = StringTrimRight($letters, 1) ; den letzten '|' entfernen
    Return $letters
    EndFunc

    [/autoit]