! FileOpenDialog() mit Mehrfachauswahl Volle Dateipfade in ein Array eintragen...

  • Möchte alle Dateipfade die ich mit einer Mehrfachauswahl im FileOpenDialog () getätigt habe mit vollem Pfad in ein Array eintragen...

    Beispielskript:

    Spoiler anzeigen


    [autoit]
    $Text = " Wurde vom Autor entfernt "

    Hat einer ne Ahnung Wie unter insertfiles() im Beispiel...???

    Spoiler anzeigen
    Zitat

    Ich weiß wo dein Haus wohnt... 8o

    2 Mal editiert, zuletzt von stinger2k (26. Oktober 2011 um 19:07)

  • Bitteschön:

    Spoiler anzeigen
    [autoit]

    #include <GuiListView.au3>
    #include <Misc.au3>
    #include <Array.au3>
    #include <ListViewConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <APIConstants.au3>

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

    AutoItSetOption("TrayIconHide", 1)
    $Debug_LV = False
    Global $aWork[1]

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

    #region ### START Koda GUI section ### Form=F:\signapk.kxf
    $Form1 = GUICreate("Form1", 769, 562, 193, 125)
    $Button1 = GUICtrlCreateButton("Search files", 224, 66, 105, 25, $WS_GROUP)
    GUICtrlSetFont(-1, 9, 400, 0, "Arial")
    $Button2 = GUICtrlCreateButton("Select folder", 224, 156, 105, 25, $WS_GROUP)
    GUICtrlSetFont(-1, 9, 400, 0, "Arial")
    $Button3 = GUICtrlCreateButton("Remove file(s)", 512, 510, 105, 25, $WS_GROUP)
    GUICtrlSetFont(-1, 9, 400, 0, "Arial")
    $Button4 = GUICtrlCreateButton("Start signing", 224, 474, 105, 25, $WS_GROUP)
    GUICtrlSetFont(-1, 9, 400, 0, "Arial")
    $Input = GUICtrlCreateInput("", 114, 216, 217, 22)
    GUICtrlSetFont(-1, 8.5, 400, 0, "Arial")
    $Label1 = GUICtrlCreateLabel('Selected Folder: "none"', 44, 188, 285, 18)
    GUICtrlSetFont(-1, 7, 400, 0, "Arial")
    $Progress1 = GUICtrlCreateProgress(45, 520, 283, 16)
    GUICtrlSetBkColor(-1, 0xFFFFFF)
    $Pic1 = GUICtrlCreatePic("C:\Users\User\Pictures\signapk.jpg", 0, 0, 768, 576, BitOR($WS_GROUP, $WS_CLIPSIBLINGS))
    $List = GUICtrlCreateListView("Selected Files Overview", 400, 66, 320, 430, BitOR($LVS_REPORT, $LVS_EDITLABELS, $WS_EX_DLGMODALFRAME, $WS_EX_CLIENTEDGE))
    $contextmenu = GUICtrlCreateContextMenu($List)
    $entf = GUICtrlCreateMenuItem("Remove from List", $List)
    $test = GUICtrlSetState($List, $GUI_DROPACCEPTED)
    _GUICtrlListView_SetColumnWidth($List, 0, 316)
    _GUICtrlListView_SetExtendedListViewStyle($List, BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_DOUBLEBUFFER, $LVS_EX_BORDERSELECT))
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###

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

    While 1
    If _IsPressed("2E") Then entf() ;ENTF
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    Case $Button1
    Insertfiles()

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

    Case $Button2
    insertfolder()

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

    Case $Button3
    removefromlist()

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

    Case $Button4
    startsigning()

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

    Case $entf
    _GUICtrlListView_DeleteItemsSelected(GUICtrlGetHandle($List))

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

    EndSwitch
    WEnd

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

    Func Insertfiles()
    $file = FileOpenDialog("Select file(s)", @DesktopDir, "Android Package (*.apk)", 1 + 4, "", $Form1)
    $aItem = StringSplit($file, "|")
    If Not @error = 1 Then

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

    For $i = 2 To $aItem[0]
    _ArrayAdd($aWork, $aItem[1] & "\" & $aItem[$i])
    Next
    _ArrayDisplay($aWork)
    _ArrayDelete($aItem, 0)
    _ArrayDelete($aItem, 0)
    _ArraySort($aItem, 1)
    For $i = UBound($aItem) - 1 To 0 Step -1
    _GUICtrlListView_InsertItem($List, $aItem[$i])
    Next
    Else
    $aItem = StringSplit($file, "\")
    _ArrayAdd($aWork, $file)
    For $i = 0 To $aItem[0] - 1
    _ArrayDelete($aItem, 0)
    Next
    $toList = _ArrayToString($aItem)
    _GUICtrlListView_InsertItem($List, $toList)
    EndIf
    count()
    EndFunc ;==>Insertfiles

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

    Func insertfolder()
    $folder = FileSelectFolder("Select Folder:", @DesktopDir, 1 + 2, "", $Form1)
    GUICtrlSetData($Label1, "Selected Folder: " & $folder)
    GUICtrlSetFont($Label1, 7, 400, 0, "Arial")
    EndFunc ;==>insertfolder

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

    Func removefromlist()
    $Style = _GUICtrlListView_GetExtendedListViewStyle(GUICtrlGetHandle($List))
    If $Style = 98336 Then _GUICtrlListView_SetExtendedListViewStyle($List, BitOR($LVS_EX_CHECKBOXES, $LVS_EX_FULLROWSELECT))

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

    $count = _GUICtrlListView_GetItemCount(GUICtrlGetHandle($List))

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

    For $i = 0 To $count Step 1
    $Item_to_delete = _GUICtrlListView_GetItemChecked($List, $i)
    If $Item_to_delete = True Then
    _GUICtrlListView_DeleteItem(GUICtrlGetHandle($List), $i)
    EndIf
    Next

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

    EndFunc ;==>removefromlist

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

    Func startsigning()

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

    For $i = 1 To 100
    GUICtrlSetData($Progress1, $i)
    Sleep(20)
    Next

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

    EndFunc ;==>startsigning

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

    Func entf()
    _GUICtrlListView_DeleteItemsSelected(GUICtrlGetHandle($List))
    EndFunc ;==>entf

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

    Func count()
    $count = _GUICtrlListView_GetItemCount(GUICtrlGetHandle($List))
    If $count = 0 Or 1 Then GUICtrlSetState($Input, $GUI_ENABLE)
    If $count > 1 Then GUICtrlSetState($Input, $GUI_DISABLE)
    EndFunc ;==>count

    [/autoit]

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.