Newsgroup: it.comp.lang.visual-basic
Titolo: ci riprovo, orologio analogico

 secondi.
l'unica cosa che mi viene in mente al momento è che tu lavori con i metodi
Line e Circle della Form o di una PictureBox
(spero che te la cavi in trigonometria ehhehe)
saluti
Faber


Ho giusto giusto un afferetto che ti poů far comodo
ho modificato un classe di Massimo Lesa (
le...@silink.it
) che ho trovato sul
sito comune.
E adesso fa gli orologi analogici
oh č da lavorarci un po graficamente ma cosě comč funziona
questo č il form:
Dim Orol As New Orologio
Private Sub Form_Load()
Orol.NewL Picture1
End Sub
Private Sub Timer1_Timer()
Orol.T = Now
End Sub
e questa č la classe:
Dim p As PictureBox
Public Property Let T(ByVal tempo As Variant)
Dim ang As Double       'angolo (in radianti) dell'indicatore
Dim lung As Integer     'lunghezza indicatore
Ore = Format(tempo, "h") Mod 12
Minuti = Format(tempo, "m")
Secondi = Format(tempo, "s")
p.Cls
'Lancetta ore
Value = (1000 / 12) * Ore
lung = (p.ScaleWidth / 2) - 20
ang = ((Value / 1000 * 360) + 90) * 3.14 / 180
p.Line (p.ScaleWidth \ 2, p.ScaleHeight \ 2)-((p.ScaleWidth \ 2) - lung *
Cos(ang), (p.ScaleHeight \ 2) - lung * Sin(ang))
'Lancetta minuti
Value = (1000 / 60) * Minuti
lung = (p.ScaleWidth / 2) - 6
ang = ((Value / 1000 * 360) + 90) * 3.14 / 180
p.Line (p.ScaleWidth \ 2, p.ScaleHeight \ 2)-((p.ScaleWidth \ 2) - lung *
Cos(ang), (p.ScaleHeight \ 2) - lung * Sin(ang))
'Lancetta secondi
Value = (1000 / 60) * Secondi
lung = (p.ScaleWidth / 2) - 6
ang = ((Value / 1000 * 360) + 90) * 3.14 / 180
p.Line (p.ScaleWidth \ 2, p.ScaleHeight \ 2)-((p.ScaleWidth \ 2) - lung *
Cos(ang), (p.ScaleHeight \ 2) - lung * Sin(ang))
End Property
Public Sub NewO(PBox As PictureBox)
   Set p = PBox
   p.ScaleMode = 3               ' pixel
   p.AutoRedraw = True
End Sub
--
Ciao Rango
http://utenti.tripod.it/RangO72/

 (spero che te la cavi in trigonometria ehhehe)
31.03.2000 23:15 Primo post di Salvatore Cavaliere
01.04.2000 11:23 Rispondo io
01.04.2000 15:42 Risponde Roal Zanazzi
Ciao "Faber". Che non li abbia letti tu puo' essere comprensibile, ma che
non li abbia letti Salvatore Cavaliere e' strano, percio' domando ad
entrambi di verificare se per caso i post che ho citato sopra veramente non
sono visibili. Grazie.
--
Ciao.
Maurizio

 sono visibili. Grazie.
FYI, io li vedo entrambi, più uno di RangO delle 16:35
Bye, G.

Con i *controlli* Line e Shape non serve la trigonometria...


 sono visibili. Grazie.
Ciao "Maurizio Borrelli" (nel senso che non ho capito perchè hai messo le
virgolette al mio nick), i post che tu hai citato sono visibili, ma li ho
letti dopo aver già risposto   :)
Saluti
Faber

> Con i *controlli* Line e Shape non serve la trigonometria...
uhmmmm... ok per lo Shape, fai il cerchietto o il quadrato e lo piazzi come
quadrante... ma per stabilire le coordinate dei punti esterni delle lancette
come fai senza trigonometria?
Faber

 virgolette al mio nick)
Boh? Vengono fuori in automatico col replay ed io copio e incollo perche'
non mi piace sbagliare a scrivere i nomi degli altri. Se ci sono le copio,
se no no.
Per sapere: tu col mio nome le hai digitate o te le sei trovate?
--
Ciao.
Maurizio

>Per sapere: tu col mio nome le hai digitate o te le sei trovate?
le ho digitate
Faber

 Maurizio
--
Ciao a tutto il NewsGroup
Alex
alm...@tin.it

proprio non vi è costretto... Fa quasi impressione!
ehi, qui si viòla (notare l'accento colorato) la legge sulla praivasi!
Faber-che-fa-quasi-impressione

E' decisamente TROPPO tempo che non tocco VB... ricordavo che le Line avevano
una proprietà per settare l'inclinazione... invece non c'è! Erroraccio mio


Hic, come sono caduto in basso...
moooooooolto in basso...
Faber