private void btnDosyayaSatırEkle_Click(object sender, EventArgs e)
{
//1-string dosya_adresi = @"C:\Users\YILDIRAY\Desktop\Projeİçin.txt";
//1-string tümleme = txbYazmaMarka.Text + "-"+txbYazmaModel.Text + "-"+ txbYazmaÜretimYılı.Text +"-"+ txbYazmaPlaka.Text +"-"+ txbYazmaMotorGücü.Text;
//1-StreamWriter streamWriter = new StreamWriter(dosya_adresi,true);
//1-streamWriter.WriteLine(tümleme);
//1-streamWriter.Close();
string dosya_adresi = @"C:\Users\YILDIRAY\Desktop\Projeİçin.txt";
ArabalarınÖzellikleri12 arabalarınÖzellikleri = new ArabalarınÖzellikleri12//()
{
AracınMarkası = txbYazmaMarka.Text,
AracınModeli = txbYazmaModel.Text,
AracınÜretimYılı = Convert.ToInt32(txbYazmaÜretimYılı.Text),
AracınPlakası = txbYazmaPlaka.Text,
AracınMotorgücü = Convert.ToDecimal(txbYazmaMotorGücü.Text)
};
//arabalarınÖzellikleri.AracınMarkası = txbYazmaMarka.Text;
//arabalarınÖzellikleri.AracınModeli = txbYazmaMarka.Text;
//arabalarınÖzellikleri.AracınÜretimYılı = Convert.ToInt32(txbYazmaÜretimYılı.Text);
//arabalarınÖzellikleri.AracınPlakası = txbYazmaPlaka.Text;
//arabalarınÖzellikleri.AracınMotorgücü = Convert.ToDecimal(txbYazmaMotorGücü.Text);
StreamWriter streamWriter = new StreamWriter(dosya_adresi, true);
streamWriter.WriteLine(arabalarınÖzellikleri.AracınMarkası, arabalarınÖzellikleri.AracınModeli, arabalarınÖzellikleri.AracınÜretimYılı, arabalarınÖzellikleri.AracınPlakası, arabalarınÖzellikleri.AracınMotorgücü);
streamWriter.Close();
}
Pekçok şey denedim ancak hala forms uygulamamda sadece ilk textbox yani AracınMarkası, txt dosyasına kaydediliyor. Onun harici veriler kaydedilmiyor.
Kaydetme işlemi ben StreamWriter'a aracın markasını yazmasam dahi sadece o kaydediliyor ve onun haricindekiler kaydedilmiyor.
sonuç olarak metin belgesine marka bölgesine yazdığım metin giriliyor.
StreamWriter.WriteLine Yöntem (System.IO) | Microsoft Docs
Arka arkaya stringleri bu şekilde yazdıramazsın.
Fonksiyon öyle çalışmıyor.
Eğer nesne yazdıracaksan birinci parametresi format, ikinci parametresi ise yazdırılacak nesne oluyor.
C# StreamWriter WriteLine(string format, params object?[] arg) (demo2s.com)
İlkini string verdiğin için tek ilkini yazar.
Kafam karışmasın diyorsan.
Her bir parametren için teker teker yazdır. Tek writeline yerine her birini ayrı yazdır.
2 Beğeni
Peki bu sorun Windows Forms ile mi alakali yoksa fonksiyonu iki defa art arda cagirinca da oluyor mu?
1 Beğeni
StreamWriter streamWriter = new StreamWriter(dosya_adresi, true);
streamWriter.WriteLine(string.Format("{0},{1},{2},{3},{4}",
arabalarınÖzellikleri.AracınMarkası,
arabalarınÖzellikleri.AracınModeli,
arabalarınÖzellikleri.AracınÜretimYılı,
arabalarınÖzellikleri.AracınPlakası,
arabalarınÖzellikleri.AracınMotorgücü));
streamWriter.Close();
StreamWriter satırını yoruma alıp şu şekilde de deneyebilirsiniz:
File.AppendAllText(dosya_adresi, string.Format("{0},{1},{2},{3},{4}\n",
arabalarınÖzellikleri.AracınMarkası,
arabalarınÖzellikleri.AracınModeli,
arabalarınÖzellikleri.AracınÜretimYılı,
arabalarınÖzellikleri.AracınPlakası,
arabalarınÖzellikleri.AracınMotorgücü
));
string.Format()’ ı özelleştirebilirsiniz. Ben virgül kullanmayı tercih ettim.
1 Beğeni
buna da bakarsan sevinirim