home *** CD-ROM | disk | FTP | other *** search
/ C!T ROM 2 / ctrom_ii_b.zip / ctrom_ii_b / PROGRAM / PASCAL / 30TURUTL / SHELL.PAS < prev    next >
Pascal/Delphi Source File  |  1985-02-16  |  2KB  |  79 lines

  1. {$A-}
  2. PROGRAM TOOLS;
  3. {$I TOOLU.PAS}
  4. {$I INITCMD.PAS}
  5. VAR CMDPTR:FILE;
  6.   STR,STR1:STRING80;
  7.   COMMAND:XSTRING;
  8.   DONE:BOOLEAN;
  9.   I:INTEGER;
  10.  
  11.  
  12.  
  13. PROCEDURE SETCHAIN(S:STRING80);
  14. BEGIN
  15.   ASSIGN(CMDPTR,CONCAT(S,'.CHN'));DONE:=TRUE
  16. END;
  17. BEGIN
  18.   DONE:=FALSE;
  19.   WHILE NOT DONE DO BEGIN
  20.     INITCMD;
  21.     IF GETARG(1,COMMAND,MAXSTR) THEN BEGIN
  22.       STR:='';
  23.       STR1:='X';
  24.       FOR I:=1 TO XLENGTH(COMMAND) DO BEGIN
  25.         if COMMAND[I]in[97..122]then str1[1]:=chr(command[i]-32)
  26.         ELSE STR1[1]:=chr(COMMAND[I]);
  27.         STR:=CONCAT(STR,STR1)
  28.       END;
  29.       writeln(str);
  30.       IF(STR='CHARCOUNT')OR
  31.       (STR='COPY')OR
  32.       (STR='LINECOUNT')OR
  33.       (STR='WORDCOUNT')OR
  34.       (STR='DETAB')OR
  35.       (STR='DIR')
  36.       THEN BEGIN
  37.       SETCHAIN('CHAPTER1')
  38.       END
  39.       ELSE IF (STR='ENTAB')OR
  40.             (STR='OVERSTRIKE')OR
  41.             (STR='COMPRESS')OR
  42.             (STR='EXPAND')OR
  43.             (STR='ECHO')OR
  44.             (STR='TRANSLIT')THEN BEGIN
  45.       SETCHAIN('CHAPTER2') END
  46.       ELSE IF (STR='COMPARE')OR
  47.             (STR='INCLUDE')OR
  48.             (STR='CONCAT')OR
  49.             (STR='PRINT')OR
  50.             (STR='MAKECOPY')OR
  51.             (STR='ARCHIVE')THEN BEGIN
  52.       SETCHAIN('CHAPTER3') END
  53.       ELSE IF (STR='SORT')OR
  54.             (STR='UNIQUE')OR
  55.             (STR='KWIC')OR
  56.             (STR='ROTATE')OR
  57.             (STR='UNROTATE')THEN BEGIN
  58.       SETCHAIN('CHAPTER4') END
  59.       ELSE IF (STR='FIND')OR
  60.             (STR='CHANGE')THEN BEGIN
  61.       SETCHAIN('CHAPTER5') END
  62.       ELSE IF (STR='EDIT')THEN BEGIN
  63.       SETCHAIN('CHAPTER6') END
  64.       ELSE IF (STR='FORMAT')THEN BEGIN
  65.       SETCHAIN('CHAPTER7') END
  66.       ELSE IF (STR='DEFINE')OR
  67.             (STR='MACRO')THEN BEGIN
  68.       SETCHAIN('CHAPTER8') END
  69.  
  70.       ELSE IF (STR='QUIT')THEN BDOS(0,0)
  71.     END
  72.     ELSE BEGIN WRITELN('?');DONE:=FALSE END
  73.  
  74.   END;
  75.   CHAIN(CMDPTR)
  76. END.
  77.  
  78.  
  79.