home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / dtx9202 / pretty / pretty.mod < prev    next >
Encoding:
Text File  |  1991-02-18  |  3.1 KB  |  108 lines

  1.  
  2. MODULE PRETTY;
  3. (*---------------------------------------------------------------------------
  4. -      TopSpeed Modula 2         Quelltext - Formatierer                    -
  5. -                       (c)  Peter Engels 1991                              -
  6. ---------------------------------------------------------------------------*)
  7.  
  8. FROM Window IMPORT Clear;
  9.  
  10. FROM IO IMPORT RdKey,WrLn,WrChar,WrStr;
  11.  
  12. FROM FIOR IMPORT SplitPath,MakePath,PathStr,PathTail,ExtStr;
  13.  
  14. FROM PRFILES IMPORT ReadFileNames,SearchFirst,SearchNext,GetExt;
  15.  
  16. FROM PRPARSER IMPORT MakePretty;
  17.  
  18. FROM Str IMPORT CharPos,Copy,Compare;
  19.  
  20. FROM Lib IMPORT ParamCount;
  21.  
  22. VAR wildcard,extwildcard,dask,success : BOOLEAN;
  23.     answ : CHAR;
  24.     source,dest : PathStr;
  25.     sourcename,destname : PathTail;
  26.     sourcepath,destpath : PathStr;
  27.     ext : ExtStr;
  28.  
  29. BEGIN
  30.   Clear;
  31.   wildcard := FALSE;
  32.   WrStr ('TopSpeed Modula-2  Ver. 2.05 Standard');
  33.   WrLn;
  34.   WrStr ('Program reformatting utility Revision 1.1' +
  35.         '            (c) Peter Engels 1991');
  36.   WrLn;
  37.   LOOP
  38.     ReadFileNames (source,dest);
  39.     IF source [0] = 0C THEN
  40.       HALT
  41.     END;
  42.     SplitPath (source,sourcepath,sourcename);
  43.     MakePath (source,sourcepath,sourcename);
  44.     SplitPath (dest,destpath,destname);
  45.     wildcard := (CharPos (sourcename,'*') < MAX (CARDINAL)) OR (CharPos (
  46.              sourcename,'?') < MAX (CARDINAL));
  47.     GetExt (sourcename,ext);
  48.     extwildcard := (CharPos (ext,'*') < MAX (CARDINAL)) OR (CharPos (ext,'?')
  49.                 < MAX (CARDINAL));
  50.     IF wildcard THEN
  51.       WrLn;
  52.       WrStr ('Formatting Files in : ');
  53.       WrStr (source);
  54.       WrStr ('  - Confirm each Format : ');
  55.       answ := CAP (RdKey ());
  56.       IF answ >= ' ' THEN
  57.         WrChar (answ);
  58.       END;
  59.       WrLn;
  60.       WrLn;
  61.       dask := NOT ((answ = 'Y') OR (answ = 'J'))
  62.     END;
  63.     success := SearchFirst (source);
  64.     Copy (sourcename,source);
  65.     IF NOT success THEN
  66.       WrLn;
  67.       WrStr ('No Files selected')
  68.     END;
  69.     WHILE success DO
  70.       GetExt (sourcename,ext);
  71.       IF NOT extwildcard OR ((Compare (ext,'DEF') = 0) OR (Compare (ext,'MOD'
  72.          ) = 0)) THEN
  73.         IF wildcard AND NOT dask THEN
  74.           MakePath (source,sourcepath,sourcename);
  75.           WrStr (source);
  76.           WrStr ('      format : ');
  77.           answ := RdKey ();
  78.           answ := CAP (answ);
  79.           IF answ = 3C THEN
  80.             WrStr ('terminated ...')
  81.           ELSIF answ >= ' ' THEN
  82.             WrChar (answ);
  83.           END;
  84.           WrLn
  85.         ELSE
  86.           answ := 'Y'
  87.         END;
  88.         IF (answ = 'Y') OR (answ = 'J') THEN
  89.           IF wildcard THEN
  90.             destname := sourcename
  91.           END;
  92.           MakePath (source,sourcepath,sourcename);
  93.           MakePath (dest,destpath,destname);
  94.           WrStr ('Formatting  : ');
  95.           WrStr (source);
  96.           WrStr ('  ==> ');
  97.           WrStr (dest);
  98.           WrLn;
  99.           MakePretty (source,dest)
  100.         END
  101.       END;
  102.       success := SearchNext (sourcename);
  103.     END;
  104.     IF ParamCount () > 0 THEN
  105.       HALT
  106.     END
  107.   END
  108. END PRETTY.