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

Derecelendirme: 0/5 - 0 oy
Kullanici Avatari

ayhan2122

Uzman
 41
 681
 26
 30/10/2008
451
 -
 
 Ofis 2003
 26/07/2018,20:20
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.....
 46
 3.167
 67
 29/10/2008
982
 Ankara
 Yazılım
 Ofis 2010 32 Bit
Hocam paylaşımlar için teşekkürler



Kullanici Avatari

ozanakkaya

Kurucu
OZ.... AK....
 41
 11.597
 469
 29/01/2008
 Denizli
 Memur
 Ofis 2010 32 Bit
 Dün,22:47
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

Aktif Üye
SÜ.... AR....
 35
 1.026
 71
 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
 3.740
 69
 14/11/2008
 Bursa
 
 Ofis 2010 32 Bit
 27/11/2018,13:27
Paylaşım için teşekkürler.



Kullanici Avatari

accessman

Aktif Üye
 Belirtilmemiş
 2.367
 561
 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-2018 MyBB Group.
123444