9 Kasım 2010 Salı

[ C# ] Dijital Saat

Merhaba arkadaşlar 02.11.2010 Salı günü Görsel Programlama 1 Dersinde yaptığımız Dijital saatin bitmiş hali ektedir.
Her satırın hangi amaçla yazıldığını açıklama olarak yanlarına ekledim. Umarım kafanızda soru işaretleri kalmaz..

İndirme Linki ; 
http://cid-ab97369ef90e9912.office.live.com/self.aspx/.Public/dijitalSaat.rar


Programın Resmi ;




Kodlar ; 



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 // Görsel Programlama 1 - Bekir AKSOY

{

    public partial class Form1 : Form
    {
        public int saniye, dakika, saat;  // Saniye, dakika, saat değişkenlerini global olarak tanımlıyoruz..
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Activated(object sender, EventArgs e)
        {
            saniye = DateTime.Now.Second;   // Sistem saniyesini, saniye değişkenine atıyoruz..
            dakika = DateTime.Now.Minute;   // Sistem dakikasını, dakika değişkenine atıyoruz..
            saat = DateTime.Now.Hour;       // Sistem saat, saat değişkenine atıyoruz..
            // Yukarıdaki atamaları dijital saatimizin sistem saati ile aynı zamanı göstermeleri için yapmaktayız.

            saniyelbl.Text = System.Convert.ToString(saniye);  // saniye değişkenini saniyelbl.text 'e stringe çevirerek yazdırıyoruz..
            dakikalbl.Text = System.Convert.ToString(dakika);
            saatlbl.Text = System.Convert.ToString(saat);

            saatimer.Interval = 1000;  // Timer'in kac saniyede bir tetikleneceğini belirttik, milisaniye cinsinden..
            saatimer.Start();          // Timer'imizi başlattık.
        }


        private void saatimer_Tick(object sender, EventArgs e) // Timer'in tick olayı
        {
            saniye = saniye + 1;   // Saniyeyi 1 artırıyoruz.
            saniyelbl.Text = System.Convert.ToString(saniye); // Saniyenin her yeni degerini saniyelbl.text 'e yazıyoruz.

            if (System.Convert.ToInt32(saniye) == 60) // saniye 60 'a eşit olduğunda
            {
                dakika = dakika + 1;                  // Dakikayı 1 artırıyoruz..
                dakikalbl.Text = System.Convert.ToString(dakika);  // Dakikanın yeni değerini dakikalbl.text 'e yazıyoruz.
                saatimer.Stop();
                saniyelbl.Text = System.Convert.ToString(System.Convert.ToInt32(saniye) - System.Convert.ToInt32(saniye)); // Saniyeyi Sıfırladık..

            }

            if (saniyelbl.Text == System.Convert.ToString(0)) // Saniyelbl.text 0 'a eşit olduğunda
            {
                saniye = 0; // Saniyeyi sıfırladık..
                saatimer.Start();
            }

            if (System.Convert.ToInt32(dakika) == 60) // Yine aynı mantıkla dakika 60 olduğunda saati 1 artırdık..
            {
                saat = saat + 1;
                saatlbl.Text = System.Convert.ToString(saat);
                dakikalbl.Text = System.Convert.ToString(System.Convert.ToInt32(dakika) - System.Convert.ToInt32(dakika));
                saatimer.Stop();
            }

            if (dakikalbl.Text == System.Convert.ToString(0))
            {
                dakika = 0;
                saatimer.Start();
            }

            if (System.Convert.ToInt32(saat) == 24) // Ve en son saat 24 olduğunda saniye,dakika ve saati sıfırlıyoruz.
            {
                dakika = 0;
                saniye = 0;
                saat = 0;
                saatlbl.Text = System.Convert.ToString(System.Convert.ToInt32(saat) - System.Convert.ToInt32(saat));
                saatimer.Start();
            }

            if (saniye < 10)
            {
                saniyelbl.Text = '0' + System.Convert.ToString(saniye);
            }
            if (dakika < 10)
            {
                dakikalbl.Text = '0' + System.Convert.ToString(dakika);
            }
            if (saat < 10)
            {
                saatlbl.Text = '0' + System.Convert.ToString(saat);
            }


            if (label1.Visible == true) // Saat ve dakika arasında ki  "  :  " işaretinin yanıp sönmesini sağlıyoruz.
            {
                label1.Visible = false;
            }
            else
            {
                label1.Visible = true;
            }

            if (label2.Visible == true) // Dakika ve saniye arasında ki  "  :  " işaretinin yanıp sönmesini sağlıyoruz.
            {
                label2.Visible = false;
            }
            else
            {
                label2.Visible = true;
            }
        }

    }
}