vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2022
 
zurück
Rubrik: Variablen/Strings · String-Operationen   |   VB-Versionen: VB4, VB5, VB627.02.02
Split-Funktion für VB4/5

Seit VB6 fast unabkömmlich - unter VB4/5 leider nicht vorhanden - die Split-Funktion. Hier der VB6-Ersatz.

Autor:   Tilman WeiersBewertung:     [ Jetzt bewerten ]Views:  23.261 
ohne HomepageSystem:  Win9x, WinNT, Win2k, WinXP, Vista, Win7, Win8, Win10kein Beispielprojekt 

Eine der meist genutzten Neuerungen in Visual Basic 6 (gegenüber VB4 oder VB5) ist zweifelsohne die Split-Funktion. Mit dieser Funktion lässt sich ein Gesamtstring anhand eines bestimmten Trennzeichen in ein Array von Teilstrings zerlegen.

Anwendungsbeispiele gibt es hierfür en-masse. So lässt sich eine "MutliLine"-Textbox mit einem Kommando in ihre Einzelzeilen zerlegen:

sLines = Split(txtMutliline.Text, vbCrLf)

Ein weiteres Beispiel ist das Zerlegen einer Datensatz-Zeile in ihre einzelnen Datenfelder:

txtData = "Name;Vorname;Strasse;PLZ;Ort"
sField = Split(txtData, ";")

Auch in vielen unseren Tipps, Workshops und sonstigen Codefragmenten setzen wir immer wieder Split-Funktion ein. Und Fragen, wie "Bei mir gibt es die Split-Funktion nicht. Was kann ich tun?" bleiben demnach nicht aus.

Deshalb möchten wir Ihnen heute die Ersatz-Funktion Split_String vorstellen.

Die Funktion erwartet im ersten Parameter den Gesamtstring und im zweiten Parameter das Trennzeichen. Die Angabe des Trennzeichens ist optional. Wird nichts angegeben, wird das Leerzeichen als Trennzeichen angenommen. Als Rückgabewert erhalten Sie ein nullbasiertes Array, welches die Teilstrings enthält.

' Zerlegt ein String anhand eines angegebenen
' Trennzeichens und gibt die einzelne Teilstrings
' als nullbasierendes Array zurück
'
' Wird kein Trennzeichen angegeben, wird als
' Trennzeichen das Leerzeichen angenommen
Public Function Split_String(ByVal inp_str As String, _
  Optional sep As Variant) As Variant
 
  Dim i As Integer
  Dim j As Integer
  Dim ret() As Variant
 
  ' kein Trennzeiche?
  If IsMissing(sep) Then sep = " "
 
  j = 0
  Do
    i = InStr(inp_str, sep)
    If i > 0 Then
      ReDim Preserve ret(j)
      ret(j) = Left$(inp_str, i - 1)
      inp_str = Mid$(inp_str, i + Len(sep))
      j = j + 1
    End If
  Loop Until i < 1
 
  ReDim Preserve ret(j)
  ret(j) = inp_str
 
  Split_String = ret
End Function

Dieser Tipp wurde bereits 23.261 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Aktuelle Diskussion anzeigen (4 Beiträge)

nach obenzurück


Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
   

Druckansicht Druckansicht Copyright ©2000-2022 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel