Timer Csharp etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Timer Csharp etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

21 Haziran 2013 Cuma

Alarm Uygulaması - Csharp

Csharp'ta Alarm Uygulaması Yapılacak. Bunun için windows formumuza 3 label,3 textbox, 2 buton ve 2 timer ekliyoruz.

Çözümü:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace uygulama8
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            txtTarih.Text = DateTime.Now.ToShortDateString();
            txtZaman.Text = DateTime.Now.ToLongTimeString();
            timer1.Enabled = false;
            timer2.Enabled = false;
            Text = "Alarm Kapalı";
            timer1.Interval = 100;
        }

        private void btnAlarmiAc_Click(object sender, EventArgs e)
        {
            timer1.Enabled = true;
            this.Text = "alarm açık";
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            if (txtTarih.Text == DateTime.Now.ToShortDateString() && txtZaman.Text == DateTime.Now.ToLongTimeString())
            {
                //timer2yi aktif yap (yanıp sönmeyi sağlayacak)
                timer2.Enabled = true;
                //Alarm metnini bildir
                MessageBox.Show(txtMesaj.Text);
            }
        }

        private void timer2_Tick(object sender, EventArgs e)
        {
            //Yazı ve zemin rengini değiştirerek
            //Yanıp sönmesini sağla
            Color c;
            c =txtMesaj.BackColor;
           txtMesaj.BackColor = txtMesaj.ForeColor;
           txtMesaj.ForeColor = c;
        }

        private void btnAlarmıKapat_Click(object sender, EventArgs e)
        {
            timer1.Enabled = false;
            timer2.Enabled = false;
            this.Text = "alarm kapalı";
        }
    }
}

Kod Açıklaması: 
  private void Form1_Load(object sender, EventArgs e)
        {
            txtTarih.Text = DateTime.Now.ToShortDateString();
            txtZaman.Text = DateTime.Now.ToLongTimeString();
            timer1.Enabled = false;
            timer2.Enabled = false;
            Text = "Alarm Kapalı";
            timer1.Interval = 100;
        }
Formumuz yüklendiği zaman öncelikle datetime sınıfını kullanarak bu sınıfın içinde şimdki tarihi ToShortDateString metodu ile tarihi gün,ay ve yıl olarak alıp textbox'ın içine yazdırıyoruz. ToLongTimeString metodunu kullanarak şimdki zamanı saat ve dakika olarak alıp textbox'ın içine yazdırıyoruz. Tezt dediğimiz formumuzun üstüne form 1 yerine alarm kapalı yazdırıyoruz. Bizim timer'ımız 100 milisaniyelik zaman diliminde çalışacak.

 private void btnAlarmiAc_Click(object sender, EventArgs e)
        {
            timer1.Enabled = true;
            this.Text = "alarm açık";
        }
Alarmı aç butonuna basmamız  ile timer1'i aktif hale getiriyoruz. Form1 yazılacak yere alarm açık yazdırıyoruz.

Timer1 peki nasıl aktif hale gelecek?
private void timer1_Tick(object sender, EventArgs e)
        {
            if (txtTarih.Text == DateTime.Now.ToShortDateString() && txtZaman.Text == DateTime.Now.ToLongTimeString())
            {
                //timer2yi aktif yap (yanıp sönmeyi sağlayacak)
                timer2.Enabled = true;
                //Alarm metnini bildir
                MessageBox.Show(txtMesaj.Text);
            }
        }
Şu kontrolu yapıyoruz eğer textbox'ın içindeki tarih bizim girdiğimiz tarih ile eşit ve zaman bizim textbox'ın içindeki saat ve dakika ile eşitse ozaman timer2 'yi aktif et ve mesaj box ile alarm mesaj kutusuna yazdığımızı ekrana mesaj ile getir.

private void timer2_Tick(object sender, EventArgs e)
        {
            //Yazı ve zemin rengini değiştirerek
            //Yanıp sönmesini sağla
            Color c;
            c =txtMesaj.BackColor;
           txtMesaj.BackColor = txtMesaj.ForeColor;
           txtMesaj.ForeColor = c;
        }
