IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   C# (https://www.ircforumlari.net/c/)
-   -   C# Konu Anlatımı (Ders4) Adres Defteri Yapımı (https://www.ircforumlari.net/c/331999-c-konu-anlatimi-ders4-adres-defteri-yapimi.html)

Sunay 29 Nisan 2010 19:41

C# Konu Anlatımı (Ders4) Adres Defteri Yapımı
 
Evet arkadaşlar bu makalemde, güncellenebilir, silinebilir en önemlisi basit yoldan verilerin kayıt edilebilir şekilde bir proje yapicaz.

Öncelikle aşağıdaki gibi formumuzu dizayn edelim.

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]


Global alanda olusturdugumuz Serializable işlemi :

Kod:

[Serializable]
publicstructKisi
{
publicstring AdiSoyadi;
publicstring Email;
publicstring GsmNO;
publicDateTime Dogumtarihi;
publicbool SevgilisiVarmi;
publicoverridestring ToString()
{
returnthis.AdiSoyadi;
}
}

Yine global alanda void bir method olusturuyoruz. İstediğimiz yerde bu methodu çağırabiliriz.

Kod:


public
void Temizle()
{
foreach (Control item in groupBox2.Controls)
{
if (item isTextBox)
{
item.Text = "";
}
}
dateTimePicker1.Value = DateTime.Now;
checkBox1.Checked = false;
}

Form'un Load Kısmındaki Kodlarımız :

Kod:


//form aclrken
try
{
//bilgiler nerede
FileStream fsAcilacak = newFileStream("C:\\kisiler.IRCForumlari", FileMode.Open);
//kim acacak
BinaryFormatter acici = newBinaryFormatter();
ArrayList gelenBilgiler =(ArrayList) acici.Deserialize(fsAcilacak);
fsAcilacak.Close();
foreach (Kisi item in gelenBilgiler)
{
listBox1.Items.Add(item);
}
}
catch (Exception)
{
 
}

Kaydet Butonun Altında Çalışan Kodlarımız :

Kod:


//kisiler kaydedilir..
Kisi eklenecek = newKisi();
eklenecek.AdiSoyadi = txtAd.Text;
eklenecek.Dogumtarihi = dateTimePicker1.Value;
eklenecek.Email = txtEmail.Text;
eklenecek.GsmNO = txtGsm.Text;
eklenecek.SevgilisiVarmi = checkBox1.Checked;
listBox1.Items.Add(eklenecek);
Temizle();

Guncelle Butonun Altında Çalışan Kodlarımız :

Kod:

if (listBox1.SelectedIndex != -1)
{
Kisi guncellenecek =(Kisi) listBox1.SelectedItem;
guncellenecek.AdiSoyadi = txtAd.Text;
guncellenecek.Dogumtarihi = dateTimePicker1.Value;
guncellenecek.Email = txtEmail.Text;
guncellenecek.GsmNO = txtGsm.Text;
guncellenecek.SevgilisiVarmi = checkBox1.Checked;
int cikartilacak = listBox1.SelectedIndex;
listBox1.Items.RemoveAt(cikartilacak);
listBox1.Items.Insert(cikartilacak, guncellenecek);
}

Sil Butonun Altında Çalışan Kodlarımız :

Kod:

if (listBox1.SelectedIndex != -1)
{
listBox1.Items.Remove(listBox1.SelectedItem);
Temizle();
}

Temizle Butonunun Altında Çalışan Kodlarımız :

Kod:

Temizle();
Listbox'un SelectedIndex'inde Çalışan Kodlarımız :

Yani Listbox üzerinde çift tıklayarak girdiğimiz kod alanıdır. Burdaki kodlarımız listbox'ta bir satır seçtiğimiz zaman çalışır.

Kod:

try
{
if (listBox1.SelectedIndex != -1)
{
//Kisi secilen = listBox1.SelectedItem as Kisi;
Kisi secilen = (Kisi)listBox1.SelectedItem;
txtAd.Text = secilen.AdiSoyadi;
txtEmail.Text = secilen.Email;
txtGsm.Text = secilen.GsmNO;
dateTimePicker1.Value = secilen.Dogumtarihi;
checkBox1.Checked = secilen.SevgilisiVarmi;
}
}
catch (Exception)
{
MessageBox.Show("Hata ile karsilasildi.");
}

Son olarak form kapatilirken yapilacak işlemler için aşağıdaki kod bloğunu kullaniyoruz. Form'un kapatılırken kodlarımızı çalıştırmak istersek Form'un event'lerinden FormClosing'e çift tıklayarak iç kısmına gitmemiz gerekir.

Kod:


//form kapanrken
//buradaki kodlarn tamam calsmadan form asla kapanmaz.
 
//1- listboxtaki her bir eleman arrayliste aktarlarak tek bir govde haline getirilir..
ArrayList kisiler = newArrayList();
foreach (Kisi item in listBox1.Items)
{
kisiler.Add(item);
}
//2- pc uzerinde kaydetme ilemini yapacak olan nesne hazrlanr.
//ekleme ilemini BinaryFormatter denilen nesne yapar. uzant degistirilebilir. genellikle dat dir. buyume kapasitesi harddiskinizin boyutu kadardir.
try
{
FileStream fsKaydedilecek = newFileStream("C:\\kisiler.IRCForumlari", FileMode.OpenOrCreate);
BinaryFormatter kaydedici = newBinaryFormatter();
kaydedici.Serialize(fsKaydedilecek, kisiler);
fsKaydedilecek.Close();
}
catch (Exception)
{
 
}


Evet sistemimizin çalışması için gerekli olan kod blokları bunlar. Bişey dikkatinizi çekmiş olması lazım, kaydedilen dosyanın uzantısını IRCForumlari yaptik, isterseniz kendi adınızda isterseniz farkli bir adlada kaydedebilirsiniz :)

Diğer makalelerimde görüşmek üzere, hoşçakalın.


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 11:27.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk