home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 19 / CD_ASCQ_19_010295.iso / dos / prg / pas / swag / ansi.swg / 0017_SHOWANSI.PAS.pas < prev    next >
Pascal/Delphi Source File  |  1993-10-28  |  3KB  |  94 lines

  1. {===========================================================================
  2. Date: 10-10-93 (13:21)
  3. From: GUY MCLOUGHLIN
  4. Subj: Ansi in TP 6.0
  5. ---------------------------------------------------------------------------}
  6.  
  7. (* Program to demonstrate how to do display ANSI files *)
  8.  program ShowANSI;
  9.  uses
  10.    crt;       (* Required for "ClrScr" and "Delay" routines.         *)
  11.  
  12.  const        (* ANSI display delay factor in 1/1000th's of a second *)
  13.    co_DelayFactor = 40;
  14.  
  15.  type         (* Type definition.                                    *)
  16.    st_80 = string[80];
  17.  
  18.    (***** Check for I/O errors.                                       *)
  19.    (*                                                                 *)
  20.    procedure CheckErrors(st_Msg : st_80);
  21.    var by_Temp : byte;
  22.    begin
  23.      by_Temp := ioresult;
  24.      if (by_Temp <> 0) then
  25.        begin
  26.          writeln('Error = ', by_Temp, ' ', st_Msg); halt
  27.        end
  28.    end;       (* CheckErrors.                                         *)
  29.  
  30.  var          (* Temporary string varialble.                          *)
  31.    st_Temp   : string;
  32.  
  33.               (* Temporary text file variable.                        *)
  34.    fite_Temp,
  35.               (* Text "device-driver".                                *)
  36.    fite_ANSI : text;
  37.  
  38.               (* Main program execution block.                        *)
  39.  BEGIN
  40.               (* Assign "text-device" driver to standard output.      *)
  41.    assign(fite_ANSI, '');
  42.  
  43.               (* Attempt to open the ANSI "text-device" driver.       *)
  44.    {$I-}
  45.    rewrite(fite_ANSI);
  46.    {$I+}
  47.               (* Check for I/O errors.                                *)
  48.    CheckErrors('Opening ANSI device driver');
  49.  
  50.               (* Assign ANSI ART file to display.                     *)
  51.    assign(fite_Temp, 'TEST.ANS');
  52.    {$I-}
  53.    reset(fite_Temp);
  54.    {$I+}
  55.               (* Check for I/O errors.                                *)
  56.    CheckErrors('Opening TEST.ANS file');
  57.  
  58.               (* Clear the screen.                                    *)
  59.    clrscr;
  60.  
  61.               (* Diplay the ANSI ART file. While the end of the       *)
  62.               (* ANSI ART file has not been reached, do...            *)
  63.    while not eof(fite_Temp) do
  64.      begin
  65.               (* Read line of text from the ANSI ART file.            *)
  66.        readln(fite_Temp, st_Temp);
  67.  
  68.               (* Check for I/O errors.                                *)
  69.        CheckErrors('Reading from TEST.ANS file');
  70.  
  71.               (* Delay for co_DelayFactor milli-seconds.              *)
  72.        delay(co_DelayFactor);
  73.  
  74.               (* Write the line of ANSI text to the "text-device      *)
  75.               (* driver".                                             *)
  76.        writeln(fite_ANSI, st_Temp);
  77.  
  78.               (* Check for I/O errors.                                *)
  79.        CheckErrors('Writing to ANSI "text-device driver"')
  80.      end;
  81.  
  82.               (* Close the ANSI ART text file.                        *)
  83.    close(fite_Temp);
  84.  
  85.               (* Check for I/O errors.                                *)
  86.    CheckErrors('Closing TEST.ANS');
  87.  
  88.               (* Close the ANSI "text device driver".                 *)
  89.    close(fite_ANSI);
  90.  
  91.               (* Check for I/O errors.                                *)
  92.    CheckErrors('Closing ANSI "text-device driver"')
  93.  END.
  94.