FileReadFields (Funktion)
- Last UpdatedSep 26, 2024
- 2 minute read
Liest Daten aus einer CSV-Datei in eine Folge von Variablen. Mit dieser Funktion können Sie beispielsweise einen ganzen Satz von Variablenwerten auf einmal aus einer Datei laden.
Als Trennzeichen in der Datei werden ausschließlich Kommas unterstützt.
Diese Funktion kann nur in Aktionsskripten verwendet werden.
Syntax
[Ergebnis = ] FileReadFields (Dateiname, StartPos, StartVariable, AnzahlFelder)
Parameter
filename
Der Name der CSV-Datei, aus der die Daten gelesen werden sollen. Zeichenfolgenkonstante, Variable oder Ausdruck.
offset
Gibt an, an welcher Byteposition in der Datei der Lesevorgang beginnen soll. Wert, Variable oder Ausdruck vom Typ Integer.
StartVariable
Der Name der Variablen, in die der erste gelesene Wert geschrieben wird. Der Name der Variablen muss mit einer Zahl aufhören (z. B. "IVar1"). Sie müssen den Namen der Variablen als Zeichenfolgenwert angeben. Wenn Sie beispielsweise die Variable IVar1 verwenden möchten, müssen Sie an die Stelle dieses Parameters entweder den Zeichenfolgenwert "IVar1" oder den Punktfeldverweis IVar1.Name setzen. Zeichenfolgenkonstante, Meldungsvariable oder Zeichenfolgenausdruck.
AnzahlFelder
Gibt an, wie viele Werte aus der CSV-Datei gelesen werden sollen. Wert, Variable oder Ausdruck vom Typ Integer. Der erste Wert wird in die Variable geschrieben, die im Parameter "StartVariable" angegeben ist. Für die folgenden Werte wird der Index dieser Variablen hochgezählt. Wenn der erste Wert beispielsweise in die Variable "Var1" geschrieben wird, wird der zweite Wert in die Variable "Var2" geschrieben, der dritte Wert in die Variable "Var3" usw.
Rückgabewert
Die Byteposition in der Datei, bis zu der in diesem Lesevorgang Daten gelesen wurden. Diesen Wert können Sie als Startposition für den nächsten Lesevorgang verwenden.
Beispiel(e)
Im folgenden Beispiel lautet die erste Zeile in der Datei "C:\Rezept.csv" wie folgt: "Mehl, 27.23,14,1". Es sind die folgenden Variablen definiert: RezepturVar1 (Meldung), RezepturVar2 (Real), RezepturVar3 (Integer) und RezepturVar4 (Binär). Der Funktionsaufruf schreibt dann wie folgt Werte in die Variablen: "Mehl" in RezepturVar1, 27,23 in RezepturVar2, 14 in RezepturVar3 und 1 in RezepturVar4.
FileReadFields("c:\Rezept.csv", 0, "RezepturVar1", 4);