Differenze tra le versioni di "Temporizzare una funzione o un evento"
Da Gambas-it.org - Wikipedia.
Riga 1: | Riga 1: | ||
Il caso è quello in cui intendiamo prevedere l'attivazione di una funzione o in generale di un evento ad un certo orario. | Il caso è quello in cui intendiamo prevedere l'attivazione di una funzione o in generale di un evento ad un certo orario. | ||
− | + | Poniamo, come esempio, di voler lanciare a un certo orario il programma ''Gedit'' (o altro programma), e ad un altro orario farlo chiudere. Inseriremo a tal fine, per semplicità, due ''TextBox''. Nel primo ''TextBox'' inseriremo l'orario di apertura del programma ''Gedit'', mentre nel secondo l'orario in cui dovrà essere chiuso. In entrambi i ''TextBox'' si inserirà l'orario con il seguente formato: ''hh:mm:ss'' . | |
− | Poniamo, come esempio, di voler lanciare | + | Private pr As Process |
− | |||
'''Public''' Sub Button1_Click() | '''Public''' Sub Button1_Click() | ||
− | + | With Timer1 | |
<FONT color=#006400>' ''Attiviamo il Timer ogni secondo, per vedere l'orario del computer:''</font> | <FONT color=#006400>' ''Attiviamo il Timer ogni secondo, per vedere l'orario del computer:''</font> | ||
− | + | .Start | |
− | + | .Delay = 1000 | |
− | + | End With | |
− | + | ||
− | '''End''' | + | '''End''' |
− | |||
'''Public''' Sub Timer1_Timer() | '''Public''' Sub Timer1_Timer() | ||
<FONT color=#006400>' ''Se l'orario del computer è uguale all'orario scritto nel primo "TextBox"...''</font> | <FONT color=#006400>' ''Se l'orario del computer è uguale all'orario scritto nel primo "TextBox"...''</font> | ||
− | + | If Str(Time) = TextBox1.Text Then | |
− | <FONT color=#006400>' ''allora facciamo lanciare il programma "Gedit", | + | <FONT color=#006400>' ''...allora facciamo lanciare il programma "Gedit", e ne gestiamo il processo con un'apposita variabile:''</font> |
− | + | pr = Shell "gedit" | |
− | + | Endif | |
− | |||
− | |||
<FONT color=#006400>' ''Se l'orario del computer è uguale a quello presente nel secondo "TextBox"...''</font> | <FONT color=#006400>' ''Se l'orario del computer è uguale a quello presente nel secondo "TextBox"...''</font> | ||
− | + | If Str(Time) = TextBox2.Text Then | |
<FONT color=#006400>' ''...allora stronchiamo il processo:''</font> | <FONT color=#006400>' ''...allora stronchiamo il processo:''</font> | ||
− | + | pr.Kill | |
<FONT color=#006400>' ''Blocchiamo quindi anche il "Timer":''</font> | <FONT color=#006400>' ''Blocchiamo quindi anche il "Timer":''</font> | ||
− | + | Timer1.Stop | |
− | + | Endif | |
− | + | ||
'''End''' | '''End''' |
Versione delle 14:40, 4 set 2022
Il caso è quello in cui intendiamo prevedere l'attivazione di una funzione o in generale di un evento ad un certo orario.
Poniamo, come esempio, di voler lanciare a un certo orario il programma Gedit (o altro programma), e ad un altro orario farlo chiudere. Inseriremo a tal fine, per semplicità, due TextBox. Nel primo TextBox inseriremo l'orario di apertura del programma Gedit, mentre nel secondo l'orario in cui dovrà essere chiuso. In entrambi i TextBox si inserirà l'orario con il seguente formato: hh:mm:ss .
Private pr As Process Public Sub Button1_Click() With Timer1 ' Attiviamo il Timer ogni secondo, per vedere l'orario del computer: .Start .Delay = 1000 End With End Public Sub Timer1_Timer() ' Se l'orario del computer è uguale all'orario scritto nel primo "TextBox"... If Str(Time) = TextBox1.Text Then ' ...allora facciamo lanciare il programma "Gedit", e ne gestiamo il processo con un'apposita variabile: pr = Shell "gedit" Endif ' Se l'orario del computer è uguale a quello presente nel secondo "TextBox"... If Str(Time) = TextBox2.Text Then ' ...allora stronchiamo il processo: pr.Kill ' Blocchiamo quindi anche il "Timer": Timer1.Stop Endif End