Differenze tra le versioni di "Verificare l'esistenza di una directory"
Da Gambas-it.org - Wikipedia.
(Creata pagina con "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 r...") |
|||
Riga 20: | Riga 20: | ||
==Uso della funzione esterna ''opendir( )''== | ==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 | + | Un'altra modalità prevede l'uso della funzione esterna "''[http://man7.org/linux/man-pages/man3/opendir.3.html 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" | ||
+ | |||
+ | <FONT Color=gray>' ''DIR *opendir (const char *__name)'' | ||
+ | ' ''Open a directory stream on NAME.''</font> | ||
+ | Private Extern opendir(name As String) As Pointer | ||
+ | |||
+ | |||
+ | '''Public''' Sub Main() | ||
+ | |||
+ | Dim cartella As String | ||
Dim drc As Pointer | Dim drc As Pointer | ||
− | |||
− | |||
− | |||
− | |||
− | + | cartella = "/abcde" | |
− | + | ||
− | + | drc = opendir(cartella) | |
− | End | + | If drc == 0 Then Error.Raise("Directory inesistente !") |
+ | |||
+ | '''End''' |
Versione delle 15:10, 21 mag 2017
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