Differenze tra le versioni di "Ottenere la lista di tutte le variabili d'ambiente nel proprio sistema mediante le risorse del API di GLIB-2.0"
Da Gambas-it.org - Wikipedia.
(13 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1: | Riga 1: | ||
− | La funzione esterna | + | La funzione esterna "g_get_environ()" del API di GLIB-2.0 consente di ottenere una lista di tutte le [https://it.wikipedia.org/wiki/Variabile_d%27ambiente variabili d'ambiente] nel nostro sistema. |
− | |||
− | |||
+ | E' necessario avere installata e richiamare in Gambas la libreria condivisa: "''libglib-2.0.so.0.8200.4'' ". | ||
Mostriamo un semplice esempio: | Mostriamo un semplice esempio: | ||
− | Library "libglib-2.0:0. | + | Library "libglib-2.0:0.8200.4" |
<FONT Color=gray>' ''gchar ** g_get_environ (void)'' | <FONT Color=gray>' ''gchar ** g_get_environ (void)'' | ||
Riga 16: | Riga 15: | ||
− | + | Public Sub Main() | |
Dim en As Pointer | Dim en As Pointer | ||
Riga 23: | Riga 22: | ||
en = g_get_environ() | en = g_get_environ() | ||
− | + | If en == 0 Then Error.Raise("Errore !") | |
+ | |||
Repeat | Repeat | ||
s = String@(Pointer@(en + i)) | s = String@(Pointer@(en + i)) | ||
Riga 29: | Riga 29: | ||
i += SizeOf(gb.Pointer) | i += SizeOf(gb.Pointer) | ||
Until s == Null | Until s == Null | ||
+ | |||
+ | g_strfreev(en) | ||
− | + | End | |
− | + | ||
− | + | ||
+ | |||
+ | =Riferimenti= | ||
+ | * https://docs.gtk.org/glib/func.get_environ.html |
Versione attuale delle 14:50, 16 dic 2024
La funzione esterna "g_get_environ()" del API di GLIB-2.0 consente di ottenere una lista di tutte le variabili d'ambiente nel nostro sistema.
E' necessario avere installata e richiamare in Gambas la libreria condivisa: "libglib-2.0.so.0.8200.4 ".
Mostriamo un semplice esempio:
Library "libglib-2.0:0.8200.4" ' gchar ** g_get_environ (void) ' Gets the list of environment variables for the current process. Private Extern g_get_environ() As Pointer ' void g_strfreev (gchar **str_array) ' Frees a NULL-terminated array of strings. Private Extern g_strfreev(str_array As Pointer) Public Sub Main() Dim en As Pointer Dim i As Integer Dim s As String en = g_get_environ() If en == 0 Then Error.Raise("Errore !") Repeat s = String@(Pointer@(en + i)) Print s i += SizeOf(gb.Pointer) Until s == Null g_strfreev(en) End