Differenze tra le versioni di "Ottenere la directory di appartenenza di un file mediante le funzioni esterne del API di libgio"
Da Gambas-it.org - Wikipedia.
(Una versione intermedia di uno stesso utente non è mostrata) | |||
Riga 3: | Riga 3: | ||
E' possibile con alcune funzioni della libreria ''Libgio'' sapere se un file possiede una directory genitore (di appartenza) e quale è tale directory. | E' possibile con alcune funzioni della libreria ''Libgio'' sapere se un file possiede una directory genitore (di appartenza) e quale è tale directory. | ||
− | E' necessario avere installata nel sistema e richiamare la libreria condivisa: "''libgio-2.0.so.0. | + | E' necessario avere installata nel sistema e richiamare la libreria condivisa: "''libgio-2.0.so.0.8000.3'' ". |
Mostriamo di seguito un semplice esempio pratico: | Mostriamo di seguito un semplice esempio pratico: | ||
− | Library "libgio-2.0:0. | + | Library "libgio-2.0:0.8000.3" |
<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 31: | Riga 31: | ||
− | + | Public Sub Main() | |
Dim gf, parent As Pointer | Dim gf, parent As Pointer | ||
Riga 37: | Riga 37: | ||
Dim s As String | Dim s As String | ||
− | gf = g_file_new_for_path("''/percorso/del/file''") | + | gf = g_file_new_for_path("<FONT Color=darkgreen>''/percorso/del/file''</font>") |
If gf == 0 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 !") | ||
Riga 51: | Riga 51: | ||
g_object_unref(gf) | g_object_unref(gf) | ||
− | + | End | |
Versione attuale delle 17:40, 3 lug 2024
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 file possiede una directory genitore (di appartenza) e quale è tale directory.
E' necessario avere installata nel sistema e richiamare la libreria condivisa: "libgio-2.0.so.0.8000.3 ".
Mostriamo di seguito un semplice esempio pratico:
Library "libgio-2.0:0.8000.3" ' 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_has_parent (GFile *file, GFile *parent) ' Checks if file has a parent, and optionally, if it is parent. ' If parent is NULL then this function returns TRUE if file has any parent at all. ' If parent is non-NULL then TRUE is only returned if file is a child of parent. Private Extern g_file_has_parent(gfile As Pointer, parent As Pointer) As Boolean ' GFile * g_file_get_parent (GFile *file) ' Gets the parent directory for the file. If the file represents the root directory of the file system, then NULL will be returned. Private Extern g_file_get_parent(gfile As Pointer) As Pointer ' char * g_file_get_path (GFile *file) ' Gets the local pathname for GFile, if one exists. Private Extern g_file_get_path(gfile As Pointer) As String ' 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, parent As Pointer Dim bo As Boolean Dim s As String 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 !") If g_file_has_parent(gf, 0) Then parent = g_file_get_parent(gf) If parent == 0 Then Error.Raise("Impossibile creare un oggetto GFile con il percorso del primo file impostato !") Endif s = g_file_get_path(parent) Print s g_object_unref(gf) End