Wie zum Lesen von text-Dateien mit Zeilenvorschub und Wagenrücklauf vermischt mit X++?

Ich versuche zu Lesen ein text-Datei mit Dynamics AX. Aber der folgende code ersetzt alle Leerzeichen in den Zeilen, die mit Kommas voneinander getrennt:

//Open file for read access
myFile = new TextIo(fileName , 'R');

myFile.inFieldDelimiter('\n');

fileRecord = myFile.read();
while (fileRecord)
{
    line = con2str(fileRecord);
    info(line);
…

Ich habe versucht, verschiedene Kombinationen der oben genannten code, einschließlich der Angabe, eine leere '' Feld-Trennzeichen, jedoch mit dem gleichen Verhalten.

Der folgende code funktioniert, aber scheint, wie es sollte ein besserer Weg, dies zu tun:

//Open file for read access
myFile = new TextIo(fileName , 'R');

myFile.inRecordDelimiter('\n');
myFile.inFieldDelimiter('_stringnotinfile_');

fileRecord = myFile.read();
while (fileRecord)
{
    line = con2str(fileRecord);
    info(line);

Das format der Datei ist das Feld format. Zum Beispiel:

DATAFIELD1    DATAFIELD2  DATAFIELD3
DATAFIELD1                DATAFIELD3
DATAFIELD1    DATAFIELD2  DATAFIELD3

Also, was ich am Ende mit, es sei denn, ich verwenden Sie die Problemumgehung oben ist so etwas wie:

line=DATAFIELD1,DATAFIELD2,DATAFIELD3

Das zugrunde liegende problem ist hier, dass ich mit gemischten input-Formate. Einige der Dateien, die haben nur line-feeds {LF} und andere haben {CR}{LF}. Mit meinem workaround oben scheint zu funktionieren für beide. Gibt es eine Möglichkeit, den Umgang mit beiden, oder Streifen \r aus der Datei?

Schreibe einen Kommentar