Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
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: 4908
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: 4908
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: 4908
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


Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
SpaceX ha confermato che Flight 14 sar&a...
Googlebook pronto al debutto: Google apr...
Guida all'acquisto: quale lavapavimenti ...
Google Maps su Android Auto introduce fi...
AMD Ryzen 5 5500F: fino al 16% di presta...
L'ecosistema partner di Microsoft cresce...
Oracle registra un boom nella divisione ...
Amazon Prime Video sfida TikTok con le n...
L'uscita di Rayman Legends Retold &egrav...
Dazio UE sui pacchi extra UE, in Italia ...
La nuova lavatrice smart di Xiaomi ha tr...
Hai una PSP nel cassetto? Questo nuovo p...
Oracle presenta Java 27 con diverse novi...
Il microscopio dell'EPFL vede più...
Volvo avvia la produzione dei nuovi cami...
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: 23:41.


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