[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]