Differenze tra le versioni di "Sapere se un file esiste mediante le funzioni esterne del API di libgio"

Da Gambas-it.org - Wikipedia.
 
(3 versioni intermedie di uno stesso utente non sono mostrate)
Riga 3: Riga 3:
 
E' possibile con alcune funzioni della libreria ''Libgio'' sapere se un determinato file esiste.
 
E' possibile con alcune funzioni della libreria ''Libgio'' sapere se un determinato file esiste.
  
Sarà necessario richiamare la libreria (nella sua attuale versione): ''libgio-2.0.so.0.4002.0''
+
E' necessario avere installata nel sistema e richiamare in Gambas la libreria condivisa: "''libgio-2.0.so.0.7200.4'' ".
 
 
 
 
  
 
Mostriamo di seguito un semplice esempio pratico:
 
Mostriamo di seguito un semplice esempio pratico:
  Library "libgio-2.0:0.4002.0"
+
  Library "libgio-2.0:0.7200.4"
 
   
 
   
 
  <FONT Color=gray>' ''GFile * g_file_new_for_path (const char *path)''
 
  <FONT Color=gray>' ''GFile * g_file_new_for_path (const char *path)''
Riga 17: Riga 15:
 
  ' ''Check if a particular file exists.''</font>
 
  ' ''Check if a particular file exists.''</font>
 
  Private Extern g_file_query_exists(gfile As Pointer, cancellable As Pointer) As Boolean
 
  Private Extern g_file_query_exists(gfile As Pointer, cancellable As Pointer) As Boolean
 +
 +
<FONT Color=gray>' ''void g_object_unref (gpointer object)''
 +
' ''Decreases the reference count of object.''</font>
 +
Private Extern g_object_unref(gobject As Pointer)
 
   
 
   
 
   
 
   
Riga 24: Riga 26:
 
   Dim est As Boolean
 
   Dim est As Boolean
 
   
 
   
  gf = g_file_new_for_path("''/percorso/del/file''")
+
  gf = g_file_new_for_path("<FONT Color=gray>''/percorso/del/file''</font>")
  If IsNull(gf) Then Error.Raise("Impossibile creare un oggetto GFile con il percorso del file impostato !")
+
  If gf == 0 Then Error.Raise("Impossibile creare un oggetto GFile con il percorso del file impostato !")
 +
 
 +
  est = g_file_query_exists(gf, 0)
 +
  If est Then
 +
    Print "Il file esiste."
 +
  Else
 +
    Print "Il file non esiste."
 +
  Endif
 +
 
 +
  g_object_unref(gf)
 
    
 
    
  est = g_file_query_exists(gf, 0)
 
  If est Then
 
    Print "Il file esiste."
 
  Else
 
    Print "Il file non esiste."
 
  Endif
 
 
 
  '''End'''
 
  '''End'''
 
  
  
  
 
=Riferimenti=
 
=Riferimenti=
* [https://developer.gnome.org/gio/stable/ L'API di GIO]
+
* https://docs.gtk.org/gio/?q=g_file

Versione attuale delle 08:13, 30 apr 2023

La libreria Libgio fornisce un'astrazione del file system che permette alle applicazioni di accedere ai file locali e remoti.

E' possibile con alcune funzioni della libreria Libgio sapere se un determinato file esiste.

E' necessario avere installata nel sistema e richiamare in Gambas la libreria condivisa: "libgio-2.0.so.0.7200.4 ".

Mostriamo di seguito un semplice esempio pratico:

Library "libgio-2.0:0.7200.4"

' GFile * g_file_new_for_path (const char *path)
' Constructs a GFile for a given path. This operation never fails.
Private Extern g_file_new_for_path(path As String) As Pointer

' gboolean g_file_query_exists (GFile *file, GCancellable *cancellable)
' Check if a particular file exists.
Private Extern g_file_query_exists(gfile As Pointer, cancellable As Pointer) As Boolean

' void g_object_unref (gpointer object)
' Decreases the reference count of object.
Private Extern g_object_unref(gobject As Pointer)


Public Sub Main()

 Dim gf As Pointer
 Dim est As Boolean

 gf = g_file_new_for_path("/percorso/del/file")
 If gf == 0 Then Error.Raise("Impossibile creare un oggetto GFile con il percorso del file impostato !")
  
 est = g_file_query_exists(gf, 0)
 If est Then
   Print "Il file esiste."
 Else
   Print "Il file non esiste."
 Endif
  
 g_object_unref(gf)
  
End


Riferimenti