Konu Araçları | Konu Seçenekleri | Gösterim Stili
Tarih
09/02/2012 01:29
Konu Sahibi
ayhan2122
Yorumlar
6
Okunma
3860
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy
Kullanici Avatari

ayhan2122

Onursal Üye
 41
 26
 680
 30/10/2008
451
 -
 
 Ofis 2003
 23/02/2019,01:03
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
    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.

Kullanici Avatari

C*e*l*o*y*c*e

Uzman
Me.... B.....
 71
 3.199
 29/10/2008
983
 Ankara
 Yazılım
 Ofis 2010 32 Bit
 Bugün,00:26
Hocam paylaşımlar için teşekkürler



Kullanici Avatari

ozanakkaya

Kurucu
Oz.... Ak....
 39
 479
 11.975
 29/01/2008
 Denizli
 Memur
 Ofis 2010 32 Bit
 Dün,19:08
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. 

Kullanici Avatari

DUAYEN

Destek
Sü.... Ar....
 36
 71
 1.026
 13/08/2010
279
 Yozgat
 
 Ofis 2007
 18/04/2018,17:46
Hocam teşekkürler.


Bizim için zor diye bir şey yoktur, imkansızsa zaman alır...

Kullanici Avatari

ercansahin

Uzman
Er.... ŞA....
 44
 69
 3.754
 14/11/2008
 Bursa
 
 Ofis 2010 32 Bit
 22/03/2019,22:31
Paylaşım için teşekkürler.



Kullanici Avatari

accessman

Aktif Üye
 Belirtilmemiş
 561
 2.367
 31/10/2008
425
 Denizli
 
 Ofis 2003
 20/09/2016,00:20
teşekkürler
bunun Access için olanı var mı


@benbendedeilem


Konuyu Okuyanlar: 1 Ziyaretçi

Türkçe Çeviri: MCTR, Yazılım: MyBB, © 2002-2019 MyBB Group.