Nach einem bestimmten Zeichen in der Textbox den Rest löschen

  • VB.NET

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

    Nach einem bestimmten Zeichen in der Textbox den Rest löschen

    Hallo,

    ich bin gerade dabei ein kleines Tool für mich zu entwickeln nur leider hakt es gerade bei mir.
    Und zwar möchte in meiner Textbox alles nach dem "@" zeichen aus der Zeile löschen.
    Leider gestaltet sich das nicht so gut da die Textbox ja nur ein String ist und dann nach dem "@" in der Zeile,
    den rest der Textbox löscht. Hat wer eine Idee wie ich das verhindern kann? :|

    VB.NET-Quellcode

    1. Dim indexstarten = RichTextBox1.Text.IndexOf("@")
    2. RichTextBox1.SelectionStart = indexstarten
    3. RichTextBox1.SelectionLength = RichTextBox1.Text.Length - indexstarten
    4. RichTextBox1.SelectedText = ""
    Ich möchte das er in jeder Textbox zeile alles in der Zeile nach dem "@" entfernt.

    Mit diesem Code

    VB.NET-Quellcode

    1. Dim indexstarten = RichTextBox1.Text.IndexOf("@")
    2. RichTextBox1.SelectionStart = indexstarten
    3. RichTextBox1.SelectionLength = RichTextBox1.Text.Length - indexstarten
    4. RichTextBox1.SelectedText = ""


    Macht er aber das:
    (Bilder im Anhang)
    Bilder
    • Screenshot_1.png

      2,63 kB, 195×253, 115 mal angesehen
    • Screenshot_2.png

      2,16 kB, 202×254, 130 mal angesehen
    Hallo

    Gehts nur um einen Emailnamen? Ich frag das wegen dem @...
    Dann reicht doch die normale Textbox, statt diesem Ungetüm namens Richtextbox.
    Dann nimmst du die Split-Funktion, also ungefähr so:


    VB.NET-Quellcode

    1. Dim chrDelimiter(1) As Char
    2. Dim strSplit(2) As String
    3. Dim strEmailName As String
    4. chrDelimiter(0) = "@"
    5. strEmailName = txtEmail.Text
    6. strSplit = strEmailName.Split(chrDelimiter, 2)
    7. txtEmail.Text = strSplit(0)

    Es gibt auch eine Überladung der Split-Methode, die nur den ersten Teil vor dem Delimiter rausgibt, so wie du das haben willst.

    Gruß
    Carbonunit

    Oops, da hat sich zeitlich was überschnitten...
    Hab den Code von @ErfinderDesRades bei mir auch mal ausprobiert.

    Es scheint an der Methode schneideAtAb() zu liegen. Bei mir funktioniert es irgendwie auch nicht. Scheinbar muss man da noch selber was programmieren und denken...?
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Eventuell so als Denkhilfe: Das was ich gezeigt hab oder auch das andere, was ja schon geht, in die schöne Methode SchneidetAb() reinpfriemeln, wenn es denn schon so ist, dass man bei der RTB auf jede Zeile einzeln zugreifen kann.
    @Basteey02 Vielleicht wirst Du mal konkret. Deine Beiträge hier in diesem Deinem Thread sind etwas Low Level und zeugen von Beratungsresistenz.
    Dein Code macht übrigens ganz genau das, was Du verbal beschrieben hast. Glückwunsch. ;)
    =====
    Fang an mit einer präzisen Aufgaben- oder Problembeschreibung, worum Dich der @ErfinderDesRades bereits in Post #2 gebeten hat, z.B.:
    Ich habe in einer RichTextBox mehrere Zeilen, die ich einzeln, jede Zeile für sich, nach einem bestimmten Zeichen, z.B. "@", abschneiden möchte.
    Wenn dem so ist, liest Du mal die Posts oben durch und schreibst die fertige Lösung auf.
    Wenn dem nicht so ist, poste eine korrekte Beschreibung Deines Problems.
    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!
    Ist bekannt, und dazu gab ich ja schon eine Antwort in post#4.

    Auf die du leider nicht weiter eingehst, als mit "funktioniert nicht".

    Also scheinst du dieses Forum als etwas aufzufassen, wo du so lange immer weiter Codesnippets bestellst, bis ieiner funktioniert.

    Die meisten Antwortgeber (mich eingeschlossen) sehen sich aber nicht in der Rolle eines Hilfs-Programmierers auf Abruf.
    Sondern Programmieren musst du - und wir helfen dir gerne, es zu lernen.
    Aber dazu muss eine andere Kommunikation entstehen, als: "Gib mir!" - "Funktioniert nicht! Nächster!"

    Basteey02 schrieb:

    das Problem das ich nicht wusste was ich mit schneideAtAb anfangen soll.
    Na endlich!
    Einfach sagen, was man nicht versteht, dann kann mans auch erklärt bekommen.
    Andernfalls nicht.

    Und ist doch eiglich nicht schwer, oder?

    Also schneideAtAb() ist eine Methode, die's nicht gibt. Du musst sie programmieren, und dann könnte mein Snippet auch funktionieren (man muss es natürlich richtig einbauen).

    Weisst du, was eine Methode ist? Kannst du evtl. eine Function-Methode schreiben?
    Wir bräuchten eine, der man einen String übergibt, und die in den String reinguckt, und wenn da ein @ drinne ist, alles folgende abschneidet.
    Der beschnittene String soll zurückgegeben werden - mit der Return-Anweisung.

    Aber zunächstmal einfach:
    Schreib eine Function, der man einen String übergibt, und die einen (anderen) String returnt. Mehr nicht - muss nur kompilieren - Funktionieren machen wir dann anschließend rein.

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

    Basteey02 schrieb:

    schaue mir deswegen oft Tutorials an und versuche so den Code zu verstehen
    Dann pack ich mal wieder mein Mantra aus:

    Lass den ganzen YouTube Mist weg. Da wird Wissen meist schlecht bis falsch und unstrukturiert vermittelt. Kauf dir ein Buch und arbeite dieses von A bis Z durch. Danach hast du die Basics drauf und kommst wesentlich schneller und sauberer ans Ziel. Ich spreche aus Erfahrung, ich hab das ein Jahr lang, jeden Abend nach dem Arbeiten gemacht.
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    @Basteey02 Von
    Nochmals
    kann ja wohl keine Rede sein, weil Du bisher absolut nicht in der Lage warst, Dein Problem vollständig zu beschreiben und auf unsere Posts mit
    funktioniert nicht
    zu reagieren.
    Du bekommst hier Hilfe, die Du allerdings selbst umsetzen musst. Fertigen Code bekommst Du von den meisten hier (insbesondere vom @ErfinderDesRades und mir) nicht.
    Lernen musst Du, das können wir für Dich nicht tun.
    Sieh Dir mal den Post #5 von @Carbonunit an, der ist sehr nahe an dem, was Du brauchst.
    Lies mal schneideAtAb als schneide At Ab. Lies das mal laut vor und versuche zu verstehen, was der @EDR da gemeint haben könnte.
    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!