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

Da Gambas-it.org - Wikipedia.
Riga 10: Riga 10:
 
     With Timer1   
 
     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   
+
      .Start   
      .Delay = 1000   
+
      .Delay = 1000   
 
     End With   
 
     End With   
 
        
 
        
Riga 33: Riga 33:
 
  <FONT color=#006400>' ''Blocchiamo quindi anche il "Timer":''</font>
 
  <FONT color=#006400>' ''Blocchiamo quindi anche il "Timer":''</font>
 
         Timer1.Stop
 
         Timer1.Stop
    Endif
+
      Endif
 
            
 
            
 
  '''End'''
 
  '''End'''

Versione delle 04:00, 19 dic 2012

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 ad un certo orario il programma Gedit, 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 hp 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 la data e l'orario del computer sono uguali all'orario scritto nel primo "TextBox"...
     If Str(Now) = TextBox1.Text Then
' allora facciamo lanciare il programma "Gedit",
' e ne gestiamo il processo con un'apposita variabile:
       hp = 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:
       hp.Kill
' Blocchiamo quindi anche il "Timer":
       Timer1.Stop
     Endif
          
End