Temporizzare una funzione o un evento: differenze tra le versioni
Vai alla navigazione
Vai alla ricerca
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
| 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