Anzahl der Wörter und Buchstaben (Textbox) im Label ausgeben.

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Anzahl der Wörter und Buchstaben (Textbox) im Label ausgeben.

    Hallo liebe Programmierer/in

    Ich bin es nochmal und habe folgendes Problem festgestellt. Ich habe es schon geschafft die Anzahl der Ziffern, die in der Textbox sind, in einem Label auszugeben.
    Nun wollte ich das auch mit den Buchstaben und den Wörtern probieren.

    Danach musste ich feststellen, dass z.B die Ziffern (0-9), als Buchstaben gezählt werden. Ich möchte aber nur, dass Buchstaben gezählt werden und keine Zahlen.
    Dann habe ich noch das Problem, wenn ich Leerzeichen machen, werden diese als Wörter gezählt. Ich weiß nicht woran das liegt. Hoffe ihr könntet mir helfen


    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Holywarrior1“ ()

    Die Textbox enthält Text (String). Die einzelnen Komponenten des Textes sind Chars (Char). Es gibt die Funktion Char.IsLetter(Char), die einen Boolean zurückgibt, sofern das übergebene Zeichen ein Buchstabe ist.
    Du musst also alle Chars des Textes durchgehen. Am an diese zu kommen kannst du den String in ein CharArray machen ([String-Variable].ToCharArray(). Dieses CharArray gehst du dann mit einer Schleife durch und prüfst jedes Mal, ob das Zeichen ein Buchstabe ist. Falls ja, rechnest du einen counter (integer) + 1.

    VB.NET-Quellcode

    1. Dim a As String() = Rtxt_editor.Text.Split(CChar(" "))
    2. Dim wordcount As Integer
    3. 'Wenn 80 Zeichen eingegeben wurden,
    4. If Rtxt_editor.TextLength >= 80 Then
    5. 'Wertzuweisung
    6. wordcount = a.Length
    7. 'gibt er die Wörter im Label aus
    8. lbl_wörter_ausgabe.Text = wordcount.ToString
    9. Else
    10. 'Löscht den Inhalt des Labels
    11. lbl_wörter_ausgabe.Text = ""
    12. End If
    Gut, habs geändert. Bin halt ein absoluter Neuling auf diesem Gebiet. :)

    EDIT: Ich hab jetzt herrausgefunden, wie er nur die Wörter zählt!

    Jetzt muss ich noch eins hinbekommen, und zwar, dass die Zahlen (0-9) nicht mehr als Buchstaben gezählt werden sollen.

    VB.NET-Quellcode

    1. 'Wenn 80 Zeichen eingegeben wurden,
    2. If Rtxt_editor.TextLength >= 80 Then
    3. 'gibt er die Buchstaben aus
    4. lbl_buchstaben_ausgabe.Text = CStr(Rtxt_editor.TextLength)
    5. Else
    6. 'Löscht den Inhalt des Labels
    7. lbl_buchstaben_ausgabe.Text = ""
    8. End If

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Holywarrior1“ ()

    Holywarrior1 schrieb:

    herrausgefunden
    Ja und?
    Was genau willst Du eigentlich zählen und ausgeben? Oben wolltest Du noch Buchstaben und oder zahlen zählen. Kommt da noch was von Dir?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!