Differenze tra le versioni di "Rimuovere tot caratteri da una stringa mediante le funzioni esterne del API di Libglib-2.0"

Da Gambas-it.org - Wikipedia.
(Creata pagina con 'E' possibile eliminare da una stringa un certo numero di caratteri, partendo da un determinato carattere presente nella stringa medesima, utilizzando alcune funzioni della lib...')
(Nessuna differenza)

Versione delle 16:52, 23 lug 2015

E' possibile eliminare da una stringa un certo numero di caratteri, partendo da un determinato carattere presente nella stringa medesima, utilizzando alcune funzioni della libreria esterna libglib-2.0 .

Sarà necessario aver installato nel sistema e richiamare nell'applicazione Gambas la libreria: "libglib-2.0.so"


Mostriamo un esempio, nel quale verranno eliminati da una stringa 5 caratteri a partire dal 4° carattere della stringa medesima:

Library "libglib-2.0"

' GString * g_string_new (const gchar *init)
' Creates a new GString, initialized with the given string.
Private Extern g_string_new(init As String) As Pointer

' GString * g_string_erase (GString *string, gssize pos, gssize len)
' Removes len bytes from a GString, starting at position pos.
Private Extern g_string_erase(GString As Pointer, gpos As Integer, glen As Integer) As Pointer

' gchar * g_string_free (GString *string, gboolean free_segment)
' Frees the memory allocated for the GString.
Private Extern g_string_free(GString As Pointer, free_segment As Boolean) As String


Public Sub Main()

 Dim s As String
 Dim p1, p2 As Pointer
 
  s = "abcde fghilm nopqrstuvz"
 
  p1 = g_string_new(s)
      
  p2 = g_string_erase(p1, 1, 5)
   
  Print String@(Pointer@(p2))
   
' Va in chiusura liberando memoria occupata precedentemente dai due "Puntatori" utilizzati:
  g_string_free(p2, True)
  g_string_free(p1, True)
 
End