none
textboxa yazılan bir cümleyi kelimelere bölmek RRS feed

  • Soru

  • Merhaba, textboxa 10 kelimelik bir cümle giriyorum. altta da 10 adet textbox var. kaydet diyince sırayla her kelime bir textboxa gelecek sekilde yazdırmak istiyorum. sizce napmalıyım?


    • Düzenleyen Erce İpek 3 Aralık 2013 Salı 19:50
    2 Aralık 2013 Pazartesi 18:51

Yanıtlar

  •  static void Main(string[] args)
            {
                string str = "15241202547 Kemal ETİKAN 37 Türkiye Öğretmen Erkek Hasan Ayşe İstanbul ";
                string duzenlenmis = str;
                string yazdir;
                for (int i = 0; i < duzenlenmis.Length; i++)
                {
                    int index = duzenlenmis.IndexOf(" ", 0);
                    yazdir = duzenlenmis.Substring(0, index);
                    Console.WriteLine(yazdir);
                    duzenlenmis = duzenlenmis.Remove(0, index+1);
                }
                Console.ReadLine();
            }

    Neden bu kadar uzun uzadıya yazdım kodları öncelikle onu açıklayayım. String işlemlerinin mantığını göstermek için. Yukarıda aslında sana Remove,IndexOf,SubString örnekleri vermek için. Bunu Console App'ta yaptım. Maksat sana mantığı anlatmak. Temeli bilmelisinki, gelişmişini yazabilesin. Dilersen, kendine bir console app aç kodları yapıştır. BreakPoint koyarak neler olduğunu gör, yada ekrandaki çıktıya gözat. 


    EMail: barissaritas[at]windowslive[nokta]com


    3 Aralık 2013 Salı 15:26
    Moderatör

