Csharp Programlama Dilinde İş Listesi Uygulaması

Bu makalemizde bir Yapılacak İşler Listesi uygulamasını Csharp Programlama dilinde Windows Form Application kullanarak yapacağız. Uygulamamız, yapılacak işin adını ve yapılış saatini alarak, Ekle butonuna basınca listeye ekleyecek.

Uygulama açıldığında son kaydedilen işler listesi liste.txt dosyasından okunarak listbox içine yazılacak. Uygulama kapatıldığında listedeki veriler otomatik olarak liste.txt dosyasına kaydedilecek. 

Nesne Tipi Name Özelliği Açıklama
Button btnKaydet Kaydet
Button btnSil Sil
Button btnKapat Kapat
Button btnTemizle Temizle
button btnEkle Ekle
combobox cbZaman Collections özelliğine saatler girildi
textbox txtIS İş adının yazıldığı metin kutusu
listbox lbisler Liste Kutusu (Sarı kısım)



Kodların tamamı aşağıda yer almaktadır. Daha sonra detaylı şekilde anlatılacaktır.

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;
//Aşağıdaki iki namespace yeni eklendi
using System.Collections;
using System.IO;
 
 
namespace ToDoList
{
   
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            // Program açılırken metin kutusu içeriği boşaltılıyor
            // Saat seçim kutusu ilk seçeneğe ayarlanıyor
            txtIS.Text = "";
            cbZaman.SelectedIndex = 0;
 
            //Program açılırken dosyadan veri okuyor
            //Dosyadan veri okuma
            string satir = null;
            try
            {
                //TextReader sınıfını çağırarak liste.txt içeriğini okutuyoruz
                //Okutulan liste.txt dosyasını satır satır listeye ekliyoruz
                TextReader dosyaoku = new StreamReader("liste.txt");
                while (true)
                {
                    satir = dosyaoku.ReadLine();
 
                    if (satir == null)
                    {
 
                        break;
                    }
                 
                    lbIsler.Items.Add(satir);
                }
                dosyaoku.Close();
                dosyaoku = null;
 
 
            }
            catch (IOException hata)
            {
                MessageBox.Show(hata.ToString());
            }
 
        }
       
 
       // Ekle butonuna tıklayınca metin kutusundaki(textbox) bilgi listbox'a ekleniyor.
        private void btnEkle_Click(object sender, EventArgs e)
        {
            string veri = cbZaman.SelectedItem.ToString() + " " + txtIS.Text;
            lbIsler.Items.Add(veri);          
 
            txtIS.Text = "";
            cbZaman.SelectedIndex = 0;
 
        }

        //Kaydet butonuna tıklanınca tüm veriler liste.txt dosyasına kaydediliyor.
        private void btnKaydet_Click(object sender, EventArgs e)
        {
 
            try
            {
               
// TextWriter ile liste.txt dosyasına listbox'taki tüm kayıtları yazdırıyoruz  
                // WriteLine metodunda ne belirtirseniz o veri dosyaya yazdırılacaktır. 
                TextWriter dosya = new StreamWriter("liste.txt");
 
                foreach (string i in lbIsler.Items)
                {
                    dosya.WriteLine(i);
                }
                   MessageBox.Show("Dosyaya kaydedildi.");
                dosya.Flush();
                dosya.Close();
                dosya = null;
            }
            catch (IOException hata)
            {
                MessageBox.Show(hata.ToString());
            }
        }

        //listbox tamamen temizleniyor
        private void btnTemizle_Click(object sender, EventArgs e)
        {
            lbIsler.Items.Clear();
        }

        // listbox'da seçilen kayıt Sil butonuna tıklanınca siliniyor
        private void btnSil_Click(object sender, EventArgs e)
        {
          if (lbIsler.SelectedIndex>0)
            lbIsler.Items.RemoveAt(lbIsler.SelectedIndex);
        }

       // Program kapatılıyor, kapatılırken listedekiler dosyaya kaydediliyor
        private void btnKapat_Click(object sender, EventArgs e)
        {
            btnKaydet_Click(sender,e);
            this.Close();
        }
 
   
    }
}
 
 
Bu makalemizde TextWriter ve TextReader kullanımını inceledik. liste.txt dosyası programın çalıştığı dizinde oluşturuluyor. Bilgisayarda belirtilen başka bir yere de kaydedilebilir.  Windows'ta başka bir yola kaydederken gerekli izinlerin ve yetkilerin verildiğinden emin olunuz, yoksa program çalışmayacaktır. 

Mutlu Kodlamalar,
Oğuzhan TAŞ
Nisan, 2015
 
Bookmark and Share