[Back to TEXTFILE SWAG index] [Back to Main SWAG index] [Original]
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.
[Back to TEXTFILE SWAG index] [Back to Main SWAG index] [Original]