|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 367
|
Spazio occuppato da una cartella
Ciao;
Da giorni impazzisco con il codice postato quì sotto per poter determinare lo spazio di una cartella. Quando la cartella supera le dimenzioni indicare mi dovrebbe comparire un messaggio che mi avvisa. Con questo codice funziona a volte, mentre altre volte no. Spero che qualcuno di voi possa aiutarmi a capire dove sbaglio. Lavoro con VB. Grazie... Set FSO = CreateObject("Scripting.FileSystemObject") Path = (App.Path & "\MiaCartella\") Set MyFolder = FSO.GetFolder(Path) If verifica.value = True Then dimMax = 4600 'dimenzione di un DVD Else dimMax = 650 'Dimenzione di un CD End If If (MyFolder.Size / 1048576) > dimMax Then MsgBox "Dimenzione SUPERIORE" |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 367
|
Possibile che nessuno possa abbia una soluzione per il mio problema???
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Io ereo più sicuro con il fatto che devi sfogliare tutti i file in quella cartella e alla fine sai uanto occupa... altrimenti se ci affidiamoa lle funzioni che fanno tutto loro magari alla fine nn funzionao...
Ti posto un esempio per sfogliare i file dentro ad una cartella... li basta che implementi il codice che quando trovi un file ne calcoli la sua dimensione.
__________________
"Analizzando e valutando ogni giorno tutte le idee, ho capito che spesso tutti sono convinti che una cosa sia impossibile, finchè arriva uno sprovveduto che non lo sa e la realizza!" A. Einstein |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jul 2001
Messaggi: 367
|
Ciao;
O provato il tuo esempio, aggiungendo il calcolo delle dimenzione dei file trovati funziona, però diventa "a mio giudizio" troppo dispendioso quando si tratta di elaborare troppi file e cartelle. Il codice che io avevo postato lo modificato così: Set FSO = CreateObject("Scripting.FileSystemObject") Path = (App.Path & "\moduli\rec\audio\") Set MyFolder = FSO.GetFolder(Path) If verifica.value = True Then dimMax = 4600 'GB If Format(CLng((MyFolder.Size / 1048576)), "######") > CLng(dimMax) Then msgbox "Dimenzione superata per DVD" Else dimMax = 600 'MB If Format(CLng((MyFolder.Size / 1048576)), "######") > CLng(dimMax) Then msgbox "Dimenzione superata x CD" End If In pratica Format(CLng((MyFolder.Size / 1048576)), "######") mi ritorna la dimenzione in MB quindi faccio ad esempio: Se la cartella e di 721 quindi > di 600 Visualizzo avviso per CD Se la cartella e di 4689 quindi > di 4600 Visualizzo avviso per DVD Al momento sembra funzionare. Magari se qualcuno può dirmi se effettivamente è corretta oppure no, gli e ne sarei grata. Ciao |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:23.



















