Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Samsung Galaxy Z Fold7: un grande salto generazionale
Recensione Samsung Galaxy Z Fold7: un grande salto generazionale
Abbiamo provato per molti giorni il nuovo Z Fold7 di Samsung, un prodotto davvero interessante e costruito nei minimi dettagli. Rispetto al predecessore, cambiano parecchie cose, facendo un salto generazionale importante. Sarà lui il pieghevole di riferimento? Ecco la nostra recensione completa.
The Edge of Fate è Destiny 2.5. E questo è un problema
The Edge of Fate è Destiny 2.5. E questo è un problema
Bungie riesce a costruire una delle campagne più coinvolgenti della serie e introduce cambiamenti profondi al sistema di gioco, tra nuove stat e tier dell’equipaggiamento. Ma con risorse limitate e scelte discutibili, il vero salto evolutivo resta solo un’occasione mancata
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello
AMD ha aggiornato l'offerta di CPU HEDT con i Ryzen Threadripper 9000 basati su architettura Zen 5. In questo articolo vediamo come si comportano i modelli con 64 e 32 core 9980X e 9970X. Venduti allo stesso prezzo dei predecessori e compatibili con il medesimo socket, le nuove proposte si candidano a essere ottimi compagni per chi è in cerca di potenza dei calcolo e tante linee PCI Express per workstation grafiche e destinate all'AI.
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: 323
[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: 323
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: 323
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: 323
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: 323
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: 323



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: 323
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


Recensione Samsung Galaxy Z Fold7: un grande salto generazionale Recensione Samsung Galaxy Z Fold7: un grande sal...
The Edge of Fate è Destiny 2.5. E questo è un problema The Edge of Fate è Destiny 2.5. E questo ...
Ryzen Threadripper 9980X e 9970X alla prova: AMD Zen 5 al massimo livello Ryzen Threadripper 9980X e 9970X alla prova: AMD...
Acer TravelMate P4 14: tanta sostanza per l'utente aziendale Acer TravelMate P4 14: tanta sostanza per l'uten...
Hisense M2 Pro: dove lo metti, sta. Mini proiettore laser 4K per il cinema ovunque Hisense M2 Pro: dove lo metti, sta. Mini proiett...
SpaceX Starship: Ship 37 ha eseguito due...
Sharkoon punta sui case a basso costo, m...
La tua rete Wi-Fi fa pena? Questi FRITZ!...
Amazon, un weekend di fuoco per gli scon...
Ancora 3 smartwatch Amazfit in forte sco...
Sharkoon A60 RGB: dissipatore ad aria du...
HONOR 400 Pro a prezzo bomba su Amazon: ...
Offerte da non perdere: robot aspirapolv...
Apple Watch e Galaxy Watch ai minimi sto...
Il rover NASA Perseverance ha ''raccolto...
NASA e ISRO hanno lanciato il satellite ...
Switch 2 ha venduto 5,82 milioni di cons...
Assassin's Creed Black Flag Remake: le m...
Cosa ci fa una Xiaomi SU7 Ultra alle por...
Promo AliExpress Choice Day: prezzi stra...
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: 06:38.


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