Differenze tra le versioni di "Gestione del tempo mediante le funzioni esterne del API di Libcsfml"
Da Gambas-it.org - Wikipedia.
Riga 7: | Riga 7: | ||
Nell'esempio che segue mostreremo un possibile codice per realizzare un semplice cronografo: | Nell'esempio che segue mostreremo un possibile codice per realizzare un semplice cronografo: | ||
Private tempus As Pointer | Private tempus As Pointer | ||
− | Private v As Boolean | + | Private v As Boolean |
Riga 27: | Riga 27: | ||
' ''Destroy an existing clock.''</font> | ' ''Destroy an existing clock.''</font> | ||
Private Extern sfClock_Destroy(clock As Pointer) | Private Extern sfClock_Destroy(clock As Pointer) | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Riga 39: | Riga 32: | ||
If ToggleButton1.Value Then | If ToggleButton1.Value Then | ||
+ | tempus = sfClock_Create() | ||
+ | v = True | ||
While v | While v | ||
Label1.Text = Format(Date(0, 0, 0, 0, 0, 0, Fix(sfClock_GetTime(tempus) * 1000)), "nn:ss.uu") | Label1.Text = Format(Date(0, 0, 0, 0, 0, 0, Fix(sfClock_GetTime(tempus) * 1000)), "nn:ss.uu") |
Versione delle 02:11, 1 apr 2014
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 (nella versione attuale): 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