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 31: | Riga 31: | ||
Button1.Text = "Avvia" | Button1.Text = "Avvia" | ||
Button2.Text = "Tempo trascorso" | Button2.Text = "Tempo trascorso" | ||
− | + | ||
− | |||
'''End''' | '''End''' | ||
Riga 38: | Riga 37: | ||
'''Public''' Sub Button1_Click() <FONT Color=gray>' ''Avvia il conteggio''</font> | '''Public''' Sub Button1_Click() <FONT Color=gray>' ''Avvia il conteggio''</font> | ||
− | + | tempus = g_timer_new() | |
'''End''' | '''End''' | ||
Riga 47: | Riga 46: | ||
Dim ms As Long | 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''' | '''End''' |
Versione delle 18:58, 8 mar 2021
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