TextBox Splitten

  • VB.NET

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von Trade.

    TextBox Splitten

    Hallo,

    ich bin langsam am verzweifeln.

    Ich habe eine TextBox1 mit dem Inhalt: "A, B"
    Nun möchte ich das TextBox2 mit dem Inhalt "A" gefüllt wird und TextBox3 mit dem Inhalt "B"
    Dabei dient "das Komma" in TextBox1 als Anhaltspunkt wo gesplittet werden soll.

    Das Problem ist zwar, dass ich es schaffe die TextBox3 mit "B" zu füllen aber nicht TextBox2 mit "A".
    Habe bis jetzt folgenden Code verwendet:

    VB.NET-Quellcode

    1. Dim ABC As String() = TextBox1.Text.Split(","c)For Each s As String In ABC
    2. TextBox3.Text = s
    3. Next




    Kann mir jemand auf die Sprünge helfen, wie ich TextBox2 mit dem Inhalt "A" aus TextBox1 füllen kann?


    Wäre echt spitze! Danke!

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

    Du weist hier nacheinander die gesplitteten Teile Textbox3 zu, du möchtest aber Teil 0 in Textbox 1 und Teil 1 in Textbox 2 haben. Also lass die Schleife weg und schreib stattdessen:

    VB.NET-Quellcode

    1. Dim ABC As String() = txCustomName.Text.Split(","c,StringSplitOptions.RemoveEmptyEntries)
    2. TextBox2.Text = ABD(0)
    3. TextBox3.Text = ABC(1)
    Kannst du mir vielleicht noch ein Tipp geben...
    Vor dem Text "B", also nach "dem Komma" ist noch ein Leerzeichen. Wie bekommen ich denn dieses Leerzeichen weg?

    Die Zeile so funktioniert nicht, da kommt eine Fehlermeldung.
    Dim ABC As String() = txCustomName.Text.Split(","c,StringSplitOptions.RemoveEmptyEntries)


    Habe es folgendermaßen verwendet, so funktioniert es:
    Dim ABC As String() = txCustomName.Text.Split(","c)


    Das Problem ist jedoch dass das Leerzeichen noch da ist. :(
    Um den Fehler weg zu bekommen setze einfach geschweifte klammern um das Komma (es wird ein Array erwartet):

    VB.NET-Quellcode

    1. Dim ABC As String() = txCustomName.Text.Split({","c}, StringSplitOptions.RemoveEmptyEntries)

    Das Leerzeichen entfernst du so:

    VB.NET-Quellcode

    1. TextBox2.Text = ABC(0).Trim
    2. TextBox3.Text = ABC(1).Trim
    Dringende Empfehlung: Lern Grundlagen, etwa dieses Buch lesen (hingegen das Galileio-Openbook ist Mist).
    Dann kannst du den Objectbrowser verwenden und verstehen, und kannst solche Probleme selber lösen.
    Eine kurze Inspection der String-Klasse im ObjectBrowser hätte alle deine Fragen beantwortet.
    Sry aber ich gebe SpaceyX recht, das ist alles Schwachsinn was Du da schreibst Phoenix.

    Alleine die Deklaration und Zuweisung in Zwei Zeilen Plus die Do-Schleife als For.

    Tss, wenn du helfen willst, dann sei dir bitte im Klaren was Du da schreibst.
    »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais
    @PhoenixBlaster:
    Statt alle Codes immer zu kopieren, obwohl du, wie es aussieht leider keine Ahnung davon hast, solltest du lieber drauf verlinken. Eigentlich jeder Post, den ich von dir lese, enthält irgendwelchen schlechten Code.

    Von einem richtigen Informatiker

    Es gibt viele Informatiker, aber wer beurteilt deren Wissen?
    Jemand, der nicht weiß, was er postet wohl sicher nicht. Du bist mir schon öfters wegen mangelnden Grundlagen aufgefallen. Dann noch ein Video! Ich denke mal UTube. Und mit diesem Codebeispiel beweist es sich mal wieder, dass UTube-Videos zu VB fast immer Mist sind.

    Also bitte. Drücke nur auf 'Antworten', wenn du dir darüber im Klaren bist.

    Zu deinem Code: Ein richtiger Informatiker stellt erstmal Option Strict auf On! Die Konstate ist eine Konstante und kein Char! Und " " ist ein String, kein Char! ;)
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Trade“ () aus folgendem Grund: Rechtschreibfehler