home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / dtx9101 / dbase / txt2msk.pas < prev   
Encoding:
Pascal/Delphi Source File  |  1991-10-14  |  1.4 KB  |  64 lines

  1. (* ------------------------------------------------------ *)
  2. (*                      TXT2MSK.PAS                       *)
  3. (*          Ergänzt Textbildschirme um das Attribut       *)
  4. (*              (c) 1991 W.Rinke & DMV-Verlag             *)
  5. (* ------------------------------------------------------ *)
  6. PROGRAM Txt2Msk;
  7.  
  8. USES Dos;
  9.  
  10. VAR
  11.   Attr, ch  : BYTE;
  12.   InFile,
  13.   OutFile   : PathStr;
  14.   Dir       : DirStr;
  15.   Name      : NameStr;
  16.   Ext       : ExtStr;
  17.   InF, OutF : FILE OF BYTE;
  18.   Code      : INTEGER;
  19.  
  20.  
  21.   PROCEDURE Usage;
  22.   BEGIN
  23.     WriteLn('Aufruf: TXT2MSK <Dateiname> [Attribut]');
  24.   END;
  25.  
  26. BEGIN
  27.   CASE ParamCount OF
  28.     1 : BEGIN
  29.           Attr   := $07;         (* Default: schwarz/weiß *)
  30.           InFile := ParamStr(1);
  31.         END;
  32.     2 : BEGIN
  33.           Val(ParamStr(2), Attr, Code);
  34.           InFile := ParamStr(1);
  35.         END;
  36.   ELSE
  37.     Usage;
  38.     Halt(1);
  39.   END;
  40.  
  41.   FSplit(InFile, Dir, Name, Ext);
  42.   OutFile := Dir + Name + '.MSK';
  43.  
  44.   Assign(InF, InFile);
  45. {$I-}
  46.   Reset(InF);
  47. {$I+}
  48.   IF IOResult <> 0 THEN BEGIN
  49.     WriteLn(InFile, ' nicht gefunden.');
  50.     Halt(2);
  51.   END;
  52.   Assign(OutF, OutFile);
  53.   Rewrite(OutF);
  54.  
  55.   WHILE NOT EoF(InF) DO BEGIN
  56.     Read(InF, ch);
  57.     IF ch > 31 THEN Write(OutF, ch, Attr);
  58.   END;
  59.  
  60.   Close(InF);  Close(OutF);
  61. END.
  62. (* ------------------------------------------------------ *)
  63. (*                 Ende von TXT2MSK.PAS                   *)
  64.