Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Polestar 3 Performance, test drive: comodità e potenza possono convivere
Polestar 3 Performance, test drive: comodità e potenza possono convivere
Abbiamo passato diversi giorni alla guida di Polestar 3, usata in tutti i contesti. Come auto di tutti i giorni è comodissima, ma se si libera tutta la potenza è stupefacente
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026
In occasione del proprio Architecture Deep Dive 2025 Qualcomm ha mostrato in dettaglio l'architettura della propria prossima generazione di SoC destinati ai notebook Windows for ARM di prossima generazione. Snapdragon X2 Elite si candida, con sistemi in commercio nella prima metà del 2026, a portare nuove soluzioni nel mondo dei notebook sottili con grande autonomia
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice
DJI Mini 5 Pro porta nella serie Mini il primo sensore CMOS da 1 pollice, unendo qualità d'immagine professionale alla portabilità estrema tipica di tutti i prodotti della famiglia. È un drone C0, quindi in un peso estremamente contenuto e che non richiede patentino, propone un gimbal rotabile a 225 gradi, rilevamento ostacoli anche notturno e autonomia fino a 36 minuti. Caratteristiche che rendono il nuovo drone un riferimento per creator e appassionati
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 02-09-2009, 00: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, 01: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 01:18.
Y3PP4 è offline   Rispondi citando il messaggio o parte di esso
Old 02-09-2009, 01: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 01:26.
||ElChE||88 è offline   Rispondi citando il messaggio o parte di esso
Old 02-09-2009, 01: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, 01: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, 09: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, 12: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, 15: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, 16: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, 21: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, 09: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, 09: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, 12: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, 18: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, 21: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, 22: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


Polestar 3 Performance, test drive: comodità e potenza possono convivere Polestar 3 Performance, test drive: comodit&agra...
Qualcomm Snapdragon X2 Elite: l'architettura del SoC per i notebook del 2026 Qualcomm Snapdragon X2 Elite: l'architettura del...
Recensione DJI Mini 5 Pro: il drone C0 ultra-leggero con sensore da 1 pollice Recensione DJI Mini 5 Pro: il drone C0 ultra-leg...
ASUS Expertbook PM3: il notebook robusto per le aziende ASUS Expertbook PM3: il notebook robusto per le ...
Test ride con Gowow Ori: elettrico e off-road vanno incredibilmente d'accordo Test ride con Gowow Ori: elettrico e off-road va...
ESA: rilevati 40 mila asteroidi vicino a...
La batteria salva fabbriche di EQORE ott...
SpaceX Starship: iniziati i test della t...
Datacenter IA nello spazio entro 5 anni,...
Telescopio spaziale James Webb: rilevato...
Ericsson Mobility Report: nel 2025 il 5G...
PLAI DEMO DAY: si chiude il secondo cicl...
Google rilascia Nano Banana Pro: il nuov...
ChatGPT si rinnova ancora: disponibile l...
Ring lancia super sconti di Black Friday...
Black Friday 2025: 450 euro di sconto su...
Tutte le offerte Blink in un unico posto...
OpenAI e Foxconn uniscono le forze per r...
Ricarica delle auto elettriche in 3 minu...
Lucid presenta Gravity Touring, il SUV e...
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: 22:21.


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