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

{===========================================================================
Date: 10-10-93 (13:21)
From: GUY MCLOUGHLIN
Subj: Ansi in TP 6.0
---------------------------------------------------------------------------}

(* Program to demonstrate how to do display ANSI files *)
 program ShowANSI;
 uses
   crt;       (* Required for "ClrScr" and "Delay" routines.         *)

 const        (* ANSI display delay factor in 1/1000th's of a second *)
   co_DelayFactor = 40;

 type         (* Type definition.                                    *)
   st_80 = string[80];

   (***** Check for I/O errors.                                       *)
   (*                                                                 *)
   procedure CheckErrors(st_Msg : st_80);
   var by_Temp : byte;
   begin
     by_Temp := ioresult;
     if (by_Temp <> 0) then
       begin
         writeln('Error = ', by_Temp, ' ', st_Msg); halt
       end
   end;       (* CheckErrors.                                         *)

 var          (* Temporary string varialble.                          *)
   st_Temp   : string;

              (* Temporary text file variable.                        *)
   fite_Temp,
              (* Text "device-driver".                                *)
   fite_ANSI : text;

              (* Main program execution block.                        *)
 BEGIN
              (* Assign "text-device" driver to standard output.      *)
   assign(fite_ANSI, '');

              (* Attempt to open the ANSI "text-device" driver.       *)
   {$I-}
   rewrite(fite_ANSI);
   {$I+}
              (* Check for I/O errors.                                *)
   CheckErrors('Opening ANSI device driver');

              (* Assign ANSI ART file to display.                     *)
   assign(fite_Temp, 'TEST.ANS');
   {$I-}
   reset(fite_Temp);
   {$I+}
              (* Check for I/O errors.                                *)
   CheckErrors('Opening TEST.ANS file');

              (* Clear the screen.                                    *)
   clrscr;

              (* Diplay the ANSI ART file. While the end of the       *)
              (* ANSI ART file has not been reached, do...            *)
   while not eof(fite_Temp) do
     begin
              (* Read line of text from the ANSI ART file.            *)
       readln(fite_Temp, st_Temp);

              (* Check for I/O errors.                                *)
       CheckErrors('Reading from TEST.ANS file');

              (* Delay for co_DelayFactor milli-seconds.              *)
       delay(co_DelayFactor);

              (* Write the line of ANSI text to the "text-device      *)
              (* driver".                                             *)
       writeln(fite_ANSI, st_Temp);

              (* Check for I/O errors.                                *)
       CheckErrors('Writing to ANSI "text-device driver"')
     end;

              (* Close the ANSI ART text file.                        *)
   close(fite_Temp);

              (* Check for I/O errors.                                *)
   CheckErrors('Closing TEST.ANS');

              (* Close the ANSI "text device driver".                 *)
   close(fite_ANSI);

              (* Check for I/O errors.                                *)
   CheckErrors('Closing ANSI "text-device driver"')
 END.

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