Tüm Yanıtlar

  • Burada textboxları dinamik mi oluşturucaksın ? eğer dinamik oluşturmucaksan 10tane textbox'ının olduğunu düşünüyorum ve textbox isimleri textbox0 dan textbox9a kadar olsun

    int i = 0; foreach (string word in words) {

    if(i<10)

    { textbox[i].text = word; i++;

    } } i=0;

    Dinamik oluşturucaksanda

    int i = 0;
    int top = 0;
    foreach (string word in words)
            {
                 if(i<10)
                 {
                 TextBox textbox[i] = new TextBox();
                 textbox[i].Location = new Point(10, top);
                 Controls.Add(textbox[i]);
                 textbox[i].text = word;
                 top += 25;
                 }
                 i++;
            }
    i = 0;
    top = 0;

    Bu arada kodları deneme fırsatım olmadı ufak hatalar olabilir.


    • Düzenleyen Berdann 2 Aralık 2013 Pazartesi 19:51
    2 Aralık 2013 Pazartesi 19:49
  • hangisi başarısız ? Dinamik olanda sadece şöyle bi hata var onu düzelttiğinde bi sorun olmucak

    private void button1_Click(object sender, EventArgs e)
            {
                string[] kelimes = textBox1.Text.Split(' ');
                int i = 0;
                int top = 0;
                TextBox[] textbox = new TextBox[10];
                foreach (string kelime in kelimes)
                        {
                             if(i<10)
                             {
                                textbox[i] = new TextBox();
                                textbox[i].Location = new Point(10, top);
                                Controls.Add(textbox[i]);
                                textbox[i].Text = kelime;
                                top += 25;
                             }
                             i++;
                        }
                i = 0;
                top = 0;
            }
    Üstteki kodu denedim çalışıyor.

    • Düzenleyen Berdann 2 Aralık 2013 Pazartesi 20:52
    2 Aralık 2013 Pazartesi 20:48
  • Kütüphane eklemene gerek yok ama sen bunu nerde yazmayı düşünüyorsun ? Yazdığın kod Console Application kodu; ben ona bakmadan direk windows formda uğraştığını düşündüm textbox tan bahsettiğin için ve ona göre yazdım ama şimdi konuya bakınca Asp.Net e açmışsın.
    • Düzenleyen Berdann 2 Aralık 2013 Pazartesi 22:17
    2 Aralık 2013 Pazartesi 22:12
  • Kusura bakma ama nasıl bir projede çalıştığını anlamadım. İlk başta dinamik mi oluşturcaksın diye sormuştum dinamik oluşturmucaksan en üstte yazdığım kod işini görecektir. Onun haricinde dediğim gibi winformda çalışan kodlar ve çalıştığın platform için sadece location kısmını değiştirmen yeterli olucaktır bunun içinde biraz araştırman faydalı olur. 
    3 Aralık 2013 Salı 13:41
  •  static void Main(string[] args)
            {
                string str = "15241202547 Kemal ETİKAN 37 Türkiye Öğretmen Erkek Hasan Ayşe İstanbul ";
                string duzenlenmis = str;
                string yazdir;
                for (int i = 0; i < duzenlenmis.Length; i++)
                {
                    int index = duzenlenmis.IndexOf(" ", 0);
                    yazdir = duzenlenmis.Substring(0, index);
                    Console.WriteLine(yazdir);
                    duzenlenmis = duzenlenmis.Remove(0, index+1);
                }
                Console.ReadLine();
            }

    Neden bu kadar uzun uzadıya yazdım kodları öncelikle onu açıklayayım. String işlemlerinin mantığını göstermek için. Yukarıda aslında sana Remove,IndexOf,SubString örnekleri vermek için. Bunu Console App'ta yaptım. Maksat sana mantığı anlatmak. Temeli bilmelisinki, gelişmişini yazabilesin. Dilersen, kendine bir console app aç kodları yapıştır. BreakPoint koyarak neler olduğunu gör, yada ekrandaki çıktıya gözat. 


    EMail: barissaritas[at]windowslive[nokta]com


    3 Aralık 2013 Salı 15:26
    Moderatör
  • Biz size yolu gösteriyoruz. Nasıl yapacağınızın mantığını anlatıyoruz. Bu forumdaki amaç insanlara yardımcı olmak. Siz, size verilen yardım kodlarıyla uygulamanızı geliştirin, nerede takıldığınızı tekrar yazın, biz size yardımcı olalım. Siz direk uygulamayı bizim yazmamızı istiyorsunuz. Ki zaten yukarıda size örnek bir uygulama yazmıştım. Siz Yukarıda yazdığım örnek kodları denedinizmi ? Veya diğer arkadaşların yazdıklarını ? Siz bir başlayın, sonra takıldığınız yeri bizlere sorun, biz size elimizden geldiğince yardımcı olalım ve hep beraber sorununuzu çözelim.

    Siz sorunuzu ilk defa sorarken çok yeniyim dediniz. Bizimde amacımız size değişik yollar göstererek yazacağınız programda mantık kurmanızı sağlamaktır. 


    EMail: barissaritas[at]windowslive[nokta]com

    4 Aralık 2013 Çarşamba 07:07
    Moderatör
  • //TextBox1'e gridviewden 10 sütunluk tek satırlık bir veriyi seçip yapıştırıyorum.

    string x = TextBox1.Text;

    string[] dizi=x.Split(' ');

    for(int i=0; i<dizi.Length; i++)

    {

    TextBox2.Text=dizi[0];

    TextBox3.Text=dizi[1];

    .....

    TextBox11.Text=dizi[9];

    }

    şeklinde hallettim . saolun

    • Düzenleyen Erce İpek 4 Aralık 2013 Çarşamba 09:53
    4 Aralık 2013 Çarşamba 08:17
  • Control[] cnt = new Control[]{textBox2,TextBox3,textBox3};
    //Yukarıya kontrollerini eklemelisin.
                string str = textBox1.Text;
                string duzenlenmis = str;
                string yazdir;
                for (int i = 0; i < duzenlenmis.Length; i++)
                {
                    if(i<=cnt.Length)
                    {
                    int index = duzenlenmis.IndexOf(" ", 0);
                    yazdir = duzenlenmis.Substring(0, index);
                    ((TextBox)cnt[i])Text=yazdir;
                    duzenlenmis = duzenlenmis.Remove(0, index+1);
                    }
                    else
                    {
                      break;
                    }
                }
                


    EMail: barissaritas[at]windowslive[nokta]com

    4 Aralık 2013 Çarşamba 08:38
    Moderatör
  • yazdir = duzenlenmis.Substring(0, index);

    ERROR

    Uzunluk sıfırdan küçük olamaz.
    Parametre adı: length

    • Düzenleyen Erce İpek 4 Aralık 2013 Çarşamba 09:43
    4 Aralık 2013 Çarşamba 09:39
  • Sorununuzu çözmüşsünüz. Çözdüğünüze göre kod'ta tekrar düzenleme yapmaya gerek yok.

    EMail: barissaritas[at]windowslive[nokta]com

    4 Aralık 2013 Çarşamba 09:48
    Moderatör
  • string[] dizi=x.Split(' ');

    Bu satırda tek karakter boşluk bırakıyor, Gridviewden seçerek yapıştırma işlemi yapıyorum.kelimeler arasında  iexplorerda 2 karakter, Google chrome da 6 karakter firefoxta 4 karakter boşluk bırakıyor.bunun denetimini nasıl yapabilirim?

    4 Aralık 2013 Çarşamba 09:52