Creare un Cronometro
Indice
Cronometro usando la funzione "Time"
Per realizzare un semplice cronometro che mostri l'ora, i minuti, i secondi, nonché i decimi, i centesimi e i millesimi di secondo, si può usare la funzione "Time".
Mostriamo un esempio in ambiente grafico, nel quale l'orario corrente sarà mostrato nell'intestazione di una finestra:
Public Sub Button1_Click() Do Me.Caption = Format(Time, "hh:nn:ss.uuu") Wait 0.01 Loop End
Cronometro che calcola il tempo trascorso, usando la Classe Timer
Per realizzare un semplice Cronometro porremo sul form un Timer con ritardo posto ad "1", un Button ed un oggetto di testo nel quale visualizzare il tempo trascorso:
Private tempo As Date Public Sub Button1_Click() With Timer1 .Delay = 1 .Start End With ' Assegna l'orario di questo istante: tempo = Time End Public Sub Timer1_Timer() TextBox1.Text = Format(CDate(Time - tempo), "hh:nn:ss.uuu") [Nota 1] End
Medesimo esempio, ma in un'applicazione a riga di comando ed usando un ciclo anziché un Timer
Per realizzare un cronometro in un'applicazione a riga di comando senza l'uso della Classe Timer, si prenderà l'orario all'avvio dell'applicazione medesima, e in un apposito ciclo si passerà alla funzione Date( ) la differenza fra l'orario corrente e quello iniziale.
Public Sub Main() Dim tm As Date ' Prende l'orario iniziale: tm = Now Do Write "\rTempo: " & Date(0, 0, 0, 0, 0, 0, DateDiff(tm, Now, gb.Millisecond)) Wait 0.001 Loop End
Note
[1] Questo tipo di formattazione del tempo restituisce:
- hh = ora;
- nn = minuti;
- ss = secondi;
- uuu = decimi, centesimi e millesimi di secondo.