Differenze tra le versioni di "Calcolare il tempo trascorso mediante le funzioni esterne del sub-sistema Timers del API di GLib"
Da Gambas-it.org - Wikipedia.
Riga 61: | Riga 61: | ||
'''End''' | '''End''' | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | =Riferimenti= | ||
+ | * https://developer.gnome.org/glib/stable/glib-Timers.html |
Versione delle 08:50, 19 giu 2015
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 dinamica condivisa: libglib-2.0.so
Mostriamo un semplice esempio in ambiente grafico:
Private tempus As Pointer Library "libglib-2.0" 'libgio-2.0:0.4002.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" Button3.Text = "Arresta" 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 End Public Sub Button3_Click() ' Arresta il conteggio g_timer_destroy(tempus) End