Lade...
 

CX_ASCII_FILE::ReadVariableFieldsReplaceHexNull

CX_ASCII_FILE::ReadVariableFieldsReplaceHexNull

Beschreibung:

Mit dieser Funktion wird der nächste Satz gelesen. Falls kein weiterer Satz gelesen werden kann, da das Ende der Datei erreicht wurde, so wird ein leerer Vektor zurückgegeben.  Es werden so viele Felder gelesen, bis das Satz-Ende erreicht ist. Dabei ersetzt diese Funktion in einem Satz auftretende Null-Bytes durch ein anderes Zeichen, welches beim Aufruf angegeben werden muss. Der Ersatz wird als String angegeben, es wird pro Null-Byte jedoch genau ein Byte ersetzt, d.h. der String muss genau ein Zeichen enthalten.

Diese Funktion arbeitet ausschließlich mit variablen (Satz-)Formaten und mit gesetztem FieldSeparator.

Code-Beispiel:

Var(inputFile)
CreateTransObject(CX_ASCII_FILE) -> inputFile
"CX_ROOTDIR\\test.txt" inputFile Put(fileName)
";" inputFile Call(SetFieldSeparator) // Setzt Flag "VARIABLE_FIELDS" für variable Satz-Formate.
inputFile Call(Open)

do
    "~" inputFile Call(ReadVariableFieldsReplaceHexNull) Revert -> record // Liest den nächsten Record und ersetzt Null-Bytes mit '~'-Zeichen.
    inputFile Call(Eof) if break
...................................
loop
inputFile Call(Close)    // Datei schließen

 

Stack
Stack Position Objekttyp Kurzbeschreibung
Stack(IN) Top CX_ASCII_FILE Die Datei
  Top-1 STRING Ersatzzeichen für Null-Bytes. Dies muss ein String der Länge 1 sein. Das Zeichen sollte nicht selber ein Null-Byte sein.
Stack(OUT) Top
VECTOR<STRING>
Die Felder des Satzes

 

Funktionsaufruf: Call(ReadVariableFieldsReplaceHexNull)