Prova a generare il file e se ottieni un errore, usa un numero per cambiare il nome (Copia 1).
Se ottieni ancora un errore, usa un valore diverso (2) e così via ...
Insomma, usa un piccolo algoritmo, come fa Windows internamente ...
Prova a generare il file e se ottieni un errore, usa un numero per cambiare il nome (Copia 1).
Se ottieni ancora un errore, usa un valore diverso (2) e così via ...
Insomma, usa un piccolo algoritmo, come fa Windows internamente ...
No MP tecnici (non rispondo nemmeno!), usa il forum.
Io farei un bel ciclo "while copiato=true" all'interno ci mettiOriginariamente inviato da trudi1990
Ciao a tutti,
in windows se cerchi di duplicare un file con lo stesso nome nella stessa cartella
mette la voce "Copia" davanti al file;
come posso fare in vb.net ad utilizzare questo meccanismo?
ovviamente non basta fare ad esempio io.file.copy(filea , "copia" + file a) perche' se anche il file copia + file a esiste genera un'eccezione.
System.IO.File.Exists(PercorsoSalvaFile)
se il file esiste il file diventa copiamiofile, di nuovo la riga precedente, se esiste allora il file diventa copia1miofile
ed esegui finchè il file non esiste...
non è proprio tutto, infatti con questo sistema ti devi creare una variabile contatore (per incrementare copia copia1, copia2, ecc..)... e... non è finita.....
ma se non ci riesci mi interessa per un mio progetto.......ti posto il codice
Chissà che qualcuno "bravo" ci dia una risposta migliore...
Sviluppo per passione
Io, da neofita, avevo fatto così:
al "clic copia" azzero la variabile per rinominare il file e richiamo un' altra sub che si occupa della copia, se questa genera un' eccezione con il Catch richiamo un' altra sub che cambia la variabile e richiama la sub della copia. Va avanti fino a che io.file.copy(filea , "copia" + file a) smette di generare eccezioni...sicuramente un ciclo come descritto prima è più elegante...
Poi per necessità ho deciso di aggiungere al nome del file data e ora, tipo:
BackUp_01062011_18.03.51_user.config
in questo modo è abbastanza improbabile generare un' eccezione.
ciao
Avevi chiesto e hai ottenuto dei consigli ... era scontato che facessi da te ...Originariamente inviato da trudi1990
chi fa da se fa per tre..![]()
![]()
No MP tecnici (non rispondo nemmeno!), usa il forum.
Perché la ricorsività non era necessaria e, sebbene elegante, può essere un metodologia pesante (pensa all'uso dello stack se avessi una cartella con 5000 foto e ti tocca trovare il nome 5001 ...).Originariamente inviato da trudi1990
anche se in realta' nessuno aveva dato l'idea della funzione ricorsiva..
In realtà, preferirei un metodo iterativo.
In che senso? Non si evitano affatto eccezioni.cosi' si evitano eccezioni
Esatto ...alla fine quello che conta e' risolvere il problema..![]()
No MP tecnici (non rispondo nemmeno!), usa il forum.