none
Veritabanındaki Eşleştirmelere Göre TextBox'ta Replace RRS feed

  • Soru

  • İyi akşamlar,

    Bir veritabanım var 1'den 256'ya kadar değerlerin karşılıkları verilen. Ben de TextBox'taki, bu veritabanındaki karşılığı verilmiş her bir değeri, 1'den 256'ya kadarki numarasıyla değiştirmek istiyorum. Yani mesela;

    NUM        VAL
    ---        ---
     1          A
     2          B
     3          C
     4          D

    Veritabanım bu şekilde diyelim ki.

    CADBCA

    TextBox da bu şekilde olsun.

    textBox1.Text = textBox1.Text.Replace("X")

    Bu komutu nasıl düzenlemeliyim ki butona tıklayınca aşağıdaki gibi bir sonuç alabileyim? (Yukarıda X'i öylesine koydum)

    314231

    Teşekkürler,

    Bora Boyacıoğlu

    30 Aralık 2017 Cumartesi 18:30

Yanıtlar

  • //Veri Tablosunu burada doldurduğunuzu varsayıyorum...
    Dictionary<string, int> esdeger = veriTablosu.AsEnumerable().ToDictionary<DataRow, string, int>(row => row.Field<string>(1),row => row.Field<int>(0));
    string sonuc = "";
    foreach (char chr in textBox1.Text.ToCharArray())
    {
        if (esdeger.ContainsKey(chr.ToString())
            sonuc += esdeger[chr.ToString()].ToString();
    }
    textBox1.Text = sonuc;



    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...



    • Düzenleyen MuratAKSARAY 30 Aralık 2017 Cumartesi 22:12
    • Yanıt Olarak İşaretleyen WinDPzero 31 Aralık 2017 Pazar 12:35
    30 Aralık 2017 Cumartesi 22:09

Tüm Yanıtlar

  • //Veri Tablosunu burada doldurduğunuzu varsayıyorum...
    Dictionary<string, int> esdeger = veriTablosu.AsEnumerable().ToDictionary<DataRow, string, int>(row => row.Field<string>(1),row => row.Field<int>(0));
    string sonuc = "";
    foreach (char chr in textBox1.Text.ToCharArray())
    {
        if (esdeger.ContainsKey(chr.ToString())
            sonuc += esdeger[chr.ToString()].ToString();
    }
    textBox1.Text = sonuc;



    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...



    • Düzenleyen MuratAKSARAY 30 Aralık 2017 Cumartesi 22:12
    • Yanıt Olarak İşaretleyen WinDPzero 31 Aralık 2017 Pazar 12:35
    30 Aralık 2017 Cumartesi 22:09
  • Yanıtınız için çok teşekkürler, yüksek ihtimal işime yarayacak. Fakat bir şey daha sormak istiyorum. Bu işlerde biraz yeniyim o yüzden tam anlayamayabiliyorum. veriTablosu olarak bıraktığınız kısma veritabanımın adını giriyorum (Access'te oluşturup Visual Studio'da içine enjekte ettim) fakat kabul etmiyor. Yanlış mı enjekte ediyorum? Yardımcı olabilirseniz çok mutlu olurum :)

    İlgili ekran görüntüleri:

    http://files.zeroway.net/p/my/sol_exp.jpg

    http://files.zeroway.net/p/my/cs_code.jpg

    http://files.zeroway.net/p/my/inject.jpg

    31 Aralık 2017 Pazar 12:32
  • DataTable veriTablosu = AsciiTableDataSet.Tables["AsciiTable"];


    Sorunuzun yanıtı bu ise "Yanıt olarak işaretle"yerek siz de forumun işleyişine katkıda bulununuz...

    31 Aralık 2017 Pazar 12:48