Textbox auslesen und Array zuordnen

  • C#

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

    Textbox auslesen und Array zuordnen

    Hey Leute,

    ich hätte da mal eine kleine Frage.

    Kann ich eine Textbox Zeichen für Zeichen bzw Buchstabe für Buchstabe auslesen und je nach dem was es ist in eine Gruppe wie "Zahl" oder "Buchstabe" stecken?

    Danke im Vorraus :)
    Hi
    die Antwort auf die Frage lautet Ja.

    TextBox.Text gibt dir einen String zurück. Über

    C#-Quellcode

    1. foreach(char c in stringInstance)

    kannst du die einzelnen chars durchgehen, usw. char.Is* bzw. char.GetUnicodeCategory sollten dir bei der Katalogisierung helfen.

    Ein anderer Ansatz wäre, über Long.TryParse, Double.TryParse, usw. zu arbeiten.

    Viele Grüße
    ~blaze~
    Danke für deine schnelle Antwort.

    Ich verstehe zwar ganz grob was du meinst und schaffe es auch die Zahlen auszugeben, aber irgendwieklappt das nicht dass es mit Buchstaben ausgibt...

    Ich glaube das liegt mit unter auch daran, dass ich nicht mit "char" arbeite sondern mit "string", da ich eigentlich Zeichen für Zeichen brauche.

    Hättest du da vielleicht auch noch einen kleinen Tipp für mich? :)
    dass ich nicht mit "char" arbeite sondern mit "string", da ich eigentlich Zeichen für Zeichen brauche.

    Das ergibt keinen Sinn.
    Ein Char ist ein "Zeichen" ein String eine "Zeichenkette".

    EDIT:
    Um es zu verdeutlichen.
    In vielen Programmiersprachen gibt es STRING garnicht.
    Dort gibt es ein CHAR-Array anstelle eines Strings.
    Dort würde das, was du für nen String hälst so definiert:
    DEFINE VARIABLE ch_Export AS CHAR(50) NO-UNDO.
    Quasi ein String mit der Länge von 50 oder auch ein Array von Chars (achtung die Sprache ist nicht 0- sonder 1basiert, sonst wäre es nen 51 Zeichen String).
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D

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

    DaNeubi schrieb:

    da ich eigentlich Zeichen für Zeichen brauche.
    Wie wäre es mit .ToString() :?:
    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!
    Danke für eure Antworten.

    Jetzt kann ich zwar ausgeben lassen ob ich ein Wort oder eine Zahl eingebe.

    Aber wenn ich ein Wort und dann eine Zahl eingebe wie : "Hallo 123" oder "Hallo123".
    Wie kann ich dann ein Leerzeichen erkennen lassen? (bzw. reicht da char.IsWhiteSpace ?)
    Und wie kann ich da Zeichen für zeichen auslesen lassen also dass ich auch wenn kein leeerzeichen dazwischen ist der unterschied zwischen einer Zahl und einem Buchstaben erkannt wird.

    C#-Quellcode

    1. foreach (char c in eingvergl2)
    2. {
    3. if (char.IsDigit(textBox2.Text, 0))
    4. {
    5. listBox1.Items.Add("Is Digit");
    6. }
    7. else if (char.IsLetter(textBox2.Text, 0))
    8. {
    9. listBox1.Items.Add("Is Letter");
    10. }
    11. else
    12. {
    13. listBox1.Items.Add("IsNothing");
    14. }


    Und danke nochmal an @MemoAnMichSelbst für die gute Erklärung zu char und String.

    DaNeubi schrieb:

    Wie kann ich dann ein Leerzeichen erkennen lassen?
    Was haben Deine experimentellen Untersuchungen gebracht?
    Man kann halt nicht nur Gruppen von Zeichen testen, man kann auch Einzelzeichen testen.
    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!
    Die einzelne Überprüfung auf ein Leerzeichen wäre z.B.

    C#-Quellcode

    1. if (c == ' ')

    IsWhitespace überprüft zusätzlich bspw. auf Tab, Zeilenumsprung, also einfach nur Zeichen, die die Positionierung des nächsten Elements beeinträchtigen. Insofern würde das bspw. dann eben

    C#-Quellcode

    1. foreach(char c in eingvergl2)
    2. {
    3. if (!char.IsWhitespace(c))
    4. {
    5. if (char.IsDigit(...

    lauten oder so ähnlich.

    Viele Grüße
    ~blaze~
    Mir fällt gerade auf:

    DaNeubi schrieb:

    C#-Quellcode

    1. foreach (char c in eingvergl2)
    Wofür steht in Deinem Snippet textBox2.Text :?:
    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!
    @~blaze~ Sag doch nicht immer alles vor, da soll er doch allein drauf kommen. :D
    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!