Split in Visual Basic 2005 Express

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von kevinhro.

    Split in Visual Basic 2005 Express

    Hallo,

    ich bin ein totaler Neuling in VB und wahrscheinlich ne einfache Frage.

    Ich möchte einen String den ich aus einer Textdatei auslese in ein Array schreiben, es handelt sich um eine csv datei.


    test$="Meier;Müller;Otto;Ernst"


    dazu habe ich eine Funktion gefunden

    aber wie übergebe ich die Variable an die Function und wie bekomme ich die Werte zurück, ich sehe da nicht durch ;(

    VB.NET-Quellcode

    1. Public Function Split( _
    2. ByRef Expression As String, _
    3. Optional ByRef Delimiter As String = " ", _
    4. Optional ByVal Count As Long = -1, _
    5. Optional ByVal Compare As VbCompareMethod = vbBinaryCompare _
    6. ) As Variant
    7. Dim DelimiterLen As Long
    8. Dim Index As Long
    9. Dim Start As Long
    10. Dim Strings() As String
    11. Dim StringsCount As Long
    12. Dim StringsUBound As Long
    13. Dim StringsPtr As Long
    14. If Count And Len(Expression) > 0 Then
    15. DelimiterLen = Len(Delimiter)
    16. If DelimiterLen Then
    17. 'Speicher reservieren:
    18. If Count < 0 Then
    19. Count = Len(Expression) \ DelimiterLen
    20. Else
    21. Count = Count - 1
    22. End If
    23. If Count < 2048 Then
    24. StringsUBound = Count
    25. Else
    26. StringsUBound = 1024
    27. End If
    28. ReDim Strings(StringsUBound)
    29. 'String splitten:
    30. Start = 1
    31. For StringsCount = 0 To Count - 1
    32. 'Nächsten Delimiter suchen:
    33. Index = InStr(Start, Expression, Delimiter, Compare)
    34. If Index = 0 Then Exit For
    35. 'Ggf. Array vergrößern:
    36. If StringsCount > StringsUBound Then
    37. StringsUBound = StringsCount * 2
    38. ReDim Preserve Strings(StringsUBound)
    39. End If
    40. 'Teilstring speichern:
    41. Strings(StringsCount) = _
    42. Mid$(Expression, Start, Index - Start)
    43. Start = Index + DelimiterLen
    44. Next StringsCount
    45. Strings(StringsCount) = Mid$(Expression, Start)
    46. 'Ggf. Array verkleinern:
    47. If StringsCount < StringsUBound Then _
    48. ReDim Preserve Strings(StringsCount)
    49. Else
    50. 'Delimiter ist Leerstring:
    51. ReDim Strings(0)
    52. Strings(0) = Expression
    53. End If 'DelimiterLen
    54. Split = Strings
    55. Else
    56. 'Nichts zu tun:
    57. Split = Array()
    58. End If 'Count And Len(Expression) > 0
    59. End Function


    Wer kann mir helfen ;)

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

    VB.NET-Quellcode

    1. Dim myArray() as String
    2. test$="Meier;Müller;Otto;Ernst"
    3. myArray = Split(test$,";")


    PS: VB5 gehört genau wie VB6 ins Hauptforum, denn VB5.0 ist nicht gleich VB2005
    Gruß, Agent Smith 8-)

    activeFlags = (lazy OR weary)

    Lemgo-Verschwörung | Mathematics | VB-Paradise in blau
    Okay soweit verstanden ich habe noch 2 Fehlermeldungen

    Quellcode

    1. Optional ByVal Compare As VbCompareMethod = vbBinaryCompare _
    2. ) As Object

    da kommt

    Fehler 1 Der Typ "VbCompareMethod" ist nicht definiert. und bei

    Quellcode

    1. Split = Array()

    Fehler 2 "Array" ist ein Typ und kann nicht als Ausdruck verwendet werden.

    Tja was will uns der Dichter damit sagen?

    Keine Ahnung ich suche eine Fernlehrgang etc. wer würde mich unterrrichten?

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

    Hallo kevinhro,

    was verwendest du nun? VB 5 oder Visual Basic 2005 Express? Das solltest du uns schon genau mitteilen. Ich habe auf meinem Rechner keine VB 5-Installation und habe aus diesem Grund VB 5 CCE installiert. Der Quelltext läuft tadellos, die von dir erwähnten Code-Fragmente weisen in der VB 5-CCE-Edition nur auf Bekanntes hin. Ich gehe davon aus das VB 5-CCE auf VB 5 basiert, kann mir also dann den Fehler nicht erklären.

    Bevor ich weitere Tipps gebe, äußere dich bitte zu der Version, unter der du proggst.

    Gruß Markus
    Hallo Markus,

    ich habe mir für den ersten Schritt mal die kostenlose Version
    Microsoft Visual Basic 2005 Express installiert

    Das steht im INFO Fenster

    Microsoft Visual Studio 2005
    Version 8.0.50727.762 (SP.050727-7600)
    Microsoft .NET Framework
    Version 2.0.50727

    Installierte Edition: VB Express

    Microsoft Visual Basic 2005 76541-000-0000011-00124
    Microsoft Visual Basic 2005

    Danke Gruß Henrik

    EDIT by alchimist:
    Ich verschieb dich mal, habe leider von VB Express keinen Plan

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

    Hi!

    In VB 2005 ist eine Split-Funktion mit eingebaut.

    VB.NET-Quellcode

    1. Dim myArray() As String
    2. Dim myString as String ="Meier;Müller;Otto;Ernst"
    3. myArray = myString.Split(";")

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