Verificare l'esistenza di una directory
Vai alla navigazione
Vai alla ricerca
Per verificare se una Directory esiste, si possono adottare almeno due modalità.
Uso delle risorse di Gambas
Si può utilizzare la funzione Exist( ), la quale ritorna vero se il file o la cartella, indicati nel suo parametro, sono esistenti.
Esempio pratico:
Public Sub Main()
Dim ris, cartella As String
cartella = "/tmp"
If Exist(cartella) = False Then ris = " non"
Print "La Directory "; cartella; ris; " esiste !"
End
Uso della funzione esterna opendir( )
Un'altra modalità prevede l'uso della funzione esterna "opendir( )", dichiarata nel file header "/usr/include/dirent.h". Tale funzione esterna restituisce un Puntatore valido, se non ha riscontrato errori nel tentativo di accesso alla Dyrectory impostata, altrimenti ritorna NULL, che in Gambas corrisponde, come valore predefinito di una variabile di tipo Puntatore, allo zero (0).
Library "libc:6"
' DIR *opendir (const char *__name)
' Open a directory stream on NAME.
Private Extern opendir(name As String) As Pointer
Public Sub Main()
Dim cartella As String
Dim drc As Pointer
cartella = "/abcde"
drc = opendir(cartella)
If drc == 0 Then Error.Raise("Directory inesistente !")
End