Le immagini
sono utilizzate per visualizzare le cifre e il lampeggio di un orologio digitale
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
Mettendo insieme l’orologio analogico e l’orologio digitale…