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.
Riga 1: Riga 1:
 
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'' .
 
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''"
+
Sarà necessario aver installato nel sistema e richiamare nell'applicazione Gambas la libreria condivisa: "''libglib-2.0.so.0.6400.6'' ".
  
  
Riga 24: Riga 24:
 
   Dim s As String
 
   Dim s As String
 
   Dim p1, p2 As Pointer
 
   Dim p1, p2 As Pointer
    
+
  s = "abcde fghilm nopqrstuvz"
+
   s = "abcde fghilm nopqrstuvz"
    
+
  p1 = g_string_new(s)
+
   p1 = g_string_new(s)
     
+
     
  p2 = g_string_erase(p1, 4, 5)
+
  p2 = g_string_erase(p1, 4, 5)
   
+
 
  Print String@(Pointer@(p2))
+
  Print String@(Pointer@(p2))
   
+
 
 
  <FONT Color=gray>' ''Va in chiusura liberando memoria occupata precedentemente dai due "Puntatori" utilizzati:''</font>
 
  <FONT Color=gray>' ''Va in chiusura liberando memoria occupata precedentemente dai due "Puntatori" utilizzati:''</font>
  g_string_free(p2, True)
+
  g_string_free(p2, True)
  g_string_free(p1, True)
+
  g_string_free(p1, True)
 
+
 
  '''End'''
 
  '''End'''

Versione delle 17:45, 9 dic 2021

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 condivisa: "libglib-2.0.so.0.6400.6 ".


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, 4, 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