Vai al contenuto

Orologio digitale

Le immagini

0 1 2 3 4 5 6 7 8 9 null punti

sono utilizzate per visualizzare le cifre e il lampeggio di un orologio digitale

orologio_d

PATH=Program.Directory                                     ' carica le immagini
For i=0 To 9
   CIFRE[i]=ImageList.LoadImage(PATH + "/" + i + ".gif")
EndFor
DUEPUNTI=ImageList.LoadImage(PATH + "/punti.gif")
NULLO   =ImageList.LoadImage(PATH +  "/null.gif")
LAMPO   =1

DIMX   =ImageList.GetWidthOfImage (DUEPUNTI)               ' dimensioni, distanze, ...
DIMY   =ImageList.GetHeightOfImage(DUEPUNTI)
SPAZIO =20
POSX[1]=SPAZIO
POSY   =SPAZIO
For i=2 To 8
   POSX[i]=POSX[i-1]+DIMX
EndFor

GraphicsWindow.Title          ="Orologio digitale"         ' finestra grafica
GraphicsWindow.BackgroundColor="Black"
GraphicsWindow.Width          =8*DIMX+2*SPAZIO
GraphicsWindow.Height         =  DIMY+2*SPAZIO

Timer.Interval=250                                         ' timer
Timer.Tick    =AGGIORNA

Sub AGGIORNA
  hh=Clock.Hour                                            ' che ore sono?
  mm=Clock.Minute 
  ss=Clock.Second
 
  h1=Math.Floor(hh/10)                                     ' le singole cifre?
  h2=Math.Remainder(hh, 10) 
  m1=Math.Floor(mm/10)
  m2=Math.Remainder(mm, 10)
  s1=Math.Floor(ss/10)
  s2=Math.Remainder(ss, 10)
 
 GraphicsWindow.DrawImage(CIFRE[h1],POSX[1],POSY)          ' visualizza le cifre
 GraphicsWindow.DrawImage(CIFRE[h2],POSX[2],POSY)
 GraphicsWindow.DrawImage(CIFRE[m1],POSX[4],POSY)
 GraphicsWindow.DrawImage(CIFRE[m2],POSX[5],POSY)
 GraphicsWindow.DrawImage(CIFRE[s1],POSX[7],POSY)
 GraphicsWindow.DrawImage(CIFRE[s2],POSX[8],POSY)
 
 If LAMPO = 1 Then                                         ' lampeggio dei due punti
    LAMPO=0 
    GraphicsWindow.DrawImage(DUEPUNTI,POSX[3],POSY)
    GraphicsWindow.DrawImage(DUEPUNTI,POSX[6],POSY)
 Else
    LAMPO=1
    GraphicsWindow.DrawImage(NULLO,POSX[3],POSY)
    GraphicsWindow.DrawImage(NULLO,POSX[6],POSY)
 EndIf 
EndSub

Se consideriamo i secondi passati dall’avvio dell’applicazione

...
INIZIO=Clock.ElapsedMilliseconds
...
ADESSO=Clock.ElapsedMilliseconds
TEMPO =(ADESSO-INIZIO)/1000
TEMPO =Math.Floor(TEMPO)
...

otteniamo un cronometro

crometro_d


Mettendo insieme l’orologio analogico e l’orologio digitale…

orologio_ad

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.