Skip to main content

AccessTr.neT


analog saat

#1
Formunuza basit bir analog saat eklemek için;
SaatKutu adında bir daire ( OvalShape )
SaatSaat, SaatDakika ve SaatSaniye adında 3 tane çizgi ( LineShape )
ve bir tane de Timer ekleyin. Timerin invertali:1000

Visual Basic Code
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TimerSaat.Tick
        CizgiLe(SaatKutu, saatsaniye, SaatKutu.Width / 2, Convert.ToInt32(Format(Now(), "ss")))
        CizgiLe(SaatKutu, SaatDakika, SaatKutu.Width / 2 * 0.8, Convert.ToInt32(Format(Now(), "mm")))
        CizgiLe(SaatKutu, SaatSaat, SaatKutu.Width / 2 * 0.7, Convert.ToInt32(Format(Now(), "hh") * 5))
    End Sub
    'SAAT OLAYI
    Private Sub CizgiLe(ByVal Kutu As Microsoft.VisualBasic.PowerPacks.OvalShape, ByVal cizgi As Microsoft.VisualBasic.PowerPacks.LineShape, ByVal cizgiboyu As Integer, ByVal sayi As Integer)
        Dim sns(15) As Double
        sns = {0.0, 0.104528, 0.207912, 0.309017, 0.406737, 0.5, 0.587785, 0.669131, 0.743145, 0.809017, 0.866025, 0.913545, 0.951057, 0.978148, 0.994522, 1}
        Dim css(15) As Double
        css = {1, 0.994522, 0.978148, 0.951057, 0.913545, 0.866025, 0.809017, 0.743145, 0.669131, 0.587785, 0.5, 0.406737, 0.309017, 0.207912, 0.104528, 0.0}
        Dim sy = sayi
        cizgi.X1 = Kutu.Left + (Kutu.Width / 2)
        cizgi.Y1 = Kutu.Top + (Kutu.Height / 2)
        If sayi <= 15 Then
            sayi = sayi
            cizgi.X2 = cizgi.X1 + (cizgiboyu * sns(sayi))
            cizgi.Y2 = cizgi.Y1 - (cizgiboyu * css(sayi))
        ElseIf sayi <= 30 Then
            sayi = sayi - 15
            cizgi.X2 = cizgi.X1 + (cizgiboyu * css(sayi))
            cizgi.Y2 = cizgi.Y1 + (cizgiboyu * sns(sayi))
        ElseIf sayi <= 45 Then
            sayi = sayi - 30
            cizgi.X2 = cizgi.X1 - (cizgiboyu * sns(sayi))
            cizgi.Y2 = cizgi.Y1 + (cizgiboyu * css(sayi))
        ElseIf sayi <= 60 Then
            sayi = sayi - 45
            cizgi.X2 = cizgi.X1 - (cizgiboyu * css(sayi))
            cizgi.Y2 = cizgi.Y1 - (cizgiboyu * sns(sayi))
        End If
        Me.Text = "AnalogSaat..... : " & Format(Now(), "dd.MM.yyyy / HH:mm:ss")
    End Sub
Saygılar, iyi çalışmalar.
*********
Kod, formül vs bilmek önemlidir ama mantığını yürütebilmek, nerede ve nasıl kullanılacağını bilmek daha önemlidir.
Cevapla
#2
Hocam paylaşımlar için teşekkürler
Cevapla
#3
Paylaşım için teşekkürler.
"Boş Örnek Eklerim, Yapıp Verirler" demeyin, örneğinizi hazırlayın.
Komplike kod talebiniz var ise İletişim bağlantısından bize ulaşın. 
Cebelleşmezsen Öğrenemezsin. 
Cevapla
#4
Hocam teşekkürler.
Bizim için zor diye bir şey yoktur, imkansızsa zaman alır...
Cevapla
#5
Paylaşım için teşekkürler.
Cevapla
#6
teşekkürler
bunun Access için olanı var mı
@benbendedeilem
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da