Calcolare il tempo trascorso mediante le funzioni esterne del sub-sistema Timers del API di GLib
Da Gambas-it.org - Wikipedia.
Versione del 8 mar 2021 alle 18:58 di Vuott (Discussione | contributi)
Il sotto-sistema Timers della libreria GLib fornisce funzioni per tenere traccia del tempo trascorso da un momento iniziale ad uno finale stabiliti dall'utente.
Per poter fruire delle risorse del sub-sistema Timers, è necessario richiamare nell'applicazione Gambas la libreria condivisa: "libglib-2.0.so "
Mostriamo un semplice esempio in ambiente grafico:
Private tempus As Pointer Library "libglib-2.0" ' oppure: libgio-2.0 ' GTimer * g_timer_new (void) ' Creates a new timer, and starts timing is implicitly called. Private Extern g_timer_new() As Pointer ' void g_timer_stop (GTimer *timer) ' Marks an end time. Private Extern g_timer_stop(GTimer As Pointer) ' gdouble g_timer_elapsed (GTimer *timer, gulong *microseconds) ' Returns the number of seconds elapsed, including any fractional part. Private Extern g_timer_elapsed(GTimer As Pointer, microseconds As Pointer) As Float ' void g_timer_destroy (GTimer *timer) ' Destroys a timer, freeing associated resources. Private Extern g_timer_destroy(GTimer As Pointer) Public Sub Form_Open() Button1.Text = "Avvia" Button2.Text = "Tempo trascorso" End Public Sub Button1_Click() ' Avvia il conteggio tempus = g_timer_new() End Public Sub Button2_Click() ' Segna l'ultimo conteggio e calcola la differenza con quello iniziale Dim ms As Long g_timer_stop(tempus) Print "Tempo trascorso: "; g_timer_elapsed(tempus, VarPtr(ms)) Print "Lettura dei microsecondi: "; ms g_timer_destroy(tempus) End