Associare una stringa a un identificatore unico numerico mediante le funzioni Quarks del API di libglib-2.0

Da Gambas-it.org - Wikipedia.

Le funzioni esterne "Quarks" della libreria di Glib-2.0 consentono di associare una stringa a un identificatore unico numerico.

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

In particolare:

  • la funzione "g_quark_from_string()" attribuisce un numero unico identificativo a una determinata stringa;
  • la funzione "g_quark_to_string()" restituisce dal numero la stringa a esso associata;
  • la funzione "g_quark_try_string()" restituisce il numero associato a una determinata stringa.


Mostriamo di seguito un semplice esempio pratico:

Library "libglib-2.0:0.7200.4"

' GQuark g_quark_from_string (const gchar *string)
' Gets the GQuark identifying the given string
Private Extern g_quark_from_string(gstring As String) As Integer

' const gchar * g_quark_to_string (GQuark quark)
' Gets the string associated with the given GQuark.
Private Extern g_quark_to_string(quark As Integer) As String

' GQuark g_quark_try_string (const gchar *string)
' Gets the GQuark associated with the given string, or 0 if string is NULL or it has no associated GQuark.
Private Extern g_quark_try_string(gstring As String) As Integer


Public Sub Main()

 Dim s1, s2 As String
 Dim qrk As Integer
 
 s1 = "xxxxxxxxxxxxxxxx"
 qrk = g_quark_from_string(s1)
 Print qrk
 Print g_quark_to_string(qrk)
 
 Print
 
 s2 = "zzzzzzzzzzzzzzzz"
 qrk = g_quark_from_string(s2)
 Print qrk
 Print g_quark_to_string(qrk)
 
 Print
 
 Print g_quark_try_string(s1)
 Print g_quark_try_string(s2)
 
End


Riferimenti