Gestione del tempo mediante le funzioni esterne del API di Libcsfml
Vai alla navigazione
Vai alla ricerca
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