Variable nach dem Split-Kommando nicht mehr verwendbar (Subscript out of Range)

  • VB6

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von biker2255.

    Variable nach dem Split-Kommando nicht mehr verwendbar (Subscript out of Range)

    Hallo zusammen,

    ich bin neu in VB und auch neu hier im Forum.
    Schonmal vorweg: ich hab mich halb tot gesucht und hab nix gefunden, was zu meinem Problem passte!

    ich versuche einen ankommenden String an dem Zeichen "|;|" zu splitten und dann die einzelnen teile weiter zu verwenden.
    das ganze hat erstmal nicht funktioniert, also habe ich versucht den Teil, der bestimmen soll, was weiter passiert (Case "msg"...) in ein test-textfeld zu schreiben.
    egal was ich mit der variable nach dem split kommando mache es kommt immer der "Error: Subscript out of range".

    Visual Basic-Quellcode

    1. Private Sub Socket_DataArrival(Index As Integer, ByVal bytesTotal As Long)
    2. Dim strData As String
    3. Dim i As Integer
    4. Dim packet() As String
    5. packet = Split(strData, "|;|")
    6. txttest.Text = packet(0)
    7. End Sub


    ich hab es auch schon mit 'txttest.text = packet(1)' versucht!

    Vielen dank schonmal für die antworten ... und es kann bei meinem vorwissen ach sein dass das komplett falsch ist ... also nicht wundern ;)

    MfG biker2255
    Kenn mich bei VB6 nicht aus, aber da du neu bist, evtl schreibst du ja in .NET und hast dich beim posten vertan.

    da würde der befehl nämlich lauten

    Visual Basic-Quellcode

    1. packet = Split(strData, ";")


    mfg

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „SmaSh-MaN2k“ ()

    hey leute

    danke für die netten antworten trotz der noch so dämlichen frage^^
    ich hatte die zeile:

    Visual Basic-Quellcode

    1. Socket(Index).GetData strData

    vergessen.
    also es hat sich jetzt erledigt und ich komm endlich weiter:

    Visual Basic-Quellcode

    1. Private Sub Socket_DataArrival(Index As Integer, ByVal bytesTotal As Long)
    2. Dim strData As String
    3. Dim i As Integer
    4. Dim packet() As String
    5. Socket(Index).GetData strData
    6. packet = Split(strData, " |;| ")
    7. Select Case LCase(packet(0))
    8. Case "register"
    9. If GetVar(App.Path & "\log.ini", packet(1), "pasword") = "" Then
    10. Call PutVar(App.Path & "\log.ini", packet(1), "pasword", Trim(packet(2)))
    11. Socket(Index).SendData "registercheck |;| ok"
    12. Else
    13. Socket(Index).SendData "registercheck |;| false"
    14. End If
    15. Exit Sub
    16. Case "login"
    17. If GetVar(App.Path & "\log.ini", packet(1), "pasword") = packet(2) Then
    18. Socket(Index).SendData "logincheck |;| ok"
    19. Else
    20. Socket(Index).SendData "logincheck |;| false"
    21. End If
    22. Exit Sub
    23. End Select
    24. End Sub


    nur mal so^^

    MfG biker2255