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

 Kayıt ol  Topluluk
1Beğeni(ler)
  • 1 Post By Sunay

Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 29 Nisan 2010, 19:41   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
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.


Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.



Global alanda olusturdugumuz Serializable işlemi :

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
[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:   Kodu kopyalamak için üzerine çift tıklayın!
publicvoid 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:   Kodu kopyalamak için üzerine çift tıklayın!
//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:   Kodu kopyalamak için üzerine çift tıklayın!
//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:   Kodu kopyalamak için üzerine çift tıklayın!
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:   Kodu kopyalamak için üzerine çift tıklayın!
if (listBox1.SelectedIndex != -1) { listBox1.Items.Remove(listBox1.SelectedItem); Temizle(); }

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

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
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:   Kodu kopyalamak için üzerine çift tıklayın!
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:   Kodu kopyalamak için üzerine çift tıklayın!
//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
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.


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

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları sohbet odaları Benimmekan Mobil Sohbet
Cevapla

Etiketler
adres, anlatımı, c#, defteri, ders4, konu


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
Evde Puf Nasıl Yapılır?, Resimli Puf Yapımı Anlatımı, Renkli Puf Yapımı Violent El Sanatları 0 25 Eylül 2014 20:07