Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,110

    Selezionare file multipli con common dialog.

    Ciao il controllo commondialog mi consente di selezionare solo un file alla volta (con common1.showopen) c'è un modo per ottenere una lista di file? Ovvero selezionarle + di 1 alla volta? Grazie

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    codice:
       CommonDialog1.MaxFileSize = 4096
       CommonDialog1.FileName = ""
       CommonDialog1.Filter = "All Files|*.*"
       CommonDialog1.Flags = cdlOFNAllowMultiselect Or cdlOFNExplorer
       CommonDialog1.ShowOpen
    e usi il tasto Ctrl per selezionare piu' file

  3. #3
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,110
    grazie oregon!
    Lo provo subito!
    Smack!

  4. #4
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,110
    ok ho provato e funziona! Però non ho idea di come gestire la lista di file selezionati....come faccio?

  5. #5
    Utente di HTML.it L'avatar di Boolean
    Registrato dal
    Oct 2005
    Messaggi
    758
    Il CommonDialog ti restituisce nalla sua proprietà FileName, un'unica stringa formata dal percorso e da tutti i nomi files selezionati separati dal carattere Null.

    in pratica:

    (tenendo conto che # rappresenta il carattere Null)

    codice:
    Elenco = "C:\Temp#File1.txt#File2.txt#File3.txt#File4.txt"
    per avere i valori separati, puoi utilizzare una Split:

    codice:
    ElencoFiles = Split(Elenco, vbNull)
    a questo punto nel primo elemento dell'array avrai il percorso in tutti gli altri i singoli nomi dei files, quindi:

    codice:
    ElencoFiles(0) = "C:\Temp"
    ElencoFiles(1) = "File1.txt"
    ElencoFiles(2) = "File2.txt"
    ElencoFiles(3) = "File3.txt"
    ElencoFiles(4) = "File4.txt"
    Boolean

  6. #6
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,110
    Non riesco!

    ti faccio l'esempio.
    Io apro la common:

    codice:
    Dim i as integer
    Dim elencoFiles
    CommonDialog1.MaxFileSize = 4096
       CommonDialog1.FileName = ""
       CommonDialog1.Filter = "All Files|*.*"
       CommonDialog1.Flags = cdlOFNAllowMultiselect Or cdlOFNExplorer
       CommonDialog1.ShowOpen
    Poi faccio lo split (che non so nemmeno in cosa consiste!)

    codice:
    elencoFiles=split(commonDialog1.FileName,vbNull)
    Poi mettiamo il caso che voglio copiare i file selezionati... che gli dico?

    codice:
     do until i ="come so quanti file ho selezionato?"
    filecopy elencofiles(0) & "\" & elencofiles(i),"C:\miacartella"
    i=i+1
    loop
    Dovrebbe esser così? Perchè non mi funge bene...anche senza usare la variabile "i" e mettendo il numero nel codice...

  7. #7
    Utente di HTML.it L'avatar di Boolean
    Registrato dal
    Oct 2005
    Messaggi
    758
    mai sentito parlare della UBound()?

    Boolean

  8. #8
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,110
    no...

  9. #9
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,110
    Ok...ma a me sembra che sia lo split che non funziona....infatti mi resta lo stringone con tutti i null...

  10. #10
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,110
    Ho risolto!
    Era lo split infatti!

    Il carattere che separa non è vbNull ma Chr(0)

    ciao e grazie

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 © 2024 vBulletin Solutions, Inc. All rights reserved.