home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / pascal / library / dos / nicol / sti_err / sti_err.pas next >
Encoding:
Pascal/Delphi Source File  |  1980-01-01  |  2.7 KB  |  88 lines

  1. {$D-,I-,S-,R-}
  2. Unit STI_ERR;                               { Error Message Unit            }
  3.  
  4. Interface
  5.  
  6. Implementation
  7.  
  8. Var
  9.   ExitSave : Pointer;                       { old error procedure pointer   }
  10.  
  11. {$F+}
  12. Procedure ErrorProc;                        { new error procedure           }
  13.  
  14. Var
  15.    Message : String[40];
  16.  
  17. Begin
  18.   if ExitCode <> 0 then
  19.     begin
  20.       Message := '';
  21.       case ExitCode of
  22.     1..99 :    Message := 'MSDOS Error     :';
  23.     100..149 : Message := 'I/O Error       :';
  24.     150..199 : Message := 'CRITICAL Error  :';
  25.     200..249 : Message := 'RUN TIME Error  :';
  26.       else
  27.     Write('Error Code');
  28.       end;
  29.       case ExitCode OF
  30.     2 :  Message := 'File not found ';
  31.     3 :  Message := 'Path not found ';
  32.     4 :  Message := 'Unable to open file ';
  33.     5 :  Message := 'Unable to access file ';
  34.     6 :  Message := 'Not enough file handles ';
  35.     12 : Message := 'Bad file access code ';
  36.     15 : Message := 'Bad drive number ';
  37.     16 : Message := 'Not in current directory ';
  38.     17 : Message := 'No drive volume ';
  39.  
  40.     100 : Message := 'Disk read error ';
  41.     101 : Message := 'Disk write error ';
  42.     102 : Message := 'Cannot ASSIGN file ';
  43.     103 : Message := 'Cannot open file ';
  44.     104 : Message := 'Cannot open file with this name ';
  45.     105 : Message := 'Cannot read file with this name ';
  46.     106 : Message := 'Data format error ';
  47.  
  48.     150 : Message := 'Unknown drive number ';
  49.     151 : Message := 'Illegal Unit ';
  50.     152 : Message := 'Drive not ready ';
  51.     153 : Message := 'Illegal command ';
  52.     154 : Message := 'Data CRC Error ';
  53.     155 : Message := 'Illegal drive request ';
  54.     156 : Message := 'Disk Seek Error';
  55.     157 : Message := 'Illegal media type ';
  56.     158 : Message := 'Cannot find sector ';
  57.     159 : Message := 'Printer not ready ';
  58.     160 : Message := 'Device write error ';
  59.     161 : Message := 'Device read error ';
  60.     162 : Message := 'Hardware error ';
  61.  
  62.     200 : Message := 'Division by zero ';
  63.     201 : Message := 'Range Check ';
  64.     202 : Message := 'Stack Overflow ';
  65.     203 : Message := 'Heap Overflow ';
  66.     204 : Message := 'Null or illegal pointer ';
  67.     205 : Message := 'Floating point overflow ';
  68.     206 : Message := 'Floating point underflow ';
  69.     207 : Message := 'Floating point co-processor not installed ';
  70.     208 : Message := 'Overlay manager error ';
  71.     209 : Message := 'Overlay file error ';
  72.  
  73.     255 : Message := 'User Break';
  74.       else
  75.     Write('Unknown Error ');
  76.       end;
  77.       Write(ExitCode, '  '); Write(Message,^G); WriteLn;
  78.     end;
  79.   Writeln;
  80.   ExitProc := ExitSave;                     { change to the old procedure   }
  81. end;
  82. {$F-}
  83.  
  84. begin
  85.   ExitSave := ExitProc;                     { save the old error procedure  }
  86.   ExitProc := @ErrorProc;                   { change to the new one         }
  87. end.
  88.