C# (CSharp) ile Dijital Saat Yapımı

C# ile geliştirilmiş projeler ve basit programlar, kaynak kodları ve bilgi paylaşımı...
Cevapla
Kullanıcı avatarı
Gökhan
Deneyimli Üye
Deneyimli Üye
Mesajlar: 390
Kayıt: 11 Şub 2009, 22:57

C# (CSharp) ile Dijital Saat Yapımı

Mesaj gönderen Gökhan » 27 Haz 2011, 14:25

Oldukça basit bir program, Timer kullanımı için örnek, ayrıca satırlar arasına açıklamalar ekledim.

Programın çalışması için sisteminizde en az .Net Framework 3.5 yüklü olmalıdır.

MainForm.cs kodları. Ayrıca tüm proje dosyalarını ve exe dosyasını aşağıdan indirebilirsiniz.

Kod: Tümünü seç

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *                 
 *                                                                                                       *
 * www.phpindir.net                                                                                      *
 *                                                                                                       *
 * Aşağıdaki satırlarda programın kodlarınıa ayrıca açıklamalar ekledim.                                 *
 *                                                                                                       *
 * Bu program eğitim sürecinde yapılmış olup, en optimal kodlama iddiası yoktur.                         *
 *                                                                                                       *
 * C# programlamayı yeni öğrenmeye başlayan kişiler için örnek teşkil etmesi amacı ile paylaşılmıştır.   *
 *                                                                                                       *
 * Programın çalışabilmesi için sisteminizde en az .Net Framework 3.5 sürümü kurulu olmalıdır.           *
 *                                                                                                       *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace DijitalSaat
{
    public partial class MainForm : Form
    {
        private string m_str = "00:00:00"; 
        // m_str isminde string türünden private bir sınıfı veri elemanı tanımlıyoruz.
        // m_ eklemesi, bir elemanın sınıfın veri elemanı mı, yerel veri elemanı mı olduğunu anlamamız için bir çok programcı tarafından sık kullanılan bir yöntemdir.


        // Sınıfın başlangıç metodu
        public MainForm()
        {
            InitializeComponent(); 
            // form oluşturulduktan sonra,

            DateTime dt = new DateTime();
            dt = DateTime.Now;
            // DateTime türünden dt nesnesini DateTime sınıfının Now propertysi ile oluşturuyoruz

            m_str = string.Format("{0:D2}:{1:D2}:{2:D2}", dt.Hour, dt.Minute, dt.Second); 
            // string türünden m_str veri elemanına string sınıfnın statik Format() metodu ile atama yapıyoruz
            // burada {0:D2} tırnaktan sonra gelen ilk elemanın 0 ın olduğu yere yerleşeceği, :D2 ise verinin en az iki basamaklı olmasının istendiği anlamına gelmektedir. Yani 1 ise 01 yazacak.
            // dt nesnesinin Hour propertysi ile sistem saatini, Minute propertysi ile sistem dakikasını ve Second propertysi ile de sistem saniyesini geçiriyoruz. 

            m_labelClock.Text = m_str; 
            // Daha önceden forma eklediğimiz ve ismini m_labelClock olarak değiştirdiğimiz label nesnesinin Text propertysine yukarıda m_str veri elemanına atadığımız veriyi veriyoruz.

            // Böylece başlangıçta 00:00:00 olarak ayarladığımız m_labelClock.Text değerini sistem saati ile güncellemiş olduk. 

            Timer tm = new Timer();
            // Timer türünden bir tm nesnesi oluşturduk
    
            tm.Interval = 1000; 
            //  Interval propertysi timer nesnesinin yineleme aralığını milisaniye cinsinden ayarlamaktadır. (Varsayılan değer 100 ms, biz 1000 ms ye ayarladık)
            
            tm.Tick += new EventHandler(tm_Tick);
            // Tick delege metodu ile her yinelemede (ayarlarımıza göre saniyede bir) tetiklenecek metot ayarlanıyor, biz tm_Tick() olarak belirledik, aşağıda bu metodu yazacağız.

            tm.Start();
            // Start() metodu ile timer nesnesinin çalışmaya başlamasını sağlıyoruz. Ayrıca tm.Enable = true; da aynı işi görmektedir...
        }

        // Timer her yinelemesinde çağırılacak olan metot tm_Tick
        void tm_Tick(object sender, EventArgs e)
        {
            // bu metotta sadece ilk başlangıçta yaptığımız gibi, m_str veri elemanını güncelleyerek, m_labelCloack.Text propertysine veriyoruz, böylece saat çalışıyor görünümü oluşuyor...
            DateTime dt = new DateTime();
            dt = DateTime.Now;
            m_str = string.Format("{0:D2}:{1:D2}:{2:D2}", dt.Hour, dt.Minute, dt.Second);
            m_labelClock.Text = m_str;
            
            this.Text = m_str;
            // Saati form başlığında da görmek istersek, bu satırı da ekleyebiliriz. this, burada MainForm u temsil ediyor ve Text propertysini ayarlıyoruz, böylece form başlığı da sürekli güncelleniyor. 
        }
    }
}
DijitalSaat.rar
DijitalSaat_exe.rar

Cevapla

Kimler çevrimiçi

Bu forumu görüntüleyen kullanıcılar: Hiç bir kayıtlı kullanıcı yok ve 1 misafir