FileToField

FileToField liest Text-Dateien (ASCII-Dateien und UNICODE-Dateien mit BOM) die in Zeilen und Spalten angeordnete Text-, Zahlen- oder Leerfelder enthalten.

rmMat = FileToField(ssFileName)
rmMat = FileToField(ssFileName, ssFieldSep)
rmMat = FileToField(ssFileName, ssFieldSep, ssDecimalSep)
rmMat = FileToField(ssFileName, ssFieldSep, ssDecimalSep, ssRecordSep)
rmMat = FileToField(ssFileName, ssFieldSep,ssDecimalSep, ssRecordSep, hStatusWnd)
rmMat = FileToField(ssFileName, ssFieldSep,ssDecimalSep, ssRecordSep, hStatusWnd, bQuotedNumberConversion)
<smMat, smType> = FileToField(ssFileName)
<smMat, smType> = FileToField(ssFileName, ssFieldSep)
<smMat, smType> = FileToField(ssFileName, ssFieldSep, ssDecimalSep)
<smMat, smType> = FileToField(ssFileName, ssFieldSep, ssDecimalSep, ssRecordSep)
<smMat, smType> = FileToField(ssFileName, ssFieldSep, ssDecimalSep, ssRecordSep, hStatusWnd)
<smMat, smType> = FileToField(ssFileName, ssFieldSep, ssDecimalSep, ssRecordSep, hStatusWnd, bQuotedNumberConversion)
<rmMat, smMat, smType> = FileToField(ssFileName)
<rmMat, smMat, smType> = FileToField(ssFileName, ssFieldSep)
<rmMat, smMat, smType> = FileToField(ssFileName, ssFieldSep, ssDecimalSep)
<rmMat, smMat, smType> = FileToField(ssFileName, ssFieldSep, ssDecimalSep, ssRecordSep)
<rmMat, smMat, smType> = FileToField(ssFileName, ssFieldSep, ssDecimalSep, ssRecordSep, hStatusWnd)
<rmMat, smMat, smType> = FileToField(ssFileName, ssFieldSep, ssDecimalSep, ssRecordSep, hStatusWnd, bQuotedNumberConversion)

Returnwert

rmMat ist eine Matrix von Zahlenwerten. Im Fehlerfall hat rmMat nur ein Element mit dem Wert 0.0, smMat ist dann ein leerer String und smType hat den Wert „Error“.

smMat ist eine Matrix mit Strings.

smType ist eine Matrix mit den folgenden Strings:

Wert Bedeutung
" " (leerer String) Das Feld ist eine Zahl.
"B" (Blank) Das Feld ist leer.
"S" (String) Das Feld enthält eine Zeichenkette.

Parameter

ssFileName

ssFileName ist der Name der Datei.

ssFieldSep

Das erste Zeichen von ssFieldSep wird als Feldseparator verwendet. Feldseparatoren:

Wert Bedeutung
" " (Defaultwert) Mehrere zusammenhängende Leer- und Tabulatorzeichen.
"\b" Ein einzelnes Leerzeichen.
"\t" Ein Tabulatorzeichen.
";" Ein Semikolon.
"," Ein Komma.
"x" Ein einzelnes, beliebiges Zeichen.
ssDecimalSep

ssDecimalSep ist der Punkt "." (Defaultwert) oder das Komma ",".

ssRecordSep

ssRecordSep ist normalerweise das Zeichen "\n" (Defaultwert).

hStatusWnd

Ist die Zugriffsnummer des Statusfensters, zur Ausgabe einer Fortschrittsanzeige (Defaultwert ist 0, dann wird keine Anzeige in der Status-Zeile durchgeführt). Die Zugriffsnummer kann mit der Funktion AppGetStatusBarHandle erfragt werden.

bQuotedNumberConversion

Falls bQuotedNumberConversion gleich TRUE (1) ist, wird eine in Anführungszeichen eingeschlossene Zahl in eine Zahl umgewandelt. Falls bQuotedNumberConversion gleich FALSE (0) ist, wird eine in Anführungszeichen eingeschlossene Zahl immer als Zeichenkette (String) behandelt. Defaultwert ist TRUE (1).

Kommentar

Die Größe eine Feldes ist auf 4096 Zeichen begrenzt.

Die Zeichen \r\n werden beim Lesen in das Zeichen \n umgewandelt.

Die Zeichen \n am Ende der Datei werden ignoriert.

Bei Feldern die in Anführungszeichen " eingeschlossen sind, werden die äußeren Anführungszeichen entfernt. Trennzeichen innerhalb von Anführungszeichen werden ignoriert.

Beispiel

Beispiel 1 - Inhalt der Datei:

6.34  3.3
3.04  24

* rmData = FileToField("c:/test.dat")
* rmData
6.34    3.30
3.04   24.00

Beispiel 2 - Inhalt der Datei:

N        Mom
1000     12.3

2000     15.2

* <rmD, smS, smT> = FileToField("c:/test.dat", " ", ".", "\n", 0)
* rmD
    0.00     0.00
 1000.00    12.30
    0.00     0.00
 2000.00    15.20
* smS
 N  Mom

* smT
 SS

 BB

*

History

Version Beschreibung
R2013.1 Maximale Feldgröße von 256 Zeichen auf 4096 Zeichen erhöht.

id-1938973