[Back to TEXTFILE SWAG index]  [Back to Main SWAG index]  [Original]

{$S+,R-,V-,I-,N-,B-,F-}
{$M 20000,0,655360}

    { example of reversing a text file }

USES Dos, Crt, Readback;
                   { note: READBACK is found in TEXTFILE.SWG }
VAR
    Outf   : TEXT;      { using Standard TP filetype to write this file }
    WorkF  : TEXT;
    InF    : BACKTEXT;  { using Readback filetype to read the file !! }
    OFname : STRING;
    IFname : STRING;
    St     : STRING;

BEGIN
         { open the text file containing original data for reading }
         IFName := 'ANYFILE.TXT'; { change this to your file name }
         AssignBack(InF, IFName);
         ResetBack(InF, 1024);

         { open the NEW text file that will be reversed for writing }
         IFName := 'OUTFILE.TXT'; { change this to your file name }
         ASSIGN (OutF, OFName);
         REWRITE (Outf);

         { now, read each line from the input and write to output }
         WHILE NOT BOF(InF) DO
               BEGIN
               ReadLnBack(Inf, St);
               WriteLn(OutF, St);
               END;

        CloseBack(Inf);
        Close(OutF);

        { now we have our reversed text in OUTFILE.TXT, so we need to
          put it into our original file.  This procedure is optional.
          It WILL DESTROY your original file !! }

         { open our reversed file in Standard TP mode for reading }
         ASSIGN (WorkF, OFName);  { our reversed file !! }
         RESET (Workf);

         { open our original file in Std TP mode for writing }
         ASSIGN (OutF, IFName);  { our original file !! }
         REWRITE (Outf);

         WHILE NOT EOF(WorkF) DO
               BEGIN
               ReadLn(WorkF, St);
               WriteLn(OutF, St);
               END;

         { close the two files }
         Close(WorkF);
         Close(Outf);

         { Now, our original file has the data REVERSED !! }

         { Here you could also erase the OUTFILE.TXT if you wanted to }

END.

[Back to TEXTFILE SWAG index]  [Back to Main SWAG index]  [Original]