Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
L'abbonamento Ultimate di GeForce NOW ora comprende la nuova architettura Blackwell RTX con GPU RTX 5080 che garantisce prestazioni tre volte superiori alla precedente generazione. Non si tratta solo di velocità, ma di un'esperienza di gioco migliorata con nuove tecnologie di streaming e un catalogo giochi raddoppiato grazie alla funzione Install-to-Play
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Deebot X11 Omnicyclone implementa tutte le ultime tecnologie Ecovacs per l'aspirazione dei pavimenti di casa e il loro lavaggio, con una novità: nella base di ricarica non c'è più il sacchetto di raccolta dello sporco, sostituito da un aspirapolvere ciclonico che accumula tutto in un contenitore rigido
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Grazie ad un mocio rotante che viene costantemente bagnato e pulito, Narwal Flow assicura un completo e capillare lavaggio dei pavimenti di casa. La logica di intellignza artificiale integrata guida nella pulizia tra i diversi locali, sfruttando un motore di aspirazione molto potente e un sistema basculante per la spazzola molto efficace sui tappeti di casa
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 01-09-2009, 23:34   #1
first register
Member
 
L'Avatar di first register
 
Iscritto dal: Oct 2008
Messaggi: 326
[Vb] verificare l'esistenza di una directory

Vorrei sapere se c'è un modo rapido per verificare l'esistenza di una directory e nel caso in cui la directory non sia presente sul disco, per crearne una.

Ad esempio la mia applicazione va a caricare le immagini nella cartella C:\immagini\ ora, nel caso in cui l'applicazione sia avviata per la prima volta, la cartella potrebbe non essere presente sul disco e l'applicazione va in errore.

Pensavo di fare una verifica nel Form Load, ma come gestisco l'errore e la creazione della directory ?
first register è offline   Rispondi citando il messaggio o parte di esso
Old 02-09-2009, 00:16   #2
Y3PP4
Member
 
Iscritto dal: Jul 2009
Messaggi: 210
Premetto che non conosco VB e non sò che versione stai usando, ma per darti una mano mi son fatto una googlata e ho trovato questo per il "directory check" e questo per il make dir.

Spero ti siano di aiuto,

ciao!
__________________
La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta.
Isaac Asimov

Ultima modifica di Y3PP4 : 02-09-2009 alle 00:18.
Y3PP4 è offline   Rispondi citando il messaggio o parte di esso
Old 02-09-2009, 00:24   #3
||ElChE||88
Senior Member
 
Iscritto dal: Dec 2003
Messaggi: 4907
Dir e MkDir se VB6, Directory.Exists e Directory.CreateDirectory se VB.Net.

Ultima modifica di ||ElChE||88 : 02-09-2009 alle 00:26.
||ElChE||88 è offline   Rispondi citando il messaggio o parte di esso
Old 02-09-2009, 00:27   #4
first register
Member
 
L'Avatar di first register
 
Iscritto dal: Oct 2008
Messaggi: 326
Grazie mille! la versione è la 6.0, un pò old ma si tratta di applicazioni semplici e non mi va di cambiare.
Ho dato un occhiata alla funzione Dir e dovrebbe andare... speriamo.

Quote:
If Dir( "c:\myFile.txt") <> "" Then

MsgBox "It Exists!"
Else

MsgBox "No Go!"

End If

grazie.
first register è offline   Rispondi citando il messaggio o parte di esso
Old 02-09-2009, 00:47   #5
first register
Member
 
L'Avatar di first register
 
Iscritto dal: Oct 2008
Messaggi: 326
La funzione DIR permette di verificare l'esistenza dei file, ma non funziona con le directory...
first register è offline   Rispondi citando il messaggio o parte di esso
Old 02-09-2009, 08:25   #6
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da first register Guarda i messaggi
Vorrei sapere se c'è un modo rapido per verificare l'esistenza di una directory e nel caso in cui la directory non sia presente sul disco, per crearne una.

