MyDesign | Kod Arşivi - Anasayfaya Dön   No banner in farm
Anasayfa Araştır Forum Gelişmiş Arama Siteniz İçin En Hit İçerikler RSS İçerik Ekle Scriptler Destekleyenler Kadromuz Reklam İletişim Giriş Sayfası Yap  Sık Kullanılanlara Ekle
Bu Kategorinin En Yeni Kodları:


Bu Kategorinin En Çok Görüntülenen Kodları:






Arama:
Gelişmiş Arama


No banner in farm



En Çok Görüntülenen Kodlar:


Üye Girişi:
 Üye Ol



Anasayfa > VB.Net > Kodlar

Analog Saat

VisualBasic.net ile yazılmış bir analog saat uygulaması

Kategori : VB.Net
Gönderen : dreamcatcher
Telif :
Tarih : 28 Nisan 2006
Örnek Dosya : Bulunmamakta
Okunma Sayısı : 22067
Puan
: 6,4 / 10 (26 Oy)
Puan Verin :
Google Bookmarks  del.icio.us  Digg  Yahoo! MyWeb  Windows Live  Furl
 
 
'#coder info#'
'coded by dreamcatcher
'finished
'date:26-04-06 time:14-23
'imp0s1bl3 1s n0th1ng, s3cur1ty 1s 3v3ryth1ng

Public Class Form1
    Inherits System.Windows.Forms.Form

#Region " Windows Form Designer generated code "

    Public Sub New()
        MyBase.New()

        'This call is required by the Windows Form Designer.
        InitializeComponent()

        'Add any initialization after the InitializeComponent() call

    End Sub

    'Form overrides dispose to clean up the component list.
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing Then
            If Not (components Is Nothing) Then
                components.Dispose()
            End If
        End If
        MyBase.Dispose(disposing)
    End Sub

    'Required by the Windows Form Designer
    Private components As System.ComponentModel.IContainer

    'NOTE: The following procedure is required by the Windows Form Designer
    'It can be modified using the Windows Form Designer.  
    'Do not modify it using the code editor.
    Friend WithEvents Timer1 As System.Timers.Timer
    Friend WithEvents PictureBox1 As System.Windows.Forms.PictureBox
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Me.Timer1 = New System.Timers.Timer
        Me.PictureBox1 = New System.Windows.Forms.PictureBox
        CType(Me.Timer1, System.ComponentModel.ISupportInitialize).BeginInit()
        Me.SuspendLayout()
        '
        'Timer1
        '
        Me.Timer1.Enabled = True
        Me.Timer1.Interval = 1000
        Me.Timer1.SynchronizingObject = Me
        '
        'PictureBox1
        '
        Me.PictureBox1.Location = New System.Drawing.Point(0, 0)
        Me.PictureBox1.Name = "PictureBox1"
        Me.PictureBox1.Size = New System.Drawing.Size(250, 250)
        Me.PictureBox1.TabIndex = 0
        Me.PictureBox1.TabStop = False
        '
        'Form1
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
        Me.BackColor = System.Drawing.SystemColors.ActiveCaptionText
        Me.ClientSize = New System.Drawing.Size(256, 253)
        Me.Controls.Add(Me.PictureBox1)
        Me.Name = "Form1"
        Me.Text = "Form1"
        CType(Me.Timer1, System.ComponentModel.ISupportInitialize).EndInit()
        Me.ResumeLayout(False)

    End Sub

