Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    14

    Esportazione dei file presenti in una filelistbox

    Ciao a tutti,

    mi chiedevo se fosse possibile, e come fare a esportare dei file presenti in una listbox.

    Dunque, il mio programma ricerca tutti i file "file.txt" in tutte le sottocartelle della directory selezionata da FolderBrowseDialog e manda in output in una FileListBox tutti i file che trova, visualizzando l'intero percorso(C:\cartella1\cartella2\file.txt). selezionando il file risco a fare alcune operazioni a me necessarie, ma QUELLO CHE MI PIACEREBBE, per aggiungere una chicca, è esportare una copia del file mantenendo tutta la struttura delle cartelle, tralasciando tutti gli altri file all'interno, in una cartella specifica...
    In breve ricreare una copia del percorso che contiene solo il file trovato.

    Qualche consiglio?
    uso VB.

  2. #2
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Io ho sempre usato la funzione API di sistema
    SHFileOperation function (Windows)
    https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx

    che ora è diventata:
    IFileOperation interface (Windows)
    https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    14
    Ciao gibra, io ho la funzione copy, ma non riesco ad intercettare il file selezionato nella list box...
    System.IO.File.Copy(FilesListBox.SelectedItem, "C:\Documents and Settings\All Users\Documents\Software")

    grazie


  4. #4
    Utente di HTML.it L'avatar di patel
    Registrato dal
    Jan 2008
    Messaggi
    1,995
    io proverei con FilesListBox.SelectedItem.ToText

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    14
    La cosa è un pò complessa, almeno per me. Riesco a copiare il file se ne creo uno, e lo scrivo all'interno, vi faccio un esempio del mio intento:
    copiare il percorso selezionato nella listbox che risulta visualizzato così:
    C:\ Cartella1\Cartella2\Cartella3\Cartella4\File.txt
    dentro una nuova directory che dovrebbe essere uguale alla directory creata da me, + parte del percorso del file + il file:

    C:\Documenti\Cartella3\Cartella4\File.txt

    e questo per mantenere il percorso\Cartella3\Cartella4\File.txt che mi identifica a quale categoria il file "File.txt" appartiene.

    quello che faccio adesso (ma non serve al mio scopo) è copiare il file selezionato dentro un file creato da me in una directory creata da me.
    Penso che la cosa richieda la vostra esperienza, ed ogni esempio è benvenuto... io nel frattempo continuo a lavorarci, che studiare e anche trovare nuove cose serve sempre...:-)

    Grazie



  6. #6
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Quote Originariamente inviata da Cnnysuxx Visualizza il messaggio
    Ciao gibra, io ho la funzione copy, ma non riesco ad intercettare il file selezionato nella list box...
    System.IO.File.Copy(FilesListBox.SelectedItem, "C:\Documents and Settings\All Users\Documents\Software")
    Hai guardato il link che ti ho inviato???

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    14
    Certamente, ma non ho saputo trovare spunto o esempi in linguaggio vb.

  8. #8
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Quale versione di VB ?
    VB6.0 o VB.NET

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2017
    Messaggi
    14
    VB.NET

  10. #10
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    In effetti per VB.BET non c'è molto sul web...

    Eccoti le dichiarazioni per VB.NET con i flag più utilizzati:

    codice:
        ' -----------------------------------------
        ' SHFileOperation in VB.NET
        Private Structure SHFILEOPSTRUCT
            Dim hwnd As Integer
            Dim wFunc As Integer
            Dim pFrom As String
            Dim pTo As String
            Dim fFlags As Short
            Dim fAnyOperationsAborted As Boolean
            Dim hNameMappings As Integer
            Dim lpszProgressTitle As String
        End Structure
    
        Private Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperation" (ByRef lpFileOp As SHFILEOPSTRUCT) As Integer
    
        Private Const FOF_ALLOWUNDO As Short = &H40
        Private Const FOF_CONFIRMMOUSE As Short = &H2
        Private Const FOF_NOCONFIRMATION As Short = &H10S
        Private Const FO_COPY As Int32 = &H2
        Private Const FO_DELETE As Int32 = &H3
        Private Const FO_MOVE As Int32 = &H1
        Private Const FO_RENAME As Int32= &H4
        Private Const FOF_SILENT As Int32 = &H4
        Private Const FOF_RENAMEONCOLLISION As Int32= &H8
        Private Const FOF_SIMPLEPROGRESS As Int32= &H100

    Tieni presente che questa funzione di sistema (quella che mostra il dialogo standard) e 'ricrea' la struttura delle cartelle, nel tuo caso andrà chiamata per ogni file del tuo FilesListBox.
    Il link con la documentazione te l'ho già postato, non ti resta che procedere.


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.