Timer2 timer1 aktif olunca aktif olacak. Ozaman textbox'ın arkaplanını koyu yapıyoruz. Böylece ordaki yazı yanıp sonen hale gelecek.

private void btnAlarmıKapat_Click(object sender, EventArgs e)
        {
            timer1.Enabled = false;
            timer2.Enabled = false;
            this.Text = "alarm kapalı";
        }

Alarmı kapat butonuna tıkladığımızda ise timer1 ve 2'yi kapatıyoruz. Ve form1 yazılacak yere alarm kapalı yazdırıyoruz.

Uygulamayı Buradan İndirebilirsiniz: https://hotfile.com/dl/230048774/cbbf783/uygulama8.rar.html

14 Haziran 2013 Cuma

Geri Sayım Yaparken Rastgele Sayı Üretilip Listbox'a Sayılar Yazdırılıp Toplama -Csharp

Not: Bu uygulama geri sayım için timer kullanılacak. Rastgele sayı üretilip, listbox ve if yapısı kullanılacak.

Soru:
Kullanıcıdan alınan sayıdan itibaren geri sayım süresi başlayacak. Geri sayımın hızını kullanıcı seçebilecek. Geri sayım yapılırken 1 ile 50 arasından rastgele sayı üretilip listboxlara eklenecek. Geri sayım bittikten sonra üretilen rastgele sayılar toplanıp sonucu kullanıcıya gösterilecek bir program yazınız. 

 Windows Formu Hazırlama: Program için windows formun üzerine 1 textbox,buton,label,timer ve listbox eklenecek.

Çözümü:
 using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace uygulama3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        int sure;
        private void button1_Click(object sender, EventArgs e)
        {
            sure = Convert.ToInt32(textBox1.Text);
            label1.Text = sure.ToString();
            timer1.Interval = System.Convert.ToInt32(comboBox1.Text);
            timer1.Start();
        }


        private void timer1_Tick(object sender, EventArgs e)
        {
           sure=sure-1;
            label1.Text = sure.ToString();
            Random rnd = new Random();
            int eklenecek_sayi=rnd.Next(1, 50);
            listBox1.Items.Add(eklenecek_sayi);
            if (sure == 0)
            {
                timer1.Stop();
                int toplam = 0;
                for (int i = 0; i < listBox1.Items.Count; i++)
                {
                    toplam += Convert.ToInt32(listBox1.Items[i]);
                }
                MessageBox.Show(toplam.ToString());
            }

        }
    }
}






Kodun Açıklaması: 

            sure = Convert.ToInt32(textBox1.Text);
            label1.Text = sure.ToString();
            timer1.Interval = System.Convert.ToInt32(comboBox1.Text);
            timer1.Start();

 Butona bastığımız zaman ilk önce textbox'ta bulunan sayıyı alıp convert metodu ile integer değişkeni olan sure değişkenine atıyoruz. Sonra bu girilen ve integere çevrilen değişkeni alıp label'a atıyoruz. Çünkü her bir süre azaldığında tekrar label'a yazılacağı için o değerin.Sonra combobox'ta yer alan değerlerden birini seçiyoruz. Bu değer timer'ın hangi aralıklarla tetikleneceğini belirliyor. Sonra timer çalışıyor. Timer, bize tetikleme işlemlerinde işimize yarayacak bir araçtır. Burada geri sayım yaparken birşey tarafından sürenin tetiklenmesi lazım buda timer ile yapıyoruz.

Peki, timer her tetiklendiğinde ne olacak, label'da olan süre 1 azalacak, 1-50 arasında rastgele sayı üretilip listbox'a atılacak. Süre 0 olduğunda ise sayı üretilmesi duracak ve listbox'ta olan sayılar toplacak. Şimdi bu işlemlere yapan kodlara bir göz atalım.

