C# Textlänge

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von $h@q, 27. März 2008 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 27. März 2008
    Hallo ich bin ein absoluter anfänger und will mich jetzt intesiv mit C# beschäftigen. Ich programmiere grade mal verschiedene Aufgaben aus einem Buch durch.

    Ich soll jetzt eine Textbox erstellen --- OK alles kein Problem *gg*

    Dann soll ich gucken wie viele Buchstaben das wort welches in der Textbox steht hat.

    Dies ist schon mein Problem wie bekomme ich das raus?

    textbox2.textlengh klappt iwie nicht.
     
  2. 27. März 2008
    AW: C# Textlänge

    dein Problem ist, dass du nicht auf den Text in der Textbox zugreifst, sondern nur auf die Textbox selber. So müsste es gehen:

    Code:
    int a = textBox1.Text.Length;
     
  3. 27. März 2008
    AW: C# Textlänge

    laut der MSDN müsste TextLength auf funktionieren.
    TextLength ist ein Property von TextBoxBase von der die TextBox erbt. Und in der MSDN steht das es die Länge von dem Text ist der Textbox steht.
    link MSDN
     
  4. 27. März 2008
    AW: C# Textlänge

    Was machst du denn mit dem Wert der Property der Textbox2?

    in eine Variable schreiben? (da muss die Var.-Typ int sein)
    in einem Label ausgeben? (da müsstest du dann "this.tb_foo.TextLength.ToString()" schreiben)
    etc...
     
  5. 28. März 2008
    AW: C# Textlänge

    Guck doch mal bitte genau nach was du bekommst und wieviel du erwartest, denn je nach Property gibt es entweder eine Buffergröße mit dem Typ Int32 zurück. Schreib dochmal bitte einen Beispieltext und der vom Programm ausgespukten Länge hier rein, ich kanns mir mal genauer ansehen ^^

    MfG, Live2B
     
  6. 28. März 2008
    AW: C# Textlänge

    Code:
    private void button2_Click(object sender, EventArgs e)
     {
     int a = textBox2.Text.Length;
    
     textBox4 = a;
    So hatte ich mir das gedacht aber er gibt folgende fehlermeldung aus:

    Code:
    Fehler 1 Eine implizite Konvertierung vom Typ "int" in "System.Windows.Forms.TextBox" ist nicht möglich.

    Edit. Vll müsste das ganze auch so aussehen erscheint mir zumindest realistischer

    Code:
    private void button2_Click(object sender, EventArgs e)
     {
     int a = textBox2.Text.Length;
     
     textBox4.Text = a;

    Jetzt meldet er das int nicht in string konvertiert werden kann, ich vermute mal das meine Textbox nur den Datentyp string unterstützt?
     
  7. 28. März 2008
    AW: C# Textlänge

    richtig. dein code muss so aussehen:

    Code:
    private void button2_Click(object sender, EventArgs e)
    {
    int a = textBox2.Text.Length;
    
    textBox4 = a.toString();
    }
    Die toString-Methode ist in .Net eigentlich überall drin.
    alternativ dazu geht auch:
    Code:
    textBox4 = Convert.toString(a);
    convert. bietet konvertierungen in sehr viele datentypen.
    oder aber auch
    Code:
    textbox4 = (string) (a);
    in der ersten Klammer steht der Datentyp, in den du konvertieren willst, in der zweiten steht, was du konvertieren willst.
     
  8. 28. März 2008
    AW: C# Textlänge

    also von der logik her klingt das logisch aber iwie passt das bei mir nicht kann vll auch dran liegen das ich zu dumm bin dazu ?^^ also ich habe das jetzt hier stehen:

    Code:
    private void button2_Click(object sender, EventArgs e)
     {
     int a = textBox2.Text.Length;
    
     textBox4 = a.toString();

    er sagt mir jetzt aber :

    Code:
    Fehler 1 "int" enthält keine Definition für "toString".
     
  9. 28. März 2008
    AW: C# Textlänge

    Anstatt
    Code:
    <integer-Object>.toString ()
    mal
    Code:
    Convert.toString (<integer-Object>)
    probieren.

    Mfg,

    Kolazomai
     
  10. 28. März 2008
    AW: C# Textlänge

    wunderbar er hat das ganze jetzt in die variable geladen bzw. deklariert aber wie gebe ich jetzt den text wieder aus?

    also im textfeld oder in einer Messebox?

    texbox4.Text (a)? klappt iwie nicht


    Edit: Die ersten BWs sind raus thx @ Kolazomai,p2p
     
  11. 28. März 2008
    AW: C# Textlänge

    in einer TextBox so:
    Code:
    textBox4.Text = Convert.toString(a);
    in einer MessageBox (ist in System.Windows.Forms.MessageBox) so:
    Code:
    MessageBox.Show(Convert.toString(a));
     
  12. 28. März 2008
    iwie trete ich komplett auf der Stelle ich bekomme so viele nette und auch gute tipps aber so wie es ausieht kann es wohl gar nicht funktionieren habe jetzt alle tipps zusammen gefasst und das rausbekommen:

    Code:
    private void button2_Click(object sender, EventArgs e)
     {
     int a = textBox2.Text.Length;
     textBox4.Text = Convert.toString(a);
    
     }
    Für mich sieht das so aus:

    Erstelle die Variable a und deklariere Sie mit der Länge des Textes in Box 2
    Konvertiere das Ergebnis in den Datentyp String und Schreibe es in Box 4 als Zahl

    Aber es will Partu nicht funktionieren

    Sooo endlich!!! nach längeren hin und her überlegen und gekritzel auf Papier habe auch ich es endlich verstanden und geschafft dank eurer super Hilfe ganz dickes Danke!!!

    Wer noch andere ideen hat kann die ja gerne posten mache aber später dann mal zu meine Lösung sieht so aus:


    Code:
    private void button2_Click(object sender, EventArgs e)
     {
     int a = textBox2.Text.Length;
     string b = Convert.ToString(a);
    
     textBox4.Text = b;
     
  13. 28. März 2008
    AW: C# Textlänge

    machs doch kurz und schmerzlos:

    Code:
    private void button2_Click(object sender, EventArgs e)
    {
     textBox4.Text = textBox2.Text.Length.ToString(); 
    
     //alternativ: textBox4.Text = Convert.toString(textBox2.Text.Length);
    }
    
    das sind 2 zeilen Code weniger und du sparst zudem noch Speicherplatz. Das mag zwar bei kleinen Projekten noch gehen, aber bei umfangreicheren Sachen müllst du dir den Speicher nur unnötig zu.

    Übrigens: Der folgende Code funktioniert mit VC# Express 2008 einwandfrei:
    Code:
    textBox4.Text = textBox2.TextLength.ToString();
     
  14. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.