revfile.pp 456 B

12345678910111213141516171819202122
  1. { Reverse a File }
  2. Program reversefile;
  3. uses SysUtils, Classes;
  4. var
  5. i, N : longint;
  6. list : TList;
  7. line : string;
  8. pline : pointer;
  9. begin
  10. list := TList.Create;
  11. While Not Eof(input) do
  12. begin
  13. Readln(input, line);
  14. Getmem(pline, Length(line)+1);
  15. Move(line, pline^, Length(line)+1);
  16. list.Add( pline );
  17. end;
  18. N := list.Count;
  19. For i := N-1 Downto 0 do WriteLn( string(list.items[i]^) );
  20. end.