Gestione del tempo mediante le funzioni esterne del API di Libcsfml
Da Gambas-it.org - Wikipedia.
La libreria SFML (Simple and Fast Multimedia Library) fornisce una semplice interfaccia multipiattaforma per facilitare lo sviluppo di giochi e applicazioni multimediali in genere. Essa si compone di cinque moduli: sistema, finestre, grafica, audio e di rete. Qui tratteremo ovviamente del modulo attinente al sistema, ed in particolare delle funzioni descritte nel file header Clock.h
Per poter fruire delle risorse e delle funzioni esterne della libreria libcsfml, bisognerà richiamare nell'applicativo Gambas la libreria: "libcsfml-system.so.1.6 ".
Nell'esempio che segue mostreremo un possibile codice per realizzare un semplice cronografo:
Private tempus As Pointer Private v As Boolean Library "libcsfml-system:1.6" ' sfClock* sfClock_Create() ' Create a new clock and start it. Return A new sfClock object. Private Extern sfClock_Create() as Pointer ' float sfClock_GetTime(sfClock* Clock) ' Get the time elapsed for a clock. Private Extern sfClock_GetTime(clock As Pointer) as Single ' void sfClock_Reset(sfClock* Clock) ' Restart a clock. Private Extern sfClock_Reset(clock As Pointer) ' void sfClock_Destroy(sfClock* Clock) ' Destroy an existing clock. Private Extern sfClock_Destroy(clock As Pointer) Public Sub ToggleButton1_Click() If ToggleButton1.Value Then tempus = sfClock_Create() v = True While v Label1.Text = Format(Date(0, 0, 0, 0, 0, 0, Fix(sfClock_GetTime(tempus) * 1000)), "nn:ss.uu") Wait 0.001 Wend Label1.Text = Null Else v = False sfClock_Destroy(tempus) Endif End