İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Sinema Dizi Akıllı Ev Motosiklet Mikromobilite Kripto Para Sağlık Teknolojileri Son dakika Yazarlar
  1. Ana sayfa
  2. SDN Forum
  3. Programlama
  4. Programlama Dilleri
Programlama Dilleri

[MAKALE] - C# ile Settings File Kullanımı

hokumus30.06.20129 cevap7.312 görüntüleme
#1
Merhaba Arkadaşlar,

C# ile settings dosyası kullanımı hakkında kısa bir bilgi aktarıcam. Anlatıma geçelim.

1. Öncelikle hali hazırda projemizde bir tane settings dosyası bulunmaktadır. Properties altında Settings.settings adı ile bulunmaktadır. Eğer isterseniz kendiniz ayrı bir settings dosyası ekleyerek kullanabilirsiniz.

2. Kullanımına geçelim. Öncelikle setting dosyasını açalım. Biraz settings dosyasının alanlarından bahsedelim. Name, Type, Scope, Value alanlarınının açıklayalım.

Name:Tanımladığımız değişkenin adını ifade etmektedir. Örn: deneme
Type: Tanımladığımız değişkenin tipini ifade etmektedir. Örn: string
Scope: Tanımladığımız değişkenin kullanım alanını ifade etmektedir. İki tane değere sahiptir. 1. si User 2. si Application. User ile tanımladığımız değerler, kullanıcı tarafından değiştirebilen değerler için kullanılmakta (Get - Set edilebilir), Application ile tanımladığımız değerler ise sadece okunabilir olarak kullanılabilmektedir (sadece Get edilebilir).
Value: Tanımladığımız değişkenin almış olduğu değeri ifade etmektedir. Örn: "Kitap"

3. Uygulamaya geçelim. Şimdi Name alanına CheckDurum ekleyelim. Type kısmını bool yapalım. Scope' ta User' ı seçelim. Son olarak Value' da True değerini seçelim. Bir adet değer tanımladık. Şimdi programımızda bir adet CheckBox olsun ve programı başlattığımızda burada ki değere göre seçili olsun yada olmasın. Aynı zamanda çalışma anında durumunu değiştirip kayıt edelim. Tekrar programı çalıştırdığımızda son durumuna göre seçili olsun yada olmasın.

4. Programımızın Load eventına aşağıda bulunan kodu yazıyoruz.
checkBox1.Checked = Properties.Settings.Default.CheckDurum;


5. Settings dosyasının durumuna göre checkbox' ımız seçilecektir. Şimdi çalışma anında settings dosyamızdaki değerimizi set edelim. Button' a tıkladığımızda checkbox ın checked durumu ne ise o değeri kayıt edelim. Aşağıdaki kodu button' un click olayına yazıyoruz.

private void button1_Click(object sender, EventArgs e)
        {
            Properties.Settings.Default.CheckDurum = checkBox1.Checked;
            Properties.Settings.Default.Save();
        }


Burada önemli olan settings dosyasına değeri atatıktan sonra Save() metodu ile set işlemini sonlandırmak.

Bu şekilde settings dosyasını kullanarak ayarları get - set edebilirsiniz. Diğer tüm tiplerinde kullanımı bu şekilde olmaktadır.

Başarılar dilerim.
Cevaplar
#2
Teşekkür ederim gayet güzel çalışıyor verdiğin kodlar teşekkür ederim kardeşim.
#3
Settings dosyası kullanımını bilmeyenler için güzel bir kaynak olmuş. Ellerine sağlık.
#4
Eline Sağlık. Sade ve anlaşılır bir anlatım olmuş. Bu tip paylaşımların devamını diliyorum.
#5
Hocam value kısmını true yapmamızdaki amaç nedir ? False olsa ne gibi farklılık olurdu, hangi durumlarda kullanılır ?

- - - Mesaj Güncellendi - - -

Bir proje üzerinde çalışıyorum ve form1 de açıklama bölümü var altında da checkbox "bunu bir daha gösterme" ibaresi yapmak istiyorum gerekli kodu paylaşabilir misiniz? checkbox seçiliyken butna tıklandığında bir dahaki açılışta form2 açılmasını istiyorum değilse açılışta form1'in açılmasını istiyorum, teşekkürler.
hokumus Konuyu açan
#6
Selamlar,

bool tipinde bir değişken tanımladığım için ilk değerini true olarak tanımladım.

Gelelim senin sorduğun soruya. Bir form ekranın var ve bu ekranda bahsettiğin gibi bir daha gösterme CheckBox' ı olsun. Seçimi yapalım ve tamam butonuna basalım. Tamam butonuna bastığında, öncelikle makalede anlatıldığı için değeri Settings içerisine setlemen gerekmektedir. Sonrasında program.cs içerisinde bulunan Main metodu içerisinde işlem yapman gerekmekte. Örneğin;

                if (Properties.Settings.Default.CheckDurum)
                {
                    Application.Run(new Form1());
                }
                else
                {
                    Application.Run(new Form2());
                }


Bu şekilde işlemini gerçekleştirebilirsin.

Başarılar.
#7
Teşekkür ederim çok yardımcı olduğunuz. Peki bunu butona tıklandığı zaman yapabilir miyiz ? Onuda açıklayım:
üzerinde çalıştığım projede gizlilik önemli olacak. Programın ilk açılışında üye girişi çıkmakta girilen bilgiler veri tabanında kayıtlı ise form 2 ye yani programın asıl amaçını icra ettiği forma geçiş yapmakta. Ancak rogramı ilk kez kuran birisi haliyle veri tabanında kaydı bulunmadığı için yeni kayıt olmak isteyecek ve olacakta sıkıntısız bir şekilde girişini gerçekleştirecek.
sıkıntı başka bir kişi programı açtığı zaman yeni üye kaydı yaparak programa erişebiliyor ben bunu programa kurulan pc de sadece bir kez üye olunduğunda "yeni kayıt" butonunu enable yapmak istiyorum ya da başka bir tavsiyeniz olur mu? kısacası program kişiye özel olmasını istiyorum. programın ilk açılışında üye kaydı yapma şansımız var mıdır ? Tekrar teşekkürler.
hokumus Konuyu açan
#8
Selamlar,

Yanlış anlamadıysam bir Windows masaüstü uygulaması geliştireceksiniz. Uygulamayı kullanıcı girişi ile kullandıracaksınız. Ve uygulamanın kurulu olduğu bilgisayarda sadece tek bir kayıtlı kullanıcı tarafından kullanılmasını, 2. bir kullanıcının aynı bilgisayar üzerinde programa kayıt olamamasını ve programa giriş yapamamasını istemektesiniz.

Bunu bir çok yöntemle yapabilirsiniz. İlk aklıma gelen yöntem Register' a yazmak ve oradan okumak olabilir. Fakat mantıksal olarak tek bir bilgisayar ve tek bir kullanıcı yapısı açıkçası çok mantıklı gelmedi. Programınızı aynı evde bulunan 2 kişi kullanmak istiyor. Bunun için kişikeri 2 farklı bilgisayara mecbur bırakacaksın. Amaç veri güvenliği ise bunu yazılım boyutunda ayarlamanız gerekmektedir.

Kısacası yapabilirsin, fakat iyi kurgulayın.
#9
öncelikle ilginizden ötürü çok teşekkür ederim ancak register ı biraz anlatır mısınız bilgi sahibi değilim ya da bi uygulamada gösterebilirseniz çok memnun olurum.

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.