Temporizzare una funzione o un evento: differenze tra le versioni

Da Gambas-it.org - Wikipedia.
Vai alla navigazione Vai alla ricerca
Nessun oggetto della modifica
Nessun oggetto della modifica
 
(5 versioni intermedie di uno stesso utente non sono mostrate)
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 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 pr As Process
  '''Private''' hp As Process
Public Sub Button1_Click()
   
   
  With Timer1 
<FONT color=gray>' ''Attiva il Timer ogni secondo, per vedere l'orario del computer:''</font>
    .Start 
    .Delay = 1000 
  End With 
   
End
   
   
'''Public''' Sub Button1_Click()
   
   
    With Timer1  
  Public Sub Timer1_Timer()  
  <FONT color=#006400>' ''Attiviamo il Timer ogni secondo, per vedere l'orario del computer:''</font>
      .Start 
      .Delay = 1000 
    End With 
     
'''End'''
     
   
   
  '''Public''' Sub Timer1_Timer()   
  <FONT color=gray>' ''Se l'orario del computer è uguale all'orario scritto nel primo "TextBox"...''</font>
  If Str(Time) = TextBox1.Text Then
  <FONT color=#006400>' ''...allora lancia il programma "Gedit", e ne gestisce il processo con una variabile di tipo "Process":''</font>
    pr = Shell "gedit"
  Endif
   
   
  <FONT color=#006400>' ''Se la data e l'orario del computer sono uguali all'orario scritto nel primo "TextBox"...''</font>
  <FONT color=gray>' ''Se l'orario del computer è uguale a quello presente nel secondo "TextBox"...''</font>
      If Str(Now) = TextBox1.Text Then
  If Str(Time) = TextBox2.Text Then
  <FONT color=#006400>' ''allora facciamo lanciare il programma "Gedit",''
  <FONT color=gray>' ''...allora termina il processo:''</font>
  ' ''e ne gestiamo il processo con un'apposita variabile:''</font>
    pr.Kill
        hp = Shell "gedit"
  <FONT color=gray>' ''Blocca quindi anche il "Timer":''</font>
      Endif
    Timer1.Stop
   
  Endif
   
   
  <FONT color=#006400>' ''Se l'orario del computer è uguale a quello presente nel secondo "TextBox"...''</font>
  End
      If Str(Time) = TextBox2.Text Then
<FONT color=#006400>' ''...allora stronchiamo il processo:''</font>
        hp.Kill
<FONT color=#006400>' ''Blocchiamo quindi anche il "Timer":''</font>
        Timer1.Stop
    Endif
         
'''End'''

Versione attuale delle 08:16, 1 lug 2024

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