Tällä koodilla saat formille kellon. Viivan pisteiden laskennasta olisi voinut tehdä funktion, jolloin koodista olisi tullut lyhyempi, mutta sen voit toteuttaa itse. Laita formille timer (timer1).
Tämä koodi formiin
Dim keskix As Integer
Dim keskiy As Integer
Dim kulma As Integer
Dim etäisyys As Integer
Dim viivaX As Integer
Dim viivaY As Integer
Option Explicit
Private Sub Form_Load()
'aluksi määritellään muuttujia
keskix = Form1.ScaleWidth / 2
keskiy = Form1.ScaleHeight / 2
kulma = 0
etäisyys = Form1.ScaleHeight / 3
'aika
Timer1.Interval = 1000
End Sub
Private Sub Form_Resize()
'kun formia skaalataan, keskipiste ja etäisyys muuttuvat
keskix = Form1.ScaleWidth / 2
keskiy = Form1.ScaleHeight / 2
etäisyys = (Form1.ScaleHeight / 10) + (Form1.ScaleWidth / 10)
End Sub
Private Sub Timer1_Timer()
Form1.Cls 'tyhjätään ikkuna
Form1.Caption = "Kello on " & Hour(Now) & ":" & Minute(Now) & ":" & Second(Now) 'Asetetaan ikkunan title
' vohveli kerto sin + cos koodin, propsit sille
' sooda kerto atn jutskan, sillekkin propsit
' Piirretään viisarit
' Sekunnit
kulma = (360 / 60) * Second(Now) 'Jaetaan 360 / 60 ja kerrotaan se sekunneilla
viivaX = keskix + Sin(kulma * Atn(1) / 45) * etäisyys 'tutkitaan viivan loppupään x
viivaY = keskiy + -Cos(kulma * Atn(1) / 45) * etäisyys 'tutkitaan viivan loppupään y
Form1.Line (keskix, keskiy)-(viivaX, viivaY), vbBlack 'piirretään viisari
'minuutit
Form1.DrawWidth = 2 'paksumpi viiva
kulma = (360 / 60) * Minute(Now) 'sama kuin edellisessä mutta kerrotaan minuuteilla
viivaX = keskix + Sin(kulma * Atn(1) / 45) * etäisyys
viivaY = keskiy + -Cos(kulma * Atn(1) / 45) * etäisyys
Form1.Line (keskix, keskiy)-(viivaX, viivaY), vbBlack
'tunnit
Form1.DrawWidth = 3 'vielä paksumpi viiva
kulma = (360 / 12) * Hour(Now) 'sama kuin edellisessä mutta kerrotaan tunneilla
viivaX = keskix + Sin(kulma * Atn(1) / 45) * etäisyys
viivaY = keskiy + -Cos(kulma * Atn(1) / 45) * etäisyys
Form1.Line (keskix, keskiy)-(viivaX, viivaY), vbBlack
Form1.DrawWidth = 1 'takaisin ohueksi
Form1.Circle (keskix, keskiy), etäisyys 'piirretään kellon reunat
'kirjoitetaan numerot 6 12 9 3 kellotauluun
Form1.CurrentX = keskix
Form1.CurrentY = keskiy + etäisyys
Form1.Print "6"
Form1.CurrentX = keskix
Form1.CurrentY = keskiy - etäisyys
Form1.Print "12"
Form1.CurrentX = keskix - etäisyys
Form1.CurrentY = keskiy
Form1.Print "9"
Form1.CurrentX = keskix + etäisyys
Form1.CurrentY = keskiy
Form1.Print "3"
'se oli siinä
End SubAihe on jo aika vanha, joten et voi enää vastata siihen.