Spiego brevemente la situazione,
Ho creato un tasto che mi crei il backup di un file (C:\prova.txt)
il codice che uso è questo:
codice:
File.Copy("c:\prova.txt", "c:\prova.txt" " & TimeOfDay & ".bak")
Cosi facendo il programma alla pressione del tasto mi Copia il file "prova.txt" ed aggiunge come suffisso la data di creazione, quindi il file finale sarà:
prova.txthh.mm.ss.bak
Fin qui ci siamo, tutto perfetto...
Ora presumendo che prema in un secondo lo stesso tasto più volte il programma, OVVIAMENTE, darà errore perché il file che vuole andare a creare già esiste in quanto l'ora i minuti ed i secondi sono gli stessi.
Arrivo al dunque, io so che esiste il "try catch" per la gestione degli errore (Lo usavo in Python) però siccome non ho idea di come si usi in VB ho fatto quanto segue:
codice:
Dim x As Integer
Dim direct As String = "c:\prova.txt"
If IO.File.Exists(direct & TimeOfDay & ".bak")=True Then
While File.Exists(direct & TimeOfDay & ".bak") = True
x = x + 1
End While
File.Copy("c:\prova.txt", "c:\prova.txt" " & TimeOfDay & ".bak" & timeofday & x)
Else
File.Copy("c:\prova.txt", "c:\prova.txt" " & TimeOfDay & ".bak" & timeofday)
End If
Quindi in teoria quello che ho fatto è:
Se "c:\prova.txtORA.bak" esiste, inizia il ciclo... altrimenti scrivi il file "c:\prova.txtORA.bak"
CICLO: Finché "c:\prova.txtORA.bakx" esiste, aumenta di 1 il valore di x
Però anche se il codice (LOGICAMENTE non fa una piega) quando provo a cliccare due volte in un secondo sul bottone per creare il backup lo stesso mi da errore (credo che non entri proprio nel ciclo...
Cosa dovrei controllare??
Potrebbe essere perchè in direct in realtà uso (System.Environmen...)??
Il codice esatto che uso è simile a questo:
codice:
Dim direct As String = "System.Environment.GetFolderPath(Environment.SpecialFolder.Windows) & ""prova.txt""")
NB: I codici li ho scritti direttamente nel topic quindi potrebbe esserci qualche errore di sintassi/battitura (Preciso che in M.Studio non ho errori)
PS: Il titolo è "...e passare dati tra Form" perché questo sarà il secondo passaggio!