home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / spezial / 19 / snap / showattr.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1990-07-06  |  1.3 KB  |  76 lines

  1. {$I-,R-,S-,V-}
  2. PROGRAM ShowAttr;
  3.  
  4. USES Crt, Dos;
  5.  
  6. VAR
  7.   DateiName:   STRING;
  8.   Datei:       FILE OF WORD;
  9.   MonoScreen:  ARRAY [1..2000]
  10.   OF WORD ABSOLUTE $B000:0000;
  11.   ColorScreen: ARRAY [1..2000]
  12.   OF WORD ABSOLUTE $B800:0000;
  13.  
  14. PROCEDURE GetDateiName;
  15. BEGIN
  16.   IF ParamCount > 0 THEN
  17.     DateiName:=ParamStr(1)
  18.   ELSE BEGIN
  19.     writeln(^G,
  20.           'Dateiname fehlt!');
  21.     Halt;
  22.   END;
  23.   IF POS('.', DateiName) = 0
  24.   THEN DateiName:=DateiName+
  25.                   '.ATT';
  26. END;
  27.  
  28. PROCEDURE ShowScreen;
  29. VAR
  30.   Groesse, n:  Word;
  31.   ch, attr:    byte;
  32.   R:           Registers;
  33.  
  34. BEGIN
  35.   Assign(Datei, DateiName);
  36.   Reset(Datei);
  37.   IF IOResult<>0 THEN BEGIN
  38.     writeln(^G, 'Fehler beim'+
  39.       ' Lesen der Datei ',
  40.       DateiName);
  41.     Halt;
  42.   END;
  43.   Groesse:=Word
  44.     (FileSize(Datei));
  45.   if Groesse<>2000 then
  46.   BEGIN
  47.     writeln(^G, 'Falsches '+
  48.       'Dateiformat!');
  49.     Halt;
  50.   END;
  51.   R.AH:=$0F;
  52.   Intr($10, R);
  53.   IF R.AL=7 THEN BEGIN
  54.     TextMode(BW80);
  55.     FOR n:=1 TO Groesse DO
  56.       Read(Datei,
  57.         MonoScreen[n])
  58.   END ELSE BEGIN
  59.     TextMode(CO80);
  60.     FOR n:=1 TO Groesse DO
  61.       Read(Datei,
  62.         ColorScreen[n]);
  63.   END;
  64.   Close(Datei);
  65. END;
  66.  
  67. BEGIN
  68.   ClrScr;
  69.   GetDateiName;
  70.   ShowScreen;
  71.   REPEAT
  72.   UNTIL ReadKey=#13;
  73.   ClrScr;
  74. END.
  75.  
  76.