İlginizi Çekebilir
  1. Ana Sayfa
  2. C Sharp
  3. C# ComboBox TXT Dosyası ile Doldurma

C# ComboBox TXT Dosyası ile Doldurma

C# ComboBox TXT Dosyası ile Doldurma

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.

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. 🙂

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

Derslerime özel olarak hazırladığım Github Projeme buradan ulaşabilirsiniz…Burada da 16. dersimiz oldu. Boş vakitlerimde eski derslerimi de Github Projeme eklemeyi düşünüyorum.

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

Yorum Yap

Yazar Hakkında

Liseden, Ağ Sistemleri ve Yönetimi bölümünden mezun oldum. Üniversiteden (2 yıllık), Bilgisayar Programcılığı bölümünden mezun oldum. Şuanda da AÖF, Yönetim Bilişim Sistemleri bölümünde okumaktayım. Uzmanlık alanlarım; Windows Sistemleri, HTML, CSS, C# ve SQL’dir. Hobi olarak uğraştığım genel konular, Photoshop, After Affects, Corel Draw’dır.Film, YABANCI dizi, Anime izlemeyi ve Manga okumayı severim. Arkadaşlarımla yürüyüş yapmayı ve grup olarak aktivitelere gitmeyi severim. Geri kalan zamanlarımın tümü bilgisayar karşısında geçer.

Yorumlarınız Değerlidir. Yorumlarınızı Bekliyorum

Yorumlar (2)

  1. mustafabukulmez_avatar
    3 ay önce

    Saatlerdir comboboxtaki karakter probleminin çözümünü arıyordum. Meğer çözüm “Encoding.GetEncoding(“iso-8859-9″)” kod parçacığıymış. Çok teşekkür ederim.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir