Controllare l'uguaglianza di due file mediante le funzioni esterne del API di libgio
Da Gambas-it.org - Wikipedia.
Versione del 14 ago 2022 alle 16:52 di Vuott (Discussione | contributi)
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 controllare se due file sono uguali. Si noti che due oggetti GFile che differiscono possono ancora fare riferimento allo stesso file del file system a causa di varie forme di aliasing del nome del file.
Sarà necessario richiamare la libreria condivisa: "libgio-2.0.so.0.6400.6 "
Mostriamo di seguito un semplice esempio pratico:
Library "libgio-2.0:0.6400.6" ' 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_equal (GFile *file1, GFile *file2) ' Checks equality of two given GFiles. Private Extern g_file_equal(gfile1 As Pointer, gfile2 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 gf1, gf2 As Pointer Dim bo As Boolean gf1 = g_file_new_for_path("/percorso/del/primo/file") If gf1 == 0 Then Error.Raise("Impossibile creare un oggetto GFile con il percorso del primo file impostato !") gf2 = g_file_new_for_path("/percorso/del/secondo/file") If gf2 == 0 Then Error.Raise("Impossibile creare un oggetto GFile con il percorso del secondo file impostato !") bo = g_file_equal(gf1, gf2) Print bo g_object_unref(gf2) g_object_unref(gf1) End