Differenze tra le versioni di "Temporizzare una funzione o un evento"

Da Gambas-it.org - Wikipedia.
 
Riga 8: Riga 8:
 
   
 
   
 
   With Timer1   
 
   With Timer1   
  <FONT color=#006400>' ''Attiviamo il Timer ogni secondo, per vedere l'orario del computer:''</font>
+
  <FONT color=#006400>' ''Attiva il Timer ogni secondo, per vedere l'orario del computer:''</font>
 
     .Start   
 
     .Start   
 
     .Delay = 1000   
 
     .Delay = 1000   
Riga 19: Riga 19:
 
  <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
 
   If Str(Time) = TextBox1.Text Then
  <FONT color=#006400>' ''...allora facciamo lanciare il programma "Gedit", e ne gestiamo il processo con un'apposita variabile:''</font>
+
  <FONT color=#006400>' ''...allora lancia il programma "Gedit", e ne gestisce il processo con una variabile di tipo "Process":''</font>
 
     pr = Shell "gedit"
 
     pr = Shell "gedit"
 
   Endif
 
   Endif
Riga 25: Riga 25:
 
  <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
 
   If Str(Time) = TextBox2.Text Then
  <FONT color=#006400>' ''...allora stronchiamo il processo:''</font>
+
  <FONT color=#006400>' ''...allora termina il processo:''</font>
 
     pr.Kill
 
     pr.Kill
  <FONT color=#006400>' ''Blocchiamo quindi anche il "Timer":''</font>
+
  <FONT color=#006400>' ''Blocca quindi anche il "Timer":''</font>
 
     Timer1.Stop
 
     Timer1.Stop
 
   Endif
 
   Endif
 
   
 
   
 
  '''End'''
 
  '''End'''

Versione attuale delle 14:42, 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  
' Attiva 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 lancia il programma "Gedit", e ne gestisce il processo con una variabile di tipo "Process":
   pr = Shell "gedit"
 Endif

' Se l'orario del computer è uguale a quello presente nel secondo "TextBox"...
 If Str(Time) = TextBox2.Text Then
' ...allora termina il processo:
   pr.Kill
' Blocca quindi anche il "Timer":
   Timer1.Stop
 Endif

End