C# ComboBox TXT Dosyası ile Doldurma

C# ComboBox TXT Dosyası ile Doldurma

10 Ocak 2019 0 Yazar: Mustafa BÜKÜLMEZ
Toplam Görüntülenme : 74
Yaklaşık okuma süresi : 4 DK
C# MP3 Çalar Uygulaması - mciSendString
C# ComboBox TXT Dosyası ile Doldurma
5 (100%) 1 Oy

C# ComboBox TXT Dosyası ile Doldurma, yazım ile C# eğitim setime devam ediyorum. Bu dersimizde bir metin belgesinde yer alan bilgileri combobox’a doldurma işlemine bakacağız.

C# ComboBox TXT Dosyası ile Doldurma

Bir özel araç servis firması için yaptığım uygulamada araç markalarını sql de bir tablo açmak yerine bir metin belgesine olmasını ve müşterininde bu listeyi dilediği gibi düzenleyebilmesi için böyle bir yola başvurdum.

Yoksa sadece araba markalarını kaydetmek ve değiştirmek için bir sürü işlem yapmam gerekecekti. Bu kadar işlemi yapmak yerine bir metin belgesinden okum işlemi yapmak çok daha kolayıma geldi. Bu dersimde de bu işlemi nasıl yapacağımızı göstereceğim.

Formumuza bir comboBox ekliyoruz ve birde araba markalarını içeren bir metin belgesi hazırlıyoruz.

NameSpace ‘i ekleyelim.

using System.IO;

Ben bu işlemi class üzerinden yaptım. Zaten genel işlemler için kullandığım bir class’ım olduğundan kodlarımı direk class a yazdım. Kodları da buna uygun şekilde vereceğim. Class’lar hakkındaki dersime buradan ulaşabilirsiniz.

        public static string AppPath = System.Windows.Forms.Application.StartupPath;
        // EXE dosyasının yolunu verir.
        public static void AracMarkalari(ComboBox comboBox1)
        {
            string[] lineOfContents = File.ReadAllLines(GlobalClass.AppPath + "\\AracMarkaları.txt", Encoding.GetEncoding("iso-8859-9"));
            foreach (var line in lineOfContents)
            {
                string[] tokens = line.Split('\r');
                comboBox1.Items.Add(tokens[0]);
            }

        }

Metin belgesinde araç markaları alt alta yazılı olduğundan (Enter) okunan veriyi

line.Split('\r');

Kısmında \r ile splitledik. Programlama da \r  = Enter tuşudur.

Ayrıca bu metodumuz parametre olarak ComboBox nesnesi alıyor.

Şimdi bunu nasıl kullanacağımıza bakalım.

 Sistem.GlobalClass.AracMarkalari(cmb_arac_marka);
 // Sistem klasöründe yer alan GlobalClass

Gördüğünüz gibi metoda sadece combobox’un adını yazdık.

Burada ek olarak şu bilgiyi de vermem gerekiyor. Yukarıdaki kod bloğunda

string[] lineOfContents = File.ReadAllLines(GlobalClass.AppPath + "\\AracMarkaları.txt", Encoding.GetEncoding("iso-8859-9"));

satırındaki

 Encoding.GetEncoding("iso-8859-9")

Kısmına dikkatinizi çekmek istiyorum.

İlgili İçerik  C# Const Kavramı

C# Encoding

Eğer bu şekilde encode etmeden okuma yaparsak Türkçe karakterler soru işareti şeklinde olacaktı.Bu şekilde saçma karakterler çıkmasın diye C# Encode Türkçe Karakter okuma işlemi gerçekleştirdik.. Bu encoding işlemi metin belgesinden yada genel olarak metin içeren bütün dosyalarda geçerlidir. Türkçe karakterleri doğru bir şekilde okumasını istiyorsak yukarıdaki gibi encoding yaparak okumak zorundayız.

Genellikle, C #, varsayılan olarak Unicode kullanarak dizeleri ve dosyaları işler. Yukarıdaki encoding işlemlerinde başka dillerdeki dosyaları okuma konusunda sıkıntılar yaşayabilirsiniz.

Bu yüzden gerçekten başka bir şeye ihtiyacınız yoksa, bunun yerine şunu denemeniz tavsiye edilir.

Metin dosyanızı not defterinde (veya başka bir programda) açın ve UTF-8 dosyası olarak kaydedin . Daha sonra, kodunuzda herhangi bir değişiklik yapmadan beklenen sonuçları almalısınız. Bunun nedeni, C #, kaydettiğiniz kodlamayı kullanarak dosyayı okur. Bu, tercih edilmesi gereken varsayılan davranıştır.

Metin dosyanızı UTF-8 olarak kaydettiğinizde, C # bu şekilde yorumlayacaktır.


C# ComboBox TXT Dosyası ile Doldurma, dersimizde bu kadardı arkadaşlar diğer derslerimizde görüşmek üzere…

C# Eğitim setimizin 124. dersidir. 🙂

Bu dersin kodlarını derslerime özel olarak hazırladığım Github Projemde bulabilirsiniz.. Burada da 16. dersimiz oldu. Boş vakitlerimde eski derslerimi de Github Projeme eklemeyi düşünüyorum.

C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.

Bu dersimizde bu kadar dostlar. Sağlıcakla ve takipte kalın. 😉

C# MP3 Çalar Uygulaması - mciSendString