Ad esempio la mia applicazione va a caricare le immagini nella cartella C:\immagini\ ora, nel caso in cui l'applicazione sia avviata per la prima volta, la cartella potrebbe non essere presente sul disco e l'applicazione va in errore.

Pensavo di fare una verifica nel Form Load, ma come gestisco l'errore e la creazione della directory ?
La gestione degli errori in questo caso è superflua. Basta, come sempre, usare la libreria giusta. Aggiungi al progetto un Rif. alla libreria "Microsoft Scripting Runtime", dopodichè giocare con cartelle e files è facile :

Codice:
    Dim percorsoDir As String
    percorsoDir = "C:\immagini"
    
    Dim FSO As Scripting.FileSystemObject
    Set FSO = New Scripting.FileSystemObject
    If FSO.FolderExists(percorsoDir) Then
        MsgBox "Directory già esistente."
    Else
        FSO.CreateFolder (percorsoDir)
        MsgBox "Directory creata."
    End If
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 02-09-2009, 11:37   #7
||ElChE||88
Senior Member
 
Iscritto dal: Dec 2003
Messaggi: 4907
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
La gestione degli errori in questo caso è superflua. Basta, come sempre, usare la libreria giusta. Aggiungi al progetto un Rif. alla libreria "Microsoft Scripting Runtime", dopodichè giocare con cartelle e files è facile :
Per curiosità (di VB6 ne so veramente poco), che vantaggio c'è nell'usare la MSR invece di funzioni built-in come Dir e MkDir?
||ElChE||88 è offline   Rispondi citando il messaggio o parte di esso
Old 02-09-2009, 14:43   #8
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da ||ElChE||88 Guarda i messaggi
Per curiosità (di VB6 ne so veramente poco), che vantaggio c'è nell'usare la MSR invece di funzioni built-in come Dir e MkDir?
Finchè si fanno cose semplici, Dir e MkDir non hanno nessun particolare svantaggio. Il codice precedente può essere riscritto così :

Codice:
    Dim percorsoDir As String
    percorsoDir = "C:\immagini"

    If Dir(percorsoDir, vbDirectory) <> "" Then
        MsgBox "Directory già esistente."
    Else
        MkDir percorsoDir
        MsgBox "Directory creata."
    End If
first_register non è riuscito ad usarlo perchè ha omesso il parametro vbDirectory.
Inoltre Dir e MkDir sono comandi base di VB6 e non necessitano di riferimenti esterni.

Se invece vogliamo un accesso al File System più agile e completo, molto meglio il Microsoft Scripting Runtime. La dll del Rif è : C:\WINDOWS\system32\scrrun.dll. Personalmente non ho mai avuto problemi.
Inoltre si possono usare molti altri metodi interessanti ( .CopyFile, .CopyFolder, .MoveFile, .MoveFolder, .DeleteFile, .DeleteFolder, .DriveExists, la collection .Drives, metodi per gli stream, e molti altri... ).
Insomma, ci si avvicina già di più alla completezza dello spacename My.Computer.FileSystem. di VB.NET...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 02-09-2009, 15:43   #9
||ElChE||88
Senior Member
 
Iscritto dal: Dec 2003
Messaggi: 4907
Grazie mille.
||ElChE||88 è offline   Rispondi citando il messaggio o parte di esso
Old 02-09-2009, 20:27   #10
first register
Member
 
L'Avatar di first register
 
Iscritto dal: Oct 2008
Messaggi: 326
si esatto, per verificare l'esistenza della directory ho utilizzato questo codice:

Quote:
If Dir(App.Path & "\app\img\", vbDirectory) <> "" Then
MsgBox ("ok")
Directory exists, insert your file output code here
Else
MsgBox ("non esiste")
End If
Il file scrrun.dll si trova nella cartella windows32, ma se tento di caricare la libreria con il vb ottengo un messaggio di errore.
La dimensione del file è 168k è corretto ?
first register è offline   Rispondi citando il messaggio o parte di esso
Old 03-09-2009, 08:00   #11
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da first register Guarda i messaggi
Il file scrrun.dll si trova nella cartella windows32, ma se tento di caricare la libreria con il vb ottengo un messaggio di errore.
La dimensione del file è 168k è corretto ?
Cosa significa "caricare" ?
La devi semplicemente referenziare da menu Progetto / Riferimenti...
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 03-09-2009, 08:57   #12
first register
Member
 
L'Avatar di first register
 
Iscritto dal: Oct 2008
Messaggi: 326
Quote:
Originariamente inviato da MarcoGG Guarda i messaggi
Cosa significa "caricare" ?
La devi semplicemente referenziare da menu Progetto / Riferimenti...
Nella lista dei componenti non è presente la voce Microsoft Scripting Runtime, la dll scrrun.dll può essere selezionata manualmente all'interno della directory windows32 ma VB genera un messaggio di errore.
first register è offline   Rispondi citando il messaggio o parte di esso
Old 03-09-2009, 11:07   #13
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da first register Guarda i messaggi
Nella lista dei componenti non è presente la voce Microsoft Scripting Runtime, la dll scrrun.dll può essere selezionata manualmente all'interno della directory windows32 ma VB genera un messaggio di errore.
E il messaggio sarebbe ?
Usi Vista per caso ?
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 03-09-2009, 17:36   #14
first register
Member
 
L'Avatar di first register
 
Iscritto dal: Oct 2008
Messaggi: 326



La voce MS Runtime inizialmente non è presente nell'elenco, ma navigando su windows32 è possibile inserire la voce in elenco. Cliccando su OK, ottengo il messaggio di errore nell'immagine.

Uso XP.
first register è offline   Rispondi citando il messaggio o parte di esso
Old 03-09-2009, 20:03   #15
MarcoGG
Senior Member
 
L'Avatar di MarcoGG
 
Iscritto dal: Dec 2004
Messaggi: 3210
Quote:
Originariamente inviato da first register Guarda i messaggi



La voce MS Runtime inizialmente non è presente nell'elenco, ma navigando su windows32 è possibile inserire la voce in elenco. Cliccando su OK, ottengo il messaggio di errore nell'immagine.

Uso XP.
Ma per forza !
Quella è la finestra dei controlli aggiuntivi !

Microsoft Scripting Runtime va semplicemente referenziato aprendo la finestra dei Riferimenti : Menu Progetto / Riferimenti, NON Menu Progetto / Componenti.

scrrun.dll è una libreria di funzioni, non un controllo. Se tenti di caricare la libreria come controllo WinForm, ovvio che da errore.
MarcoGG è offline   Rispondi citando il messaggio o parte di esso
Old 03-09-2009, 21:05   #16
first register
Member
 
L'Avatar di first register
 
Iscritto dal: Oct 2008
Messaggi: 326
errore mio
Non ricevo più errori, sostituirò DIR con le funzioni della libreria anche perchè mette a disposizione più possibilità di controllo su file e cartelle.

grazie ancora.
first register è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre Prova GeForce NOW upgrade Blackwell: il cloud ga...
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco Ecovacs Deebot X11 Omnicyclone: niente più...
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio Narwal Flow: con il mocio orizzontale lava i pav...
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi Panasonic 55Z95BEG cala gli assi: pannello Tande...
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione HONOR Magic V5: il pieghevole ultra sottile e co...
Bioshock: il film di Netflix si far&agra...
Samsung 'trolla' Apple su X con la campa...
Apple Watch Series 11, Ultra 3 e SE 3 gi...
Landspace: il fallimento del lancio di u...
Windows 11 25H2: Microsoft rilascia le I...
Milano, dal 15 settembre via alle multe ...
IFA 2025: BLUETTI continua a innovare co...
Un 55 pollici 4K con Fire TV a un prezzo...
TSMC avvia la produzione interna di pell...
Come cambia la gamma iPhone con l'arrivo...
Anker lancia nuovi caricabatterie e powe...
IFA 2025: FRITZ! tra rebranding, Wi-Fi 7...
Sono prezzi super: MacBook Pro con chip ...
Huawei non si ferma: è leader del...
AirPods Pro 3 già disponibili su Amazon:...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 09:27.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v