home *** CD-ROM | disk | FTP | other *** search
-
- MODULE PRETTY;
- (*---------------------------------------------------------------------------
- - TopSpeed Modula 2 Quelltext - Formatierer -
- - (c) Peter Engels 1991 -
- ---------------------------------------------------------------------------*)
-
- FROM Window IMPORT Clear;
-
- FROM IO IMPORT RdKey,WrLn,WrChar,WrStr;
-
- FROM FIOR IMPORT SplitPath,MakePath,PathStr,PathTail,ExtStr;
-
- FROM PRFILES IMPORT ReadFileNames,SearchFirst,SearchNext,GetExt;
-
- FROM PRPARSER IMPORT MakePretty;
-
- FROM Str IMPORT CharPos,Copy,Compare;
-
- FROM Lib IMPORT ParamCount;
-
- VAR wildcard,extwildcard,dask,success : BOOLEAN;
- answ : CHAR;
- source,dest : PathStr;
- sourcename,destname : PathTail;
- sourcepath,destpath : PathStr;
- ext : ExtStr;
-
- BEGIN
- Clear;
- wildcard := FALSE;
- WrStr ('TopSpeed Modula-2 Ver. 2.05 Standard');
- WrLn;
- WrStr ('Program reformatting utility Revision 1.1' +
- ' (c) Peter Engels 1991');
- WrLn;
- LOOP
- ReadFileNames (source,dest);
- IF source [0] = 0C THEN
- HALT
- END;
- SplitPath (source,sourcepath,sourcename);
- MakePath (source,sourcepath,sourcename);
- SplitPath (dest,destpath,destname);
- wildcard := (CharPos (sourcename,'*') < MAX (CARDINAL)) OR (CharPos (
- sourcename,'?') < MAX (CARDINAL));
- GetExt (sourcename,ext);
- extwildcard := (CharPos (ext,'*') < MAX (CARDINAL)) OR (CharPos (ext,'?')
- < MAX (CARDINAL));
- IF wildcard THEN
- WrLn;
- WrStr ('Formatting Files in : ');
- WrStr (source);
- WrStr (' - Confirm each Format : ');
- answ := CAP (RdKey ());
- IF answ >= ' ' THEN
- WrChar (answ);
- END;
- WrLn;
- WrLn;
- dask := NOT ((answ = 'Y') OR (answ = 'J'))
- END;
- success := SearchFirst (source);
- Copy (sourcename,source);
- IF NOT success THEN
- WrLn;
- WrStr ('No Files selected')
- END;
- WHILE success DO
- GetExt (sourcename,ext);
- IF NOT extwildcard OR ((Compare (ext,'DEF') = 0) OR (Compare (ext,'MOD'
- ) = 0)) THEN
- IF wildcard AND NOT dask THEN
- MakePath (source,sourcepath,sourcename);
- WrStr (source);
- WrStr (' format : ');
- answ := RdKey ();
- answ := CAP (answ);
- IF answ = 3C THEN
- WrStr ('terminated ...')
- ELSIF answ >= ' ' THEN
- WrChar (answ);
- END;
- WrLn
- ELSE
- answ := 'Y'
- END;
- IF (answ = 'Y') OR (answ = 'J') THEN
- IF wildcard THEN
- destname := sourcename
- END;
- MakePath (source,sourcepath,sourcename);
- MakePath (dest,destpath,destname);
- WrStr ('Formatting : ');
- WrStr (source);
- WrStr (' ==> ');
- WrStr (dest);
- WrLn;
- MakePretty (source,dest)
- END
- END;
- success := SearchNext (sourcename);
- END;
- IF ParamCount () > 0 THEN
- HALT
- END
- END
- END PRETTY.