Text aus Textbox auslesen lassen und bestimmte Wörter und Zahlen in anderen Textboxen wiedergeben?????

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von MSB2000.

    Text aus Textbox auslesen lassen und bestimmte Wörter und Zahlen in anderen Textboxen wiedergeben?????

    Hallo zusammen,

    ich habe ein riesen Problem und bin mir nicht sicher ob dieses überhaupt mit VB 2008 zu lösen ist. Ich möchte einen Text in eine Textbox einfügen und nur bestimmte Wörter und Zahlen in anderen Textboxen auslesen lassen. Ist das möglich??

    Beispiel:

    Text in Textbox1:

    ############# Anfang ############

    SID-Run: 26.10.2009 13:19:36 ####

    # Port-Type: ADSL / ADSL2+

    # Port-Status: activating (5)

    # letzter Wechsel: 4 hours, 49:06.22

    ############## Ende ##############

    ---> Jetzt soll zum Beispiel: "activating" in der Textbox2 ausgegeben werden. Wenn bei Portstatus ein anderes Wort stehen würde (z.B. Error) dann solle eben dieses in der Tectbox2 stehen. Und das ganze eben immer so weiter, bis ich den ganzen Text mit den Wörtern und Werten aufgeschlüsselt habe und auf andere Textboxen "aufgeteilt habe"

    Könnt Ihr mir da eventuell helfen?? Vielen Dank im vorqaus für die Mühe.

    Gruß

    VB.NET-Quellcode

    1. Dim Input As String = Nothing 'Ausgangs-Text
    2. Dim Output As String = Nothing
    3. Dim s() As String = Split(Input, vbNewLine)
    4. For i As Integer = 0 To s.Count - 1
    5. If s(i).StartsWith("# Port-Status: ") Then
    6. Output = Split(s(i), ": ")(1)
    7. End If
    8. Next
    9. If Output IsNot Nothing Then
    10. 'Jetzt Output verwenden
    11. Else
    12. MessageBox.Show("Fehler beim Auslesen")
    13. End If
    Hallo Beep,

    also ich habe den Code ausprobiert - Leider bekomme ich nur die MsgBox auf mit der Fehlermeldung:-( ich habe folgendes eingegeben:

    VB.NET-Quellcode

    1. Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
    2. Dim Input As String = Nothing 'Ausgangs-Text
    3. Dim Output As String = Nothing
    4. Dim s() As String = Split(Input, vbNewLine)
    5. For i As Integer = 0 To s.Count - 1
    6. If s(i).StartsWith("# Port-Status: ") Then
    7. Output = Split(s(i), ": ")(1)
    8. End If
    9. Next
    10. If Output IsNot Nothing Then
    11. textbox2.text = Output
    12. Else
    13. MessageBox.Show("Fehler beim Auslesen")
    14. End If
    15. End Sub

    Also ich habe 2 Textboxen testweise erstellt. Und den Code versucht. Weißt Du wo der Fehler liegt??

    Gruß


    Edit by LaMa5:
    - VB-Tag eingefügt, das nächste Mal bitte selbst dran denken
    - 5 Trilliarden Formatierungen entfernt

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „LaMa5“ ()

    MSB2000 schrieb:

    Dim Input As String = Nothing 'Ausgangs-Text
    Dim Output As String = Nothing
    Dim s() As String = Split(Input, vbNewLine)

    Na ja, wenn du "nothing" splittest, kommt vermutlich "nothing" raus. Einfach copy&paste und hirn ausschalten ist halt ne schlechte Idee. Kannst ja mal nachgrübeln, mit was man "Input" wohl füllen muss ...
    Hallo MSB2000,

    wenn das wirklich dein Code ist, scheint alles klar zu sein

    VB.NET-Quellcode

    1. 'hier setzt du Input als Nothing d.h. Input enthält einen leeren String
    2. Dim Input As String = Nothing 'Ausgangs-Text
    3. Dim Output As String = Nothing
    4. 'hier versuchst du den leeren String zu Teilen
    5. Dim s() As String = Split(Input, vbNewLine)

    Gruss

    mikeb69
    Also hier nochmal für alle suchenden der Code für die Lösung:

    In Textbox1 wird ein Text eingefügt und in Textbox2 wird das gesuchte ausgegeben. In meinem Beispiel wird in Textbox1 folgender Text eingefügt:
    ############# Anfang ############

    SID-Run: 26.10.2009 13:19:36 ####

    # Port-Type: ADSL / ADSL2+

    # Port-Status: activating (5)

    # letzter Wechsel: 4 hours, 49:06.22

    ############## Ende ##############



    In der Textbox2 wird nun der Text: activating (5) ausgegeben.



    VB.NET-Quellcode

    1. Dim Input As String = Textbox1.Text 'Ausgangs-Text
    2. Dim Output As String = Nothing
    3. Dim s() As String = Split(Input, vbNewLine)
    4. For i As Integer = 0 To s.Count - 1
    5. If s(i).StartsWith("# Port-Status: ") Then
    6. Output = Split(s(i), ": ")(1)
    7. End If
    8. Next
    9. If Output IsNot Nothing Then Textbox2.Text = Output
    10. 'Jetzt Output verwenden
    11. Else
    12. MessageBox.Show("Fehler beim Auslesen")
    13. End If


    Danke nochmal an Beep! und alle anderen.



    Gruß