Kennt jemand das Listbox Split 2 Textbox Problem?

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von purpur.

    Kennt jemand das Listbox Split 2 Textbox Problem?

    Hi da bin ich wieder :thumbdown: :thumbsup:

    Also zum Problem was ich lösen will, evt. könnt ihr mir besseres vorschlagen als Tetxtbox, trotzdem wäre ich froh zu wissen wie man dieses Problem behandeln/lösen kann.

    Vor weg: dieses problem ensteht nur durch das "copy and paste (kopieren und einfügen ) durch den normalen vb NET webbrowser.

    Also, sagen wir mal die(meine) Webseite gibt einen Wert wie z.B.:

    VB.NET-Quellcode

    1. Auto:Blau:Wasser:Boot


    Dieses gebe ich dann der "Listbox als einzelenen Zeilen Eintrag" und alles ist gut, in der Listbox steht ohne Fehler genau das:

    VB.NET-Quellcode

    1. Auto:Blau:Wasser:Boot


    Hier kommen wir zum Fehler (ich hoffe die Farbe ist ok, joke nebenbei ^^ )
    Der Fehler entsteht dann wenn ich den Wert:

    VB.NET-Quellcode

    1. Auto:Blau:Wasser:Boot

    in einer Textbox per "Selected Item Kopiere"

    In der Textbox ist es auch "ohne Fehler zusehen", aber wenn ich den den ganz kopieren und in einer z.B. Editior oder sonst wo kopiere ist er zu hälfte da (im editor Ganz aber mit 2 Zeilen)
    Also nach dem Kopieren aus der "Textbox" ist das ganze in 2 Zeilen direkt nach dem "zweiten :" egal wie die wörter sind.
    Wieso ist das so und wie kann ich das Fixen?
    Gruß
    @purpur Gib der TextBox die Property
    MultiLine = True
    .
    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!
    ok ich sende mal etwas mehr an Code vielleicht hilft es noch andere weitere:

    Fangen wir beim Web Browser abfangen einer "ID" im Quelltext an (habe ich eben neu umgeschrieben):

    VB.NET-Quellcode

    1. Dim element = WebBrowser1.Document.GetElementById("BEISPIELID")
    2. If element Is Nothing Then
    3. 'Hier machen wir garnichts wenn es die ID nicht gibt
    4. Else
    5. 'ok.. wenn es die ID (was wir eben brauchen bzw aus den Webseiten direkt und gezielt rausfiltern wollen) gibt dann machen wir das hier:
    6. txtFahrzeug.Text = WebBrowser1.Document.GetElementById("Fahzeug").InnerText
    7. txtFarbe.Text = WebBrowser1.Document.GetElementById("Farbe").InnerText
    8. txtTrinken.Text = WebBrowser1.Document.GetElementById("Trinken").InnerText
    9. txtFahrzeug2.Text = WebBrowser1.Document.GetElementById("Fahzeug2").InnerText
    10. End If


    Hier senden wir das zur Listbox (Bis jetzt alles perfekt erhalten und auch perfekt angezeigt bekommen), danach machen wir direkt dieses hier im es in die Listbox zu adden:

    VB.NET-Quellcode

    1. lstBeispiel.Items.Add(txtFahrzeug.Text + ":" + txtFarbe.Text + ":" + txtTrinken.Text + ":" + txtFahrzeug2.Text )

    Das Problem ist auch wenn man anstatt + "&" benutzt also:

    VB.NET-Quellcode

    1. lstBeispiel.Items.Add(txtFahrzeug.Text & ":" & txtFarbe.Text & ":" & txtTrinken.Text & ":" & txtFahrzeug2.Text )


    Hier kommt mein Problem was aber auch nicht als problem angezeigt wird (Auto:Blau:Wasser:Boot soll in die textbox):

    VB.NET-Quellcode

    1. txtSelected.Text = lstBeispiel.SelectedItem.ToString


    Jetzt steht am Ende in unserer Textbox dieser Beispiel Wert der auch ganz ok ist, mit eben diesen kleinen Fehler das es nach dem "Kopieren" aus der Textbox wenn das Programm läuft der Text den man einfügt so ausschaut:

    VB.NET-Quellcode

    1. Auto:Blau:Wasser:Boot


    nach dem kopieren schaut es so aus:

    VB.NET-Quellcode

    1. Auto:Blau:
    2. Wasser:Boot


    Wenn die Textbox auf Multiline eingestellt ist, dann schaut sie auch so aus:

    VB.NET-Quellcode

    1. Auto:Blau:
    2. Wasser:Boot


    mehr info als das kann ich nicht geben, dachte es sei ein bekanntes Problem ||
    VB .NET h8s me hehe

    *Maxlength der Textbox kann es auch nicht sein, ich hatte es auf 1000000 gestellt , auch nicht geholfen.

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

    @purpur Poste mal einen vollständigen Code (teste dies in einem kleinen Testprojekt bei Dir), der Deinen Effekt reproduziert.
    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!
    Er downloadet die vier Strings. Und ich gehe davon aus, das "Wasser" eig "/rWasser" oder "/nWasser" ist. Replacen mit ""c und feddich.
    »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais
    @ThePlexian genau, ich besuche die Webseite, scanne mit meinen Code die Webseite nach xyz was immer random dort erstellt wird.
    Danach packe ich sie direkt als string wie oben beschrieben als splits wieder zusammen 1:2:3:4.

    Dieses """c habe ich schonmal 2-3x in Beispiel Codes gesehen, ich werde mal hier im Forum danch Suchen wie ich das machen muss mit "Download String" oder wie ihr das nennt^^
    by the way (nebenbei), dieses ganze mit den abfangen der "random strings, id" whatever tue ich direk "bei documentcomplete" also wenn die webseite fertig geladen ist soll er direkt anfangen zu scanne um so jede timer zu vermeiden wo es geht.

    Danke und LG
    "" ist einfach ein leerer String, und das c als Anhängsel (Literal) konvertiert das zu einem Char.
    Sagen wir Du hast Textbox1 und TextBox2, beide mit MultiLine = True, und deine gedownloadeten Strings sind in einer Auflistung:

    C#-Quellcode

    1. var mystrings = new List<string>();
    2. var mystrings2 = new List<string>();
    3. //mystring mit deinen Werten füllen
    4. mystrings.ForEach(s => mystrings2.Add(s.Replace("/r", "").Replace("/n","")));
    5. textBox1.Text = string.Join(":", mystrings);
    6. textBox2.Text = string.Join(":", mystrings2);


    Achtung: Ist c#, kannst du aber online konvertieren, und ungetestet vom Handy geschrieben - mag also Fehler enthalten. In VB müssen hinter die "" bei replace ein c, wie schon erklärt.
    »There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais
    Perfekt Danke ich benutze "Instant VB" (keine Werbung..ist sowieso kostenlos und eben cool + in alle sprachen)
    Werde das direkt später testen wenn ich am Arbeits Computer bin.
    Ich habe die Sachen bzw String etc vom Web Browser erst in eine "Listbox" geladen (ich denke dadurch ist die MultiLine funktion mit rein gerutsch, weil ich keine Multiline in diesen Fall eingestellt hatte) und von der Listbox wurde es zu einer Textbox und dort wenn man wollte zu einer anderen Textbox :)
    Ich denke das sollte mit denen code klappen, danke nochmal.