[Gelöst] Textdatei Import >1024 Zeichen

20. November 2009 15:31

Hallo Forum!

Ich habe eine Textdatei, bestehend aus mehreren Zeilen, die ich in Navision importieren muss. Eine Zeile kann auch mal länger als 1024 Zeichen sein.
Wie kann ich das einlesen (anhand der Infos, die ich bis jetzt hier im Forum gelesen habe, hab ichs leider nicht kapiert :-( ).

Code:
{
Variablen:
Inputfile     File
Line          Text      1024
}
InputFile.TEXTMODE(TRUE);
InputFile.OPEN('c:\test\avistest.txt');
WHILE InputFile.POS <> InputFile.LEN DO BEGIN
  InputFile.READ(Line);
  //MESSAGE('%1    %2',InputFile.POS,InputFile.LEN);
END;


Wie kann ich beim InputFile.Read sagen, dass nur bis 1024 gereadet wird und danach von 1025 bis CR und LF?
Ist jemand so nett und könnte meinen Code ein wenig erweitern und mir damit einen Tip geben?
Ich habe auch schon mit Bigtext probiert, klappt aber auch nicht.

Danke für Eure Hilfe.
Zuletzt geändert von svr am 23. November 2009 11:34, insgesamt 1-mal geändert.

Re: Textdatei Import >1024 Zeichen

20. November 2009 17:26

Hallo svr,

dem normalen InputFile.READ kann man keine Länge mitgeben, aber es gibt zwei Möglichkeiten die Datei dennoch zu lesen:

1. als Binärdatei -> InputFile.TEXTMODE(FALSE), dann jedes Zeichen einzeln auslesen -> zu einer Zeichenkette verknüpfen und mit entsprechender Verarbeitung des Zeilenumbruchs

2. als Stream -> InputFile.CREATEINSTREAM(InStrVar) + InStrVar.READTEXT(Text, Length)

kleines Beispiel zu 2.:

Code:
InputFile.OPEN('c:\Test.txt');
InputFile.CREATEINSTREAM(InStreamVar);
WHILE NOT (InStreamVar.EOS()) DO
BEGIN
  IntVar := InStreamVar.READTEXT(TxtVar,100);
  MESSAGE(TxtVar + ' Size: ' + FORMAT(IntVar));
END;
InputFile.CLOSE();



mfg
Phae

Re: Textdatei Import >1024 Zeichen

23. November 2009 11:34

Hallo!

Danke für den Tip, ich denke ich habs endlich , glaube ich, begriffen :oops: !