Differenze tra le versioni di "Sovrascrivere una stringa con uno o più caratteri mediante le funzioni esterne del API di Libglib-2.0"
Da Gambas-it.org - Wikipedia.
Riga 4: | Riga 4: | ||
− | Mostriamo un esempio, nel quale verrà sovrascritta la parola "GAMBAS" su una stringa preesistente a partire dal | + | Mostriamo un esempio, nel quale verrà sovrascritta la parola "GAMBAS" su una stringa preesistente a partire dal 5° carattere (num. indice 4) della stringa medesima: |
Library "libglib-2.0" | Library "libglib-2.0" | ||
Versione delle 05:10, 28 ott 2015
E' possibile sovrascrivere una parte ben determinata di una stringa con uno o più caratteri, a cominciare da una specificata posizione, 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 verrà sovrascritta la parola "GAMBAS" su una stringa preesistente a partire dal 5° carattere (num. indice 4) 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_overwrite (GString *string, gsize pos, const gchar *val) ' Overwrites part of a string, lengthening it if necessary. Private Extern g_string_overwrite(GString As Pointer, gpos As Integer, gval As String) 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_overwrite(p1, 4, "GAMBAS") 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