Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    VB6-Aggiungere la progressbar per copia di molte directories

    CIAO!
    Ho notato ke sul forum ci sono molte discussioni ke parlano sempre di progressbar per copia di gruppi di files in una cartella.
    A me serve sapere come posso utilizzare la progressbar per copiare un gruppo di cartelle contenente molti files.

    Vi posto il codice ke uso per la copia:
    codice:
    Set fso = New FileSystemObject
    fso.CopyFolder fso.getfile(commonDialog1.fileName).ParentFolder), "C:\"
    Praticamente copio la cartella in cui è contenuto un file che seleziono con la commondialog.
    Nella cartella in cui c'è questo file però c'è un'altra cartella contenente delle sottocartelle (non file solo cartelle) all'interno delle quali sono contenuti i files!

    Cercando nel forum nn ho trovato un metodo che funzioni con una struttura di questo tipo!
    HELP!

  2. #2
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Per copiare una cartella e relative sottocartelle si deve usare fso.CopyFolder.
    Penso che il tuo problema nasca dal fatto che usi "fso.getfile(commonDialog1.fileName)" pertanto oltre a getfile (usata per copiare i file) c'è anche la CommDial che serve a selezionare i files.
    A mio avviso dovresti usare la funzione "InputBox" che consente all'utente di digitare/selezionare un percorso ed il nome della cartella, come origine della copia.
    In questo caso verrebbero copiati tutti i files della cartella principale e le sottocartelle con i relativi files. Quindi non sò se è compatibile con le tue esigenze: "Nella cartella in cui c'è questo file però c'è un'altra cartella contenente delle sottocartelle".
    Altrimenti potresti provare a copiare prima il file e poi le cartelle; o, viceversa, spostare il file di cui dici in una cartella primaria e poi copiare la predetta cartella con tutte le sottocartelle, in una volta sola.
    In quest'ultimo caso fammi sapere che ti posto un esempio.
    LM

  3. #3
    Ma io non ho problemi a copiare! Mi copia tutto!
    Il file in questione è un database ke gestisce le cartelle associando descrizioni ai vari files attraverso il mio programma. QUindi io ho volutamente programmato in modo che si debba selezionare il database e poi le cartelle della stessa cartella in cui si trova il database vengono copiate dove io voglio!
    Io nn uso get file per copiare! Uso copyfolder getfile lo uso per trovare la cartella in cui è il database selezionato!
    FUNZIONA TUTTO!

    Il mio problema è associare alla copia la progressbar!

    CIAO!

  4. #4
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Allora prova qui http://www.freevbcode.com/ ci sono un paio di classi interessanti.
    LM

  5. #5
    E' un link al paradiso questo!

    Ora vedo poi ti dico! Sono un po' scarsino in inglese!
    GRazie per ora!

  6. #6
    Nada!
    Non ho trovato un codice adatto...

    Io avevo pensato di mettere la proprietà MAX della barra uguale ai BYTE della cartella copiata e poi di usare un ciclo dove sinchè i byte della cartella generata dalla copia non sono uguali a quelli di della cartella copiata la value della Barra si aggiorna con il valore della dimensione della cartella ke sta venendo creata.

    Il problema è che quando parte la copia della cartella visual basic smette di leggere il codice seguente (quello ke aggiorna la barra) sino a che la copia stessa non è finita!!!


  7. #7
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    be per fare cio dovresti fare un ciclo su tutti i files da copiare e mano a mano aggiornare la progress bar,perche col metodo copyfolder lui copia la cartella e poi passa alla riga di codice sucessiva

  8. #8
    Si ma come lo faccio visto ke sono più files divisi in + cartelle?!?

  9. #9
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Il mio programma ha una struttura analoga (cartella contenente più sottocartelle) ed ho incontrato serie difficoltà. Sono riuscito ad emulare una barra di progressione, che sostanzialmente è posticcia ( accade che la copia delle cartelle e files è terminata e la barra continua ...)
    Per il motivo che anche tu hai riscontrato: "Il problema è che quando parte la copia della cartella visual basic smette di leggere il codice seguente (quello ke aggiorna la barra) sino a che la copia stessa non è finita!!!" ho dovuto rinunciare ad inserire nel progetto una PB.
    Occorrerebbe un contenitore ove far confluire tutti i files (Tipo: Oggetto DataObject) per poi determinarne le singole dimensioni e quindi far scorrere la PB.
    Ho provato anche ha costruire una PB, con un timer e due shape, graficamente molto carina, ma il risultato è stato sostanzialmente negativo, sempre per il motivo: "...sino a che la copia stessa non è finita".
    Nel mio caso e, considerato il tempo impiegato inutilmente, mi sembra che il gioco non valga più la candela.
    LM

  10. #10
    Ma come non ne vale la candela!!
    Se c'è un modo (e sono sicuro che c'è!) ci sarà qualcuno ke lo sa!
    Io lo scoprirò!

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