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"
 
 
 
' DIR *opendir (const char *__name)
 
' Open a directory stream on NAME.
 
Private Extern opendir(name As String) As Pointer
 
 
 
 
 
Public Sub Main()
 
  
 +
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
  Dim ss As String[]
 
  Dim s As String
 
Dim ris, cartella As String
 
    cartella = "/tmpe"
 
 
    
 
    
    drc = opendir("mydir")
+
  cartella = "/abcde"
    If drc == 0 Then Error.Raise("Directory inesistente !")
+
 
 
+
  drc = opendir(cartella)
End
+
  If drc == 0 Then Error.Raise("Directory inesistente !")
 +
 
 +
'''End'''

Versione delle 16: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