private void timer1_Tick(object sender, EventArgs e)
        {
           sure=sure-1;
            label1.Text = sure.ToString();
            Random rnd = new Random();
            int eklenecek_sayi=rnd.Next(1, 50);
            listBox1.Items.Add(eklenecek_sayi);
            if (sure == 0)
            {
                timer1.Stop();
                int toplam = 0;
                for (int i = 0; i < listBox1.Items.Count; i++)
                {
                    toplam += Convert.ToInt32(listBox1.Items[i]);
                }
                MessageBox.Show(toplam.ToString());
            }

        }

Timer her tetiklendiğinde süre=sure-1 kodu ile süre bir azalacak. Peki, timer hangi aralıklarda tetiklenecek. Yukarıda bahsetmiştik, combobox'tan seçilen değer timer'ın tetiklenme aralığını oluşturuyor.Timer.interval metodu ile. Sure bir azalır iken sure her seferinde label'a yeni değeri ile yeniden yazılıyor. Sonra random sınıfından rnd isimde bir rastgele nesnesi oluşturuyoruz. Bu rnd nesnesi 1-50 arasında değer uretecek. Bu değer bizim listbox'ımıza eklenecek değerimizdir. Bunu listbox1.Items.Add metodu ile listbox'ımıza ekliyoruz. Peki ne zamana kadar bu sayılar üretilip eklenecek sure==0 olana kadar. Süre 0 olduğunda ilk işimiz timer'ın çalışmasını durdurmak. Çünkü böylece timer tetiklenmeyinde süre azalmıyacak,rastgele sayılar üretilip listbox'a eklenmeyecek. Şimdi sıra listbox'a eklenen rastgele sayıların toplamını bulmaya. Bunun için bir for döngüsü oluşturuyoruz. Peki döngü ne kadar dönecek, listbox'taki itemlerin sayısı(count) kadar dönecek. Her seferinde Listbox'ın içinde bulunan i. item'ın değerini alacak bizim toplam diye değişkenimize atacak. Döngü bittiğinde ise bunu kullanıcıya messagebox metodu ile toplam sonucu bildiriyoruz.

Uygulamayı bu linkten indirebilirsiniz:  https://hotfile.com/dl/227592245/5a6517d/uygulama3.rar.html
 

20 Mayıs 2013 Pazartesi

Progress Bar Yapımı - Csharp

Bu uygulamada amaç progress bar ve timer kullanımı pekiştirmek. Windows Formunun üzerine bir progress bar, bir label ve timer ekliyoruz.
/************************************************-------------------------------------------------***********************************/
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 _17SubatProgress
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
//timer'ı tetikleyen birşey olması lazım. Bazen bu butona basılınca olur. Bazende form yüklenirken. Biz form //yüklenirken timer otomatik başlasın dedik.
            timer1.Start();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
//artık timer'ın tetiklemesiyle işlemler olacak
//her tetiklenmede rasgele bir sayı üretilecek 0ile 20 arasında. bu sayıya göre progress bar dolacak

            Random rnd=new Random ();
            int rastgele = rnd.Next(0, 20);
            progressBar1.Step = rastgele;
//seçilen sayı progress barın adımı belirliyor bu işlem 100 den küçük olduğu müddetçe devam ediyor.

            if (progressBar1.Value < 100)
            {
                progressBar1.PerformStep();
                if (progressBar1.Value < 20)
                    label1.Text = "Kurulum Başladı";
                else if (progressBar1.Value < 40)
                    label1.Text = "Kurulum devam ediyor";
                else if (progressBar1.Value < 60)
                    label1.Text = "Kurulum malesef devam ediyor";
                else if (progressBar1.Value < 80)
                    label1.Text = "Kurulum az kaldı";
                else
                    label1.Text = "Sonunda Bitmek Üzere";
            }
            else
            {
                timer1.Stop();
                label1.Text = "Kurulum bu kadar sürer mi ya";
            }
        }
    }
}
uygulamayı buradan indirebilirsiniz.:https://hotfile.com/dl/223589951/4dd97ea/17SubatProgress.rar.html
Google PageRank Checker Powered by  MyPagerank.Net