Temporizzare una funzione o un evento: differenze tra le versioni

Da Gambas-it.org - Wikipedia.
Vai alla navigazione Vai alla ricerca
(Nuova pagina: 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...)
 
Nessun oggetto della modifica
 
(7 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 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".....
  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