Sümeyye Kök

Posts Tagged ‘c# dosya işlemleri

 

 

C#’ ta geliştirdiğim bir otomasyondan aklımda kalanları paylaşmak istedim.Fazla oyalanmadan direk kodlara geçiyorum step step gidelim:(Çok fazla listbox,textbox kullanmış olduğum projenin sadece örnek teşkil edecek kısımlarını paylaşıyorum:)

1-Öncelikle using System.IO kütüphanesini direk programın başına ekliyoruz.

2-Eğer dosya okuma işlemi yapmak istiyorsak şu kodlar işe yarayacaktır:
private void Form2_Load(object sender, EventArgs e)

{      //Formlar üzerinde çalştım.ve Load kısmına bu kodları yazdım(Açıklamaları takip edelim.)

FileStream fs;           //Dosya açmak için değişken oluşturdum.
StreamReader sr;   //Dosya okumak için değişken oluşturdum.
string satir;
string dosya_adi;
char[] karakter = new char[1];   //Dosyadan birer birer okuma yapacaz.
karakter[0] = ‘*’;                              //Kayıtarın karışmaması için ben * işaretii ayıraç olarak kullandım.
string[] dizi = new string[20];
dosya_adi = “C:\OtoProje\musteri.txt”;   //Dosya yolunu belirttik.

fs = new FileStream(dosya_adi, FileMode.Open, FileAccess.Read);   //Dosyayı açma ve okuma işlemlerini bu iki satırda yaptık.
sr = new StreamReader(fs);
while ((satir = sr.ReadLine()) != null)     //dosya sonuna gelinmediği sürece okumaya devam etmesi gerektiğini kodladık.
{
dizi = satir.Split(karakter);
listBox1.Items.Add(dizi[0].ToString());
listBox2.Items.Add(dizi[1].ToString();
}
sr.Close();
fs.Close();

}

3Kayıt Ekleme butonuna basıldığında:

private void button2_Click(object sender, EventArgs e)
{
listBox1.Items.Add(textBox1.Text);  // texbox’tan alınıp kayıtın eklenme işlemini yaptık.
listBox2.Items.Add(textBox9.Text);
MessageBox.Show(“KAYIT YAPILDI,görmek için yeniden KAYIT sayfasına dönünüz..”);
this.Close();

}

4-Kayıt silme işlemi:

private void button3_Click(object sender, EventArgs e)   //Silme butonu için kodları yazdık.
 {
int index = listBox1.SelectedIndex;     //listboxların birine tıklandığında diğerlerinin de seçilmesini sağlayan şey index’tir.
if (index < 0)
{
MessageBox.Show(“Önce silinecek ögeyi seçin!..”);
}
else
{
listBox1.Items.RemoveAt(index);
listBox2.Items.RemoveAt(index);
this.Close();

}

5-index kullanımı(Seçili listbox uygulaması) :

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
int index = (sender as ListBox).SelectedIndex;
listBox1.SelectedIndex = index;
listBox2.SelectedIndex = index;

}

6-Verilerin dosyaya kayıt edilem işlemi Form kapanırken yapılır.Bu yüzden Formun CloseEvent’ına şu kodlar yazılabilir:

private void Form2_FormClosed(object sender, FormClosedEventArgs e)
{
FileStream fs;
StreamWriter sw;
string dosya_no, plaka, sigorta_sirketi, aciklama, sasi_no, motor_no, musteri_adi, tc_no, telefon_no, exper_adi, exper_telefon, police_no, iscilik_tutar, parca_tutar, genel_toplam;
int kayit_sayisi;

fs = new FileStream(“C:\OtoProje\musteri.txt”, FileMode.Create, FileAccess.Write);       //yazmak  için dosya açılır.
sw = new StreamWriter(fs);
kayit_sayisi = listBox1.Items.Count;  // kayıt sayısı hesaplanır.
if (kayit_sayisi > 0)
{
for (int i = 0; i < kayit_sayisi; i++)
{
sigorta_sirketi = textBox1.Text.ToString();
police_no = textBox2.Text.ToString();

sigorta_sirketi = listBox5.Items[i].ToString();
police_no = listBox6.Items[i].ToString();

sw.WriteLine( sigorta_sirketi + “*” + police_no );

}

sw.Close();
fs.Close();

}

kodlar bu şekilde ana hatlarıyla özetlenebilir.Tek bir Form üzerinde çalıştığımızı varsayarak bişeyler karaladım umarım işinize yarar kolay gelsin:))