Ordner inhalt in Listview Darstellen

  • Hallo,
    stehe vor einen Problem und brauche wieder mal hilfe.

    habe mehrer verzeichnisse und dort befindet sich immer eine datei die den gleichen namen hat
    z.b
    c:\office\log.ini
    c:\buero\log.ini
    c:\labor\log.ini
    c:\veruche\log.ini
    c:\office\log.ini
    c:\*****\log.ini

    jetzt wollte ich die log.ini in einer listview darstellen in dem format
    office.ini
    buero.ini
    labor.ini
    versuche.ini
    office.ini
    *****.ini

    Wie kann ich das machen??

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."

    • Offizieller Beitrag

    Könntest du so machen:

    Spoiler anzeigen
    [autoit]

    #include <File.au3>
    #include <GuiConstantsEx.au3>
    #include <GuiListView.au3>
    #include <Array.au3>

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

    Local $path = 'C:\test' ; Pfad mit den Unterordnern
    Local $log = 'log.ini'
    Local $aFolder = _FileListToArray($path, '*', 2)
    Global $aLV_Item[1][2] = [['']]
    Local $ind, $aInd, $text

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

    $gui = GUICreate('test')
    $LV = GUICtrlCreateListView('INI', 20, 20, 150, 150)
    GUICtrlSendMsg(-1, 0x101E, 0, $LVSCW_AUTOSIZE_USEHEADER)
    $hLV = GUICtrlGetHandle($LV)
    $button = GUICtrlCreateButton('Zeige INI-Pfad', 20, 200, 100, 20)

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

    For $i = 1 To UBound($aFolder) -1
    If FileExists($path & '\' & $aFolder[$i] & '\' & $log) Then
    If $aLV_Item[UBound($aLV_Item)-1][0] <> '' Then ReDim $aLV_Item[UBound($aLV_Item)+1][2]
    $aLV_Item[UBound($aLV_Item)-1][0] = $path & '\' & $aFolder[$i] & '\' & $log
    $aLV_Item[UBound($aLV_Item)-1][1] = $aFolder[$i] & '.ini'
    GUICtrlCreateListViewItem($aFolder[$i] & '.ini', $LV)
    EndIf
    Next

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

    GUISetState()

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case -3
    Exit
    Case $button
    $ind = _GUICtrlListView_GetSelectedIndices($hLV)
    If $ind Then
    $text = _GUICtrlListView_GetItemText($hLV, $ind)
    $aInd = _ArraySearch($aLV_Item, $text, 0, 0, 0, 0, 1, 1)
    If Not @error Then MsgBox(0, 'Pfad', 'Der Pfad zur INI lautet:' & @lf & $aLV_Item[$aInd][0])
    EndIf
    EndSwitch
    WEnd

    [/autoit]
  • Wie würde das den mit einer Listbox also anstatt listview listbox??

    lg SubZero ;)
    ==========================================================================

    "Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral."