Differenze tra le versioni di "Timer"
Riga 45: | Riga 45: | ||
− | '''Public''' timer1_Timer() | + | '''Public''' timer1_Timer() |
<Font Color= #006400>' ''Possiamo impostare qui il ritardo principale del "Timer":''</font> | <Font Color= #006400>' ''Possiamo impostare qui il ritardo principale del "Timer":''</font> |
Versione delle 19:22, 9 gen 2013
La Classe Timer può essere creata da codice:
Private timer1 As Timer Public Sub Form_Open() With timer1 = New Timer As "timer1" ' In questo caso il "Timer" si attiva ogni 500 millisecondi: .Delay = 500 ' Quindi viene attivato: .Start End With End Public timer1_Timer() ' Viene sollevato l'evento "_Timer" (ogni ms 500) ' ...qui fa qualcosa... End
Evitare un ritardo nell'attivazione del Timer
L'esempio precedente prevede un ritardo, posto con la proprietà .Delay, di 500 millisecondi. Questo ritardo avverrà anche al momento della sua prima attivazione, ossia della partenza del Timer medesimo. Per ovviare a questo ritardo in fase di prima attivazione (partenza iniziale), si dovrà porre la proprietà .Delay ad 1 millisecondo (ma se non interessa una partenza con questo bassissimo ritardo, ovviamente si può porre un qualunque valore). La definizione del ritardo principale (quello che nel precedente esempio era di ms 500) potrà essere posta altrove (anche nella sub-routine scatenata dall'evento _Timer):
Private timer1 As Timer Public Sub Form_Open() With timer1 = New Timer As "timer1" ' Qui poniamo il ritardo minimo della prima attivazione del "Timer": .Delay = 1 End With End Public Sub Button1_Click() ' Qui ad esempio attiviamo il "Timer": timer1.Start End Public timer1_Timer() ' Possiamo impostare qui il ritardo principale del "Timer": timer1..Delay = 500 ' ...qui fa qualcosa... End
Usare l'oggetto speciale Timer
L'uso del Timer potrà avvenire, oltre attraverso la creazione della specifica Classe Timer, anche ponendo sul Form l'oggetto speciale Timer presente nell'IDE di Gambas.
Facciamo un altro semplice esempio esplicativo del funzionamento del Timer, suppondendo in questo caso che sia stato posto sul Form l'oggetto speciale Timer:
Private a As Integer Public SUB Form_Open() With Timer1 ' All'avvio poniamo il Timer come disabilitato: .Enabled = False ' poniamo il Delay inizialmente a 1 millisecondo, ' per non generare alcun ritardo quando premeremo il tasto "Button1": .Delay = 1 End With End Public SUB Button1_Click() With Timer1 ' Viene posto un ritardo pari a ms 100 .Delay = 100 ' Viene abilitato il Timer, il quale solleva l'evento "_Timer" ' (il risultato del metodo ".Enabled = True" è equivalente al metodo ".Start"): .Enabled = True End Public Sub Timer1_Timer() ' Subroutine invocata con l'attivazione di Timer ' ogni ms 100 verrà stampato in console il nuovo valore della variabile " a " Print a Inc a End