#End Region
    'Değişkenler
    'OrtaX ve OrtaY, resim alanının orta noktasını belirlemek için kullanıldı
    'ResimX ve ResimY, resim alanının boyutlarını belirlemek için kullanıldı
    'CurrentXsn ve CurrentYsn, saniyenin ikinci koordinat noktasını belirtmek için kullanıldı
    'CurrentXdk ve CurrentYdk, yelkovanın ikinci koordinat noktasını belirtmek için kullanıldı
    'CurrentXsa ve CurrenYsa, akrebin ikinci koordinat noktasını belirtmek için kullanıldı
    Private OrtaX, OrtaY, ResimX, ResimY, CurrentXsn, CurrentYsn, CurrentXdk, CurrentYdk, CurrentXsa, CurrentYsa As Single
    'Sa, Sn ve Dk, saniye, yelkovan ve akrebin derece cinsinden konumlarını belirleyen açıları belirtmek için kullanıldı
    'Kadran, en büyük ibrenin uzunluğunu tanımlamak için kullanıldı
    Private Sn, Dk, Sa, Kadran As Short
    'ikinci eksen belirleme işlemleri farklı durumlar için çok kez kullanıldığından fonksiyon olarak tanımlandı
    Private Function KoordinatX(ByVal Derece As Single, ByVal IbreUzunluk As Short, ByVal KisalmaMiktari As Short, ByVal BaslangicX As Short) As Single
        Dim Radyan As Single
        Radyan = (22 / 7 * Derece) / 180    'derece cinsinden ifade radyana çevriliyor
        KoordinatX = BaslangicX + System.Math.Cos(Radyan) * (IbreUzunluk - KisalmaMiktari)  'belirtilen değerlere göre ikinci x ekseni değeri veriliyor
    End Function
    'ikinci eksen belirleme işlemleri farklı durumlar için çok kez kullanıldığından fonksiyon olarak tanımlandı
    Private Function KoordinatY(ByVal Derece As Single, ByVal IbreUzunluk As Short, ByVal KisalmaMiktari As Short, ByVal BaslangicY As Short) As Single
        Dim Radyan As Single
        Radyan = (22 / 7 * Derece) / 180    'derece cinsinden ifade radyana çevriliyor
        KoordinatY = BaslangicY + System.Math.Sin(Radyan) * (IbreUzunluk - KisalmaMiktari)  'belirtilen değerlere göre ikinci y ekseni değeri veriliyor
    End Function
    'dakika ve saat çizgileri çizdiriliyor
    Private Sub HazirlikYap()
        Dim OrtakX, OrtakY, SaatX1, SaatY1, DakikaX1, DakikaY1 As Single
        Dim Kad As Short
        For Kad = 0 To 360 Step 6
            OrtakX = KoordinatX(Kad, Kadran, 0, OrtaX)
            OrtakY = KoordinatY(Kad, Kadran, 0, OrtaY)

            If Kad Mod 30 = 0 Then
                SaatX1 = KoordinatX(Kad, Kadran, 20, OrtaX)
                SaatY1 = KoordinatY(Kad, Kadran, 20, OrtaY)
                PictureBox1.CreateGraphics.DrawLine(System.Drawing.Pens.Black, SaatX1, SaatY1, OrtakX, OrtakY)
            Else
                DakikaX1 = KoordinatX(Kad, Kadran, 10, OrtaX)
                DakikaY1 = KoordinatY(Kad, Kadran, 10, OrtaY)
                PictureBox1.CreateGraphics.DrawLine(System.Drawing.Pens.Black, DakikaX1, DakikaY1, OrtakX, OrtakY)
            End If
        Next
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ResimX = PictureBox1.Size.Width 'resim alanının,
        ResimY = PictureBox1.Size.Height 'boyunları alınıyor

        OrtaX = ResimX / 2  'resmin yatay eksendeki orta noktası
        OrtaY = ResimY / 2 'resmin dikey eksendeki orta noktası

        Sa = (270 + (Hour(Date.Now) Mod 12) * 30) Mod 360 'ilk etapdaki saat açı değeri değeri
        Dk = (270 + Minute(Date.Now) * 6) Mod 360   'ilk etaptaki dakika açı değeri değeri
        Sn = 276 + Second(Date.Now) * 6 'ilk etapdaki saniye açı değeri

        Kadran = Fix((OrtaX + OrtaY) / 2)   'saat ibresinin uzunluğu

        CurrentXsa = KoordinatX(Sa, Kadran, 80, OrtaX)  'ilk etapta sistemin saati okunduktan sonra
        CurrentYsa = KoordinatY(Sa, Kadran, 80, OrtaY)  'ibreler sistemin saatine göre konumlandırılıyor

        CurrentXdk = KoordinatX(Dk, Kadran, 50, OrtaX)
        CurrentYdk = KoordinatY(Dk, Kadran, 50, OrtaY)

        CurrentXsn = KoordinatX(Sn, Kadran, 30, OrtaX)
        CurrentYsn = KoordinatY(Sn, Kadran, 30, OrtaY)
    End Sub

    Private Sub Timer1_Elapsed(ByVal sender As System.Object, ByVal e As System.Timers.ElapsedEventArgs) Handles Timer1.Elapsed
        PictureBox1.CreateGraphics.Clear(System.Drawing.Color.White)
        PictureBox1.CreateGraphics.DrawEllipse(System.Drawing.Pens.Black, 0, 0, ResimX - 1, ResimY - 1)
        HazirlikYap()
        PictureBox1.CreateGraphics.DrawLine(System.Drawing.Pens.Black, OrtaX, OrtaY, CurrentXsa, CurrentYsa)
        PictureBox1.CreateGraphics.DrawLine(System.Drawing.Pens.Black, OrtaX, OrtaY, CurrentXdk, CurrentYdk)
        PictureBox1.CreateGraphics.DrawLine(System.Drawing.Pens.Black, OrtaX, OrtaY, CurrentXsn, CurrentYsn)
        CurrentXsn = KoordinatX(Sn, Kadran, 30, OrtaX)
        CurrentYsn = KoordinatY(Sn, Kadran, 30, OrtaY)
        If Sn >= 360 Then Sn -= 360
        Sn += 6

        If Sn = 276 Then 'eğer saniye tam tur yapmışsa
            Dk += 6
            CurrentXdk = KoordinatX(Dk, Kadran, 50, OrtaX)
            CurrentYdk = KoordinatY(Dk, Kadran, 50, OrtaY)
            If Dk >= 360 Then Dk -= 360
        End If

        If Dk = 270 And Sn = 276 Then 'eğer dakika ve saniye tam tur yapmışsa
            Sa += 30
            CurrentXsa = KoordinatX(Sa, Kadran, 80, OrtaX)
            CurrentYsa = KoordinatY(Sa, Kadran, 80, OrtaY)
            If Sa >= 360 Then Sa -= 360
        End If
    End Sub
End Class
 
 

Analog Saat için yazılan yorumlar

caner atlı   { 30 Ocak 2010 }
kodlar designere yazılacak designere de şu yoldan ulaşırız :solution explorer show all files özelliği seçilir dosyalar tree view haline geldikten sonra form1 genişletilir form1.designer.vb görünür ztn orda

ihsan   { 08 Ekim 2007 }
kardesim bu .NET degil. Visual Studio 2005 te yazılmıyor.

Yorum ekleyin

Anasayfa > VB.Net > Kodlar > Analog Saat
Kategoriler:


Forum:



Bağlantılar:


En Son Yorumlanan İçerikler:


Murat Yavuz | Site Haritası | Gizlilik Bildirimi | 54.167.83.233 | 0,12 Saniye
© Copyright 2004-2018 MyDesign | Kod Arşivi. Tüm Hakları Saklıdır.
MyDesign | Kod Arşivi, en iyi görünüm için, 1024x768 ve üzeri çözünürlük tavsiye eder.