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" | |
− | + | ||
− | + | p1 = g_string_new(s) | |
− | + | ||
− | + | p2 = g_string_erase(p1, 4, 5) | |
− | + | ||
− | + | 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(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