Program longline;
Var
LinePart: String;
InFile, OutFile: Text;
Index1, Index2: Word;
Result: Byte;
begin { First create a test File With lines longer than }
{ 255 caracters, this routine will generate lines in }
{ exess of 600 caracters. The last "EOLN" at the end }
{ is a visual aid to check that the Complete line has }
{ been copied to the output File. }
Assign (OutFile, 'InFile.txt');
ReWrite (OutFile);
Randomize;
For Index1 := 1 to 100 do begin
For Index2 := 1 to (Random (5) + 1) do
Write (OutFile, 'These are some very long Text Strings that'
+ ' are written to the File InFile.txt in order to test' +
' the capability of reading verylong Text lines. Lines' +
' that even exceed Turbo Pascal''s limit of 255' +
' caracters per String');
Writeln (OutFile, 'EOLN');
end;
Close (OutFile);
{ Now re-open it and copy InFile.txt to OutFile.txt }
Assign (InFile, 'InFile.txt');
Assign (OutFile, 'OutFile.txt');
Reset (InFile);
ReWrite (OutFile);
While not Eof (InFile) do begin
While not Eoln (InFile) do begin
{ While we are not at enf-of-line, read 255 }
{ caracters notice we use READ instead of READLN }
{ because the latter would skip to the next line even }
{ if data was still left on this line.}
Read (InFile, LinePart);
Result := Ioresult;
Writeln ('Result was ', Result);
Write (OutFile, LinePart);
end;
{ We have reached end-of-Line so do a readln to skip }
{ to the start of the next line.}
Readln (InFile);
{ Also Writeln to output File so it to, skips to the }
{ next line. }
Writeln (OutFile);
end;
{ Close both Files }
Close (OutFile);
Close (InFile);
end.