Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
C# İni Ayar Dosyası Oluşturma Fonksiyonu
#1
[Resim: 58gqsil4.png]
Merhaba Arkadaşlar;

Bu konuda c# ile hazırladığınız bir uygulamada ayarları ini dosyasında saklamak ve program açılırken o ayarlar ile açılmasını sağlamak istediğinizde nasıl yapmamız gerektiğini örnek kodlar ile basitce anlatacağım.


Class Fonksiyon Kodu: Öncelikle bu kodumuzu projemize gerekli yere ekliyoruz.

Kod:
       public class INIKaydet
       {
           [DllImport("kernel32")]
           private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
           [DllImport("kernel32")]
           private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);
           public INIKaydet(string dosyaYolu)
           {
               DOSYAYOLU = dosyaYolu;
           }
           private string DOSYAYOLU = String.Empty;
           public string Varsayilan { get; set; }
           public string Oku(string bolum, string ayaradi)
           {
               Varsayilan = Varsayilan ?? String.Empty;
               StringBuilder StrBuild = new StringBuilder(256);
               GetPrivateProfileString(bolum, ayaradi, Varsayilan, StrBuild, 255, DOSYAYOLU);
               return StrBuild.ToString();
           }
           public long Yaz(string bolum, string ayaradi, string deger)
           {
               return WritePrivateProfileString(bolum, ayaradi, deger, DOSYAYOLU);
           }
       }
       
       


İNİ Dosyasından Okuma: Burada önemli olan  önce ayarlar ini dosyası mevcutmu kontrol ettirdik mevcut ise ayarları yükle dedik. Ayrıca ini dosyası içeriği bozulmuş ta olabilir, bozulduğu için yüklerken hata vereceğinden dolayı try catch kodları içine alarak bozulmuştur diye uyarı verdirdik, hata durumunda catch kod bloğunda kendinize göre işlemler yaptırabilirsiniz.

Ayarları okuturken TEST adı altında Nesne özelliği string olan değerleri direk olarak okutabilirken, örneğin checkbox değeri bool olduğu için okuturken değerini boolean çevirmemiz gerekiyor. Buradaki önemli nokta odur. TEST adı altında hangi ayarı yüklesin şeklinde INI.Oku(bolum,ayaradi) şeklinde değerini okuyup istediğimiz yere atama yaptırabiliyoruz.
Kod:
           try
           {
               if (File.Exists(Application.StartupPath + @"\Ayarlar.ini"))
               {
                   INIKaydet INI = new INIKaydet(Application.StartupPath + @"\Ayarlar.ini");
                   txtMetin.Text = INI.Oku("TEST", "TXT KUTUSU METNİ");
                   chBox.Checked = Convert.ToBoolean(INI.Oku("TEST", "CHBOX DURUMU"));
                   rdBtn.Checked = Convert.ToBoolean(INI.Oku("TEST", "RD BUTON DURUMU"));
                   cmBox.SelectedIndex = Convert.ToInt32(INI.Oku("TEST", "CM BOX DURUMU"));

               }
               else
               {
                   MessageBox.Show("Ayarlar.ini ayar dosyası kayıp");
               }
           }
           catch (Exception hata)
           {
               MessageBox.Show("İni ayar dosyası zarar görmüş" + hata.Message);
           }

İNİ Dosyasına Kaydetme: Kaydetme olayında ise INI.yaz(bolum,ayaradi,deger) şeklinde yapıyoruz. Okuma ve yazmada Bölüm yanı ayar sınıfı adı sabit olmalıkı o Bölüm altındakı ayaradı değerlerini yüklesin. Ben TEST Olarak girdim. Bu program adı olabilir veya siz hangi adı vermek isterseniz olur. Ayaradi ise ini içinde "TXT KUTU METNİ = ..." şeklinde değeri ifade edecek tanımdır. Bunuda yazma ve okuma işlemlerinde sabit tanımlamanız gerek ama içeriği yine size kalmış. Örnek eklediğim projeyi inceleyerek durumu daha iyi kavrayabilirsiniz.
Kod:
           INIKaydet INI = new INIKaydet(Application.StartupPath + @"\Ayarlar.ini");
           INI.Yaz("TEST", "TXT KUTUSU METNİ", txtMetin.Text);
           INI.Yaz("TEST", "CHBOX DURUMU", chBox.Checked.ToString());
           INI.Yaz("TEST", "RD BUTON DURUMU", rdBtn.Checked.ToString());
           INI.Yaz("TEST", "CM BOX DURUMU", cmBox.SelectedIndex.ToString());
           MessageBox.Show("Ayarlar kaydedildi.");

Örnek Proje İndir
https://www.dropbox.com/s/w8dc24vp45f6dm...i.rar?dl=0
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  C# Başlangıçta Çalıştır Fonksiyonu root 0 3,767 21-01-2016, 14:53
Son Yorum: root
  C# Program Zaten Çalışıyor Fonksiyonu root 0 4,114 28-12-2015, 22:43
Son Yorum: root
  C# Metin Ters Çevirme Fonksiyonu [Reverse String Method]] root 0 4,915 17-12-2015, 18:33
Son Yorum: root
  C# webBrowser Otomatik Kaydırma Fonksiyonu [AutoScroll] root 0 10,844 09-11-2015, 19:09
Son Yorum: root

Hızlı Menü:


Konuyu Okuyanlar: 1 Ziyaretçi