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