Creare un Cronometro
Indice
Creare un cronometro all'interno di un ciclo che mostri il tempo trascorso dall'avvio del ciclo
Usando la Classe Timer
In questo esempio si ha un Cronometro adatto a visualizzare il tempo trascorso dall'avvio del programma.
Si farà uso della Classe "Timer".
Private Timer1 As Timer 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() Write "\r" & Format(CDate(Time - tempo), "hh:nn:ss.uuu") End Public Sub Application_Read() ' Cliccando sul tasto "Invio" della tastiera, si solleva questo Evento Timer1.Stop ' Consente di terminare il programma nel caso vi sia la subroutine "Application_Read()": Quit End
Usando un ciclo
In quest'altro esempio si farà uso del ciclo "While...Wend".
Mostriamo un esempio a riga di comando, nel quale, premendo il tasto "Invio" sulla tastiera, si determinerà l'uscita dal ciclo:
Private bo As Boolean Public Sub Main() Dim tm As Date ' Prende l'orario nel momento dell'avvio del programma: tm = Now While Not bo ' La funzione "DateDiff()" passa alla funzione "Time()" la differenza, espressa in millisecondi, tra il corrente orario e quello memorizzato all'avvio del programma. ' La funzione "Time()" passa alla funzione "Write" un valore temporale, consentendo anche di mostrare i millisecondi. Write "\r" & Time(0, 0, 0, DateDiff(tm, Now, gb.Millisecond)) Flush Wait 0.01 Wend ' Consente di terminare il programma nel caso vi sia la subroutine "Application_Read()": Quit End Public Sub Application_Read() ' Cliccando sul tasto "Invio" della tastiera, si solleva questo Evento bo = True End
Cronometro che mostra l'orario corrente, usando la funzione "Time"
Per realizzare un semplice cronometro che mostri l'orario attuale, comprensivo di ora, minuti, secondi, nonché di decimi, centesimi e 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") '[nota 1] Wait 0.001 Loop End
Volendo, anziché usare un ciclo, sarà possibile usare anche la Classe "Timer".
Note
[1] Questo tipo di formattazione del tempo restituisce:
- hh = ora;
- nn = minuti;
- ss = secondi;
- uuu = millesimi di secondo.