C# İle SaveFileDialog Kullanımı


9 Eylül 2012 Hikmet Okumuş C#

SaveFileDialog kontrolü, bir dialog ekranı ile dosya kaydetmek için kullanılmaktadır. Tabiki kayıt işlemi için ayrıca kod yazılmaktadır. SaveFileDialog bize sadece kayıt ekranı için dizinleri listeleyebilme konusunda yardımcı olacaktır.
OpenFileDialog konusunda, SaveFileDialog kontrolü ile ortak olan bazı özellikleri anlatmıştım. Filter, FilterIndex, InitialDirectory, RestoreDirectory, CheckFileExists, Title , Multiselect gibi özellikleri;

http://www.hikmetokumus.com/makale/30/csharp-ile-openfiledialog-kullanimi

Linkinden okuyabilirsiniz. Diğer konular için anlatıma geçelim. SaveFileDialog kontrolünün kullanım şekli aşağıdaki gibidir.
        private void buttonDosyaKaydet_Click(object sender, EventArgs e)
        {
            SaveFileDialog save = new SaveFileDialog();
            save.ShowDialog();
        }
Bir dizine dosya kaydederken kontrol varsayılan olarak dizinde aynı dosya isminden başka bir tane dosyanın olup olmadığını kontrol eder. Eğer varsa bir mesaj ile üzerine yazmak isteyip istemediğinizi sorar. Eğer mesaj çıkarmadan aynı isimde yer alan dosyanın üzerine kayıt etmek isterseniz OverwritePrompt özelliğini false olarak setlemek gerekecektir.
        private void buttonDosyaKaydet_Click(object sender, EventArgs e)
        {
            SaveFileDialog save = new SaveFileDialog();
            save.OverwritePrompt = false;
            save.ShowDialog();
        }
Dosya adına dizinde var olmayan bir dosyanın adı yazıldığında kontrol dosyayı otomatik oluşturur. Eğer bunu kullanıcıdan gelecek yanıta göre yapmak istersek CreatePrompt özelliğini true olarak setlemek gerekecektir. Bu şekilde kullanıcıya dosyayı oluşturmak isteyip istemediğini soracaktır.
        private void buttonDosyaKaydet_Click(object sender, EventArgs e)
        {
            SaveFileDialog save = new SaveFileDialog();
            save.OverwritePrompt = true;
            save.CreatePrompt = true;
            save.ShowDialog();
        }
Son olarak bir textbox içerisine girilen metni .txt dosyasına kayıt edecek bir örnek kod yazalım.
        private void buttonDosyaKaydet_Click(object sender, EventArgs e)
        {
            SaveFileDialog save = new SaveFileDialog();
            save.Filter = "Metin Dosyası|*.txt";
            save.OverwritePrompt = true;
            save.CreatePrompt = true;

            if (save.ShowDialog() == DialogResult.OK)
            {
                StreamWriter Kayit = new StreamWriter(save.FileName);
                Kayit.WriteLine(textBox1.Text);
                Kayit.Close();
            }
        }

Başarılar dilerim.



Kullanıcı Yorumları

hikmet okumuş makale yorum
şahin çayırlı
2/28/2018 7:20:32 AM

Merhabalar verdiğiniz bilgiler bana çok yararı oldu çok teşekkür ederim.

Benim bir sorum olacak ödev hazırlıyorum 1. sınıf Bilgisayar Mühendiliği okuyorum telefon rehberi tarzında bi ödev hazırlıyorum bilgiler txt dosyasına yazılcak ve okuncak şekilde.

savefiledialog ile veriler isimli txt dosyası oluşturdum içine son örneğinizdeki gibi bazı verileri yazdırdım.

Yapamadığım şey ise kaydet butonuna her bastığımda texboxtlara yazdığım bilgilerin veriler.txt dosyasının üzerine yazmak.

Yani her kaydet e bastığımda yazdığım bilgilerin txt dosyasına içerisindeki bilgiler silinmeden altına yazılmasını istiyorum.

ÖRNEK:

ali veli 5354326 // ali nin bilgileri yazdım kaydettim sonra textboxları temizledim.

murat ayşe 45212033 // muratın bilgilerini yazdım kaydettim sonra textboxları temizledim.

fatma betül 1421221 // fatmanın bilgilerini yazdım kaydettim...

gibi bu konuda bana yardımcı olabilirseniz çok sevinirim umarım açıklayıcı anlatabilmişimdir yardımcı olduğunuz için teşekkür ederim.

hikmet okumuş makale yorum
Hikmet Okumuş
3/1/2018 11:21:38 AM

Merhaba Şahin Çayırlı,

Yorumlarınız için teşekkür ederim. Sürekli olarak aynı dosya içerisine eklemeler yapmak istiyorsanız append yöntemini kullanmanız gerekecektir. Bir değişken düşünün aşağıdaki gibi;

string name = "";

name = "John";

name = "Doe";

Burada name değişkeninde en son "Doe" yazacaktır. Ama şu şekilde revize edersek;

string name = "";

name = "John";

name += " Doe";

Artık "John Doe" yazacaktır. Burada mevcut değişken üzerindeki değere Append işlemi uyguladık. Bunun dosya üzerinde karşılığını aşağıdaki örnek üzerinden görebilirsin.

 

Link



Yorum Ekle