Rubrik: Dateisystem · Dateien lesen/schreiben | VB-Versionen: VB2010 - VB2015 | 10.01.21 |
Ermitteln des Feldtrennzeichens in einer Textdatei Mit dem beigefügten Quellcode kann das Feldtrennzeichen einer beliebigen Textdatei ermittelt werden. | ||
Autor: Helmut Karner | Bewertung: | Views: 1.683 |
ohne Homepage | System: Win7, Win8, Win10, Win11 | kein Beispielprojekt |
Mit nachfolgendem Quellcode kann das Feldtrennzeichen einer beliebigen Textdatei ermittelt werden.
Function FindSeparator(Datei As String) As String Dim i, j As Integer ' Zählvariablen Dim c As Integer ' Enthält die Anzahl der Felder der ersten Zeile Dim s() As String = {vbTab, ";", ",", "#", "-", " "} ' Array mit Feldtrennzeichen, beliebig erweiterbar ' Trennzeichen einzeln durchgehen For j = 0 To UBound(s) Using sr As New IO.StreamReader(Datei) ' Datei bei jedem Durchgang von vorne beginnen ' Erste Zeile lesen, splitten und Trennzeichenanzahl in c c = UBound(Split(sr.ReadLine, s(j))) If c > 0 Then ' Die nächsten 5 Zeilen prüfen For i = 1 To 5 ' Wenn Trennzeichenanzahl nicht mit Trennzeichenanzahl der ersten ' Zeile übereinstimmt, Schleife verlassen If c <> UBound(Split(sr.ReadLine, s(j))) Then Exit For Next ' Wenn immer gleiche Feldanzahl, dann Trennzeichen zurückgeben ' (Schleife wurde nicht vorzeitig verlassen) If i = 6 Then Return s(j) End If End Using Next Return Nothing ' Trennzeichen nicht gefunden End Function
Mit dem Aufruf
Dim Separator as String = FindSeparator(Dateiname incl. Pfad)
wird die Funktion aufgerufen.
Wenn kein Feldtrennzeichen ermittelt wurde, wird 'Nothing' zurückgegeben.