Çok kolay ve mükemmel saat yapımı
- Gokhan00 Gokhan00
- 9.340
- Orta
- 25 Nisan 2010
Visual Basic'te herkesin kolaylıkla yapabileceği mükemmel bir saat örneğini ele alacağız bu dersimizde.
Visual Basic'te herkesin kolaylıkla yapabileceği mükemmel bir saat örneğini ele alacağız bu dersimizde.
Arkadaşlar, forma sadece 2 timer ekliyoruz ve kodları timerlerin içine yazıyoruz.
Private Sub Form_Load()
Dim aci, i, t
AutoRedraw = True
Timer1.Interval = 1000 ' 1 saniye
Timer2.Interval = 10 '1 saniye
'zemin desenini çiz
ScaleMode = 3 'pixel moduna geçir
For i = 0 To ScaleHeight
Line (0, i)-(ScaleWidth, i), i * 256
Next
ScaleMode = 1 'normal moda dön
'form yüksekli?ini ve genisligini ayni yap
Width = ScaleHeight
'matematiksel koordinatlara göre yeniden ölçekle
Scale (-20, 20)-(20, -20)
t = "SANALKUR.NET"
CurrentX = -TextWidth(t) / 2 ' orta noktayy bul
CurrentY = -1
Print t
t = "GÖKHAN ŞEN"
CurrentX = -TextWidth(t) / 2
CurrentY = -4
Print t
'saat yuvarlagini ciz
DrawWidth = 5
Circle (0, 0), 19, 65535
DrawWidth = 2
'saniye cizimlerini ciz
For aci = 0 To 360 Step 6
Line (18 * Cos(aci * 3.1415 / 180), 18 * Sin(aci * 3.1415 / 180))-(19 * Cos(aci * 3.1415 / 180), 19 * Sin(aci * 3.1415 / 180)), QBColor(5) 'saniyelerin arka rengi
Next
'saat cizgilierini ciz
DrawWidth = 4
For aci = 0 To 360 Step 6 * 5
Line (18 * Cos(aci * 3.1415 / 180), 18 * Sin(aci * 3.1415 / 180))-(19 * Cos(aci * 3.1415 / 180), 19 * Sin(aci * 3.1415 / 180)), QBColor(15) 'saatlerin arka rengi
Next
DrawMode = 7 'xor
End Sub
Private Sub Timer1_Timer()
Dim aci, saniye, dakika, saat, i
Static sx, sy, dx, dy, stx, sty
Caption = Time
DrawWidth = 2
Line (0, 0)-(sx, sy), QBColor(6) 'saniyeyi çiz
saniye = Second(Time) 'saniyeyi saatten al
aci = -saniye * 6 + 90 'her bir saniye +6 derecedir 360 derece 60 saniyedir
sx = 18 * Cos(aci * 3.1415 / 180)
sy = 18 * Sin(aci * 3.1415 / 180)
Line (0, 0)-(sx, sy), QBColor(6) 'saniyeyi çiz
DrawWidth = 3
Line (0, 0)-(dx, dy), QBColor(11) 'yelkovany çiz
dakika = Minute(Time) 'dakikayi saatten al
aci = -dakika * 6 + 90 'her bir dakika 6 derecedir 360 derece / 60 dakikadir
dx = 18 * Cos(aci * 3.1415 / 180)
dy = 18 * Sin(aci * 3.1415 / 180)
Line (0, 0)-(dx, dy), QBColor(11) 'yelkovani çiz
DrawWidth = 3
Line (0, 0)-(stx, sty), QBColor(12) 'akrebi ciz
saat = Hour(Time) 'saati saatten al
aci = -saat * 30 + 90 'her bir saat 30 derecedir 360 derece / 12 saat
stx = 12 * Cos(aci * 3.1415 / 180)
sty = 12 * Sin(aci * 3.1415 / 180)
Line (0, 0)-(stx, sty), QBColor(12) 'akrebi ciz
'saat basi ise zil cal
If Minute(Time) = 0 Then Beep
End Sub
Private Sub Timer2_Timer()
Static sls
sls = (sls + 1) Mod 360
Dim aci
Dim sx, sy, dx, dy, stx, sty
DrawWidth = 1
aci = -sls * 3.6 + 90 'her bir saniye 3.6 derecedir. 360 derece/ 100
sx = 3 * Cos(aci * 3.1415 / 180)
sy = 3 * Sin(aci * 3.1415 / 180)
Line (5, 5)-(5 + sx, 5 + sy), QBColor(10) 'sagdaki kucuk ibre
Line (-5, 5)-(-5 - sx, 5 - sy), QBColor(10) 'soldaki kucuk ibre
End Sub
Yorum yazabilmek için üye girişi yapmanız gerekiyor!