home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / PROG_BAS / PRO98SRC.ZIP / CUSTOM.CMD < prev    next >
OS/2 REXX Batch file  |  1994-01-17  |  9KB  |  374 lines

  1. 'custom commands
  2. GOTO EXITSELECT
  3. PtrELIZA: ' Eliza
  4.     CALL ELIZA
  5.  
  6. GOTO EXITSELECT
  7. PtrERRORMSG:'   CASE "ERRORMSG"
  8.     ErrorMsg%=val(poparg$)
  9. GOTO EXITSELECT
  10. PtrEDLIN:'      CASE "EDLIN"
  11.     CALL Edlin(POPARG$)
  12. GOTO EXITSELECT
  13. PtrTASK:'       CASE "TASK"
  14.         ' set a task to a prozol program on disk
  15. GOTO EXITSELECT
  16. PtrSUSPEND:'    CASE "SUSPEND"
  17.         ' suspend a certain task or ALL
  18. GOTO EXITSELECT
  19. PtrRESUME:'     CASE "RESUME"
  20.         ' resume a certain task or ALL
  21. GOTO EXITSELECT
  22. PtrFINISHED:'   CASE "FINISHED"
  23.         ' returns true if a certain task is finished
  24. GOTO EXITSELECT
  25. PtrSTATUS:'     CASE "STATUS"
  26.         ' returns a status flag of a certain task
  27. GOTO EXITSELECT
  28. PtrFREETASK:'   CASE "FREETASK"
  29.         ' returns the next free task number
  30. GOTO EXITSELECT
  31. PtrKILLTASK:'   CASE "KILLTASK"
  32.         ' kills a certain task, or ALL
  33. GOTO EXITSELECT
  34. PtrSIGNAL:'     CASE "SIGNAL"
  35.         ' returns true if a certain signal has been set by a certain task
  36. GOTO EXITSELECT
  37. PtrDEVOTE:'     CASE "DEVOTE"
  38.         ' devotes all time to a certain task or ALL until it's finished
  39. GOTO EXITSELECT
  40. PtrDEPTH:'      CASE "DEPTH"
  41.         ' sets the depth of background processing for tasks
  42.  
  43. GOTO EXITSELECT
  44. PtrSETENV:'     CASE "SETENV"
  45.         ENVIRON POPARG$
  46.  
  47. GOTO EXITSELECT
  48. PtrAUTOEDIT:'   CASE "AUTOEDIT"
  49.     CALL AUTOEDIT
  50.  
  51.  
  52. GOTO EXITSELECT
  53. PtrINSIDE:'     CASE "INSIDE"
  54.     A$=POPARG$
  55.         DO
  56.         B$=POPARG$
  57.         IF B$="" THEN PUSHARG "0":EXIT LOOP
  58.         IF INSTR(UCASE$(A$),UCASE$(B$)) THEN
  59.                 DO:DUMMY$=POPARG$:LOOP UNTIL DUMMY$=""
  60.                 PUSHARG "-1"
  61.                 EXIT LOOP
  62.         END IF
  63.         LOOP
  64.  
  65.  
  66. GOTO EXITSELECT
  67. PtrFLIP:'       CASE "FLIP"
  68.  
  69.     A$=RTRIM$(LTRIM$(POPARG$))
  70.         A%=INSTR(A$," ")
  71.         IF A% THEN A$=MID$(A$,A%+1)+" "+LEFT$(A$,A%-1)
  72.         PUSHARG A$
  73.  
  74.  
  75. GOTO EXITSELECT
  76. PtrCAPS:'       CASE "CAPS"
  77.     A$=LCASE$(RTRIM$(LTRIM$(POPARG$)))
  78.         IF LEN(A$) THEN
  79.         DO : REPLACE "  " WITH " " IN A$ : LOOP WHILE INSTR("  ",A$)
  80.         REPLACE " " WITH CHR$(1) IN A$
  81.         A$=UCASE$(LEFT$(A$,1))+MID$(A$,2)
  82.         DO
  83.      A%=INSTR(A$,CHR$(1)):IF A%=0 THEN EXIT LOOP
  84.          MID$(A$,A%) = " " + UCASE$(MID$(A$,A%+1,1))
  85.         LOOP
  86.         PUSHARG A$
  87.         END IF
  88. GOTO EXITSELECT
  89. PtrRAW:'        CASE "RAW"
  90.  
  91.  
  92.  
  93. GOTO EXITSELECT
  94. PtrASK:'        CASE "ASK"
  95.         i%=0
  96.     FOR y%=1 TO UBOUND(VAR$)
  97.                 IF LEN(VAR$(y%)) THEN
  98.                 INCR i%:IF i%=20 THEN CWAIT:I%=0
  99.                 PROZOPRINT "{"+VAR$(y%)+"}"+CHR$(9)+"["+VALUE$(y%)+"]"+CrLf$
  100.                 END IF
  101.         NEXT y%
  102.  
  103. GOTO EXITSELECT
  104. PtrDELAY:'      CASE "DELAY"
  105.         PROGDELAY VAL(POPARG$)
  106.  
  107. GOTO EXITSELECT
  108. PtrITEM:'       CASE "ITEM"
  109. i%=VAL(POPARG$):ITEM$(i%)=POPARG$
  110.  
  111. GOTO EXITSELECT
  112. PtrWINDOW:'     CASE "WINDOW"
  113. CALL DMMENU(VAL(POPARG$),VAL(POPARG$),VAL(POPARG$),VAL(POPARG$), POPARG$, item$())
  114.  
  115. GOTO EXITSELECT
  116. PtrMENU:'       CASE "MENU"
  117. CALL DMWINDO(VAL(POPARG$),VAL(POPARG$),VAL(POPARG$),VAL(POPARG$), POPARG$, item$())
  118.  
  119. GOTO EXITSELECT
  120. PtrXMENU:'      CASE "XMENU"
  121. CALL DMXMENU(VAL(POPARG$),VAL(POPARG$),VAL(POPARG$),VAL(POPARG$), POPARG$, item$())
  122.  
  123. GOTO EXITSELECT
  124. PtrEDITCOMMENT:'        CASE "EDITCOMMENT"
  125. CALL EditComment(Poparg$)
  126.  
  127. GOTO EXITSELECT
  128. PtrGETCOMMENT:' CASE "GETCOMMENT"
  129. CALL GetComment(Poparg$)
  130.  
  131.  
  132. GOTO EXITSELECT
  133. PtrCOMMON:'     CASE "COMMON"
  134.  
  135.   v$ = Poparg$
  136.   Value$  = Poparg$
  137.   Fi%=FREEFILE
  138.   OPEN CommonVarFile$ FOR RANDOM SHARED AS #Fi% LEN=LEN(CommonVar)
  139.     ' check to see if the var is in the commonvar file
  140.     Flag% = 0
  141.     FOR r% = 1 TO LOF(Fi%)\LEN(CommonVar)
  142.         GET Fi%, r%, CommonVar
  143.  
  144.     IF ucase$(LEFT$(CommonVar.Variable,LEN(v$))) = ucase$(v$) THEN
  145.       CommonVar.Variable = v$
  146.       CommonVar.Value    = value$
  147.       CommonVar.CrLf     = CrLf$
  148.     PUT #Fi%, r%, CommonVar:Flag%=1:EXIT FOR
  149.     END IF
  150.     NEXT r%
  151.  
  152.   IF Flag% = 0 THEN
  153.       CommonVar.Variable = v$
  154.       CommonVar.Value    = value$
  155.       CommonVar.CrLf     = CrLf$
  156.   PUT #Fi%, (LOF(Fi%)\LEN(CommonVar))+1,CommonVar
  157.   END IF
  158.   Flag% = 0:CLOSE #Fi%
  159.  
  160.  
  161. GOTO EXITSELECT
  162. PtrSETPROMPT:'  CASE "SETPROMPT"
  163.     PROMPT$=POPARG$
  164.  
  165. GOTO EXITSELECT
  166. PtrECHO:'       CASE "ECHO"
  167. echo% = NOT VAL(POPARG$)
  168.  
  169. GOTO EXITSELECT
  170. PtrTIMEOUT:'    CASE "TIMEOUT"
  171. IF ArgPtr%>0 THEN
  172. UserTime# = (VAL(Poparg$) * 60) + TIMER
  173. ELSE
  174. PUSHARG STR$(INT((UserTime# - TIMER) / 60))
  175. END IF
  176.  
  177. GOTO EXITSELECT
  178. PtrLOGOUT:'     CASE "LOGOUT"
  179.     ERROR 1
  180. GOTO EXITSELECT
  181. PtrRESET:'      CASE "RESET"
  182. CALL SYSRESET
  183.  
  184. GOTO EXITSELECT
  185. PtrGOD:'        CASE "GOD"
  186.         GOD = VAL(POPARG$)
  187. GOTO EXITSELECT
  188. PtrEFFECT:'     CASE "EFFECT"
  189.     EFFECT POPARG$
  190.  
  191. GOTO EXITSELECT
  192. PtrTTY:'        CASE "TTY"
  193. tty = 1
  194. GOTO EXITSELECT
  195. PtrANSI:'       CASE "ANSI"
  196. tty = 0
  197.  
  198. GOTO EXITSELECT
  199. PtrGLOBAL:'     CASE "GLOBAL"
  200.     i%=VAL(POPARG$)
  201.         IF ArgPtr% THEN A$=POPARG$:GLOBAL$(i%)=A$ ELSE PUSHARG GLOBAL$(i%)
  202.  
  203. GOTO EXITSELECT
  204. PtrDOOR:'       CASE "DOOR"
  205.     COMCLOSE
  206.         SHELL POPARG$ + POPARG$ + POPARG$ + POPARG$ + POPARG$ + POPARG$
  207.         COMOPEN PARM$
  208.  
  209. GOTO EXITSELECT
  210. PtrGO:' CASE "GO"
  211.         A$=LITERAL$(ArgPtr%)
  212.         PROZOL GETVAR("$$"+A$+"$$")
  213. GOTO EXITSELECT
  214. PtrCD:' "CHDIR"        CASE "CD","CHDIR"
  215.     CHDIR POPARG$
  216. GOTO EXITSELECT
  217. PtrMD:' "MKDIR"        CASE "MD","MKDIR"
  218.     MKDIR POPARG$
  219. GOTO EXITSELECT
  220. PtrRD:' CASE "RD"
  221.     A$=POPARG$
  222.         IF LEN(DIR$(A$,16)) THEN KILL A$
  223. GOTO EXITSELECT
  224. PtrHOME:'       CASE "HOME"
  225.         PROZOPRINT "^0@CLS()"
  226.  
  227. GOTO EXITSELECT
  228. PtrTAG:'        CASE "TAG"
  229. fi$ = PopArg$: R??? = VAL(PopArg$)
  230. LET TagBuffer = FREEFILE
  231. IF INSTR(Fi$,".")=0 THEN Fi$=Fi$+".TAG"
  232. OPEN  fi$ FOR RANDOM AS #TagBuffer LEN = 4
  233. IF LOF(TagBuffer) > 3 THEN
  234.         PUT #TagBuffer, (LOF(TagBuffer) \ 4) + 1, R???
  235. ELSE
  236.         PUT #TagBuffer, 1, R???
  237. END IF
  238. CLOSE #TagBuffer
  239.  
  240. GOTO EXITSELECT
  241. PtrTAGGED:'     CASE "TAGGED"
  242. Fi$=POPARG$
  243. IF INSTR(Fi$,".")=0 THEN Fi$=Fi$+".TAG"
  244. TagBuffer=FREEFILE
  245. OPEN Fi$ FOR RANDOM AS #TagBuffer LEN=4
  246. IF LOF(1)=0 THEN PUSHARG "0" ELSE PUSHARG STR$(LOF(1)/4)
  247. CLOSE #TagBuffer
  248.  
  249. GOTO EXITSELECT
  250. PtrGETTAG:'     CASE "GETTAG"
  251. Fi$=POPARG$
  252. IF INSTR(Fi$,".")=0 THEN Fi$=Fi$+".TAG"
  253. R???=VAL(POPARG$)
  254. TagBuffer=FREEFILE
  255. OPEN Fi$ FOR RANDOM AS #TagBuffer LEN=4
  256. GET #TagBuffer,R???,T???
  257. CLOSE #TagBuffer
  258. PUSHARG STR$(T???)
  259.  
  260. GOTO EXITSELECT
  261. PtrXMODEM:'     CASE "XMODEM"
  262. IF UCASE$(LITERAL$(ArgPtr%))="IN" THEN
  263.     X$=POPARG$:X$=POPARG$
  264.         XMODEMIN X$,e%
  265.         IF e% THEN PROZOPRINT "Transfer successful"+CrLf$ ELSE PROZOPRINT "Transfer unsuccessful"+CrLf$
  266. ELSE
  267. IF UCASE$(LITERAL$(ArgPtr%))="OUT" THEN
  268.     X$=POPARG$:X$=POPARG$
  269.         XMODEMOUT X$,e%
  270.         IF e% THEN PROZOPRINT "Transfer successful"+CrLf$ ELSE PROZOPRINT "Transfer unsuccessful"+CrLf$
  271. END IF
  272. END IF
  273. GOTO EXITSELECT
  274. PtrCONFERENCE:' CASE "CONFERENCE"
  275.     CALL CONF(POPARG$,POPARG$)
  276. GOTO EXITSELECT
  277. PtrINT:'        CASE "INT"
  278.     REG VAL(POPARG$), VAL(POPARG$)
  279. GOTO EXITSELECT
  280. PtrREG:'        CASE "REG"
  281.     PUSHARG STR$(REG(VAL(POPARG$)))
  282. GOTO EXITSELECT
  283. PtrRESTART:'    CASE "RESTART"
  284. RUN
  285. GOTO EXITSELECT
  286. PtrTRON:'       CASE "TRON"
  287.     Tracer%=-1
  288. GOTO EXITSELECT
  289. PtrTROFF:'      CASE "TROFF"
  290.     Tracer%=0
  291.  
  292. GOTO EXITSELECT
  293. PtrRANDOM:'     CASE "RANDOM"
  294. GOTO EXITSELECT
  295. PtrEXECUTE:'    CASE "EXECUTE"
  296.     EXECUTE POPARG$
  297. GOTO EXITSELECT
  298. PtrUNLOCK:'     CASE "UNLOCK"
  299. CLOSE #22
  300.  
  301. GOTO EXITSELECT
  302. PtrLOCK:'       CASE "LOCK"
  303. CLOSE #22
  304. OPEN PopArg$ FOR OUTPUT AS #22:PRINT #22, TIME$, DATE$
  305. ' we open the file for output and write to it, then leave it open
  306. ' so any other user attempting lock the same file gets a big fat error
  307.  
  308. GOTO EXITSELECT
  309. PtrCHAT:'       CASE "CHAT"
  310. CALL CHAT(PopArg$)
  311.  
  312. GOTO EXITSELECT
  313. PtrOLM:'        CASE "OLM"
  314. A$=POPARG$:B$=POPARG$
  315.         IF A$="-1" THEN OLM%=-1:GOTO EXITSELECT
  316.         IF A$="0" THEN OLM%=0:GOTO EXITSELECT
  317.  
  318.         Fi%=FREEFILE
  319.         OPEN OLMPath$+a$+".OLM" FOR APPEND AS #Fi%
  320.         PRINT #Fi%,"FROM "+Global$(1)+":"+b$
  321.         CLOSE #Fi%
  322.  
  323. GOTO EXITSELECT
  324. PtrONLOGOUT:'   CASE "ONLOGOUT"
  325.     LET ONLOGOUT$ = PopArg$
  326.     OnLogout% = %True
  327.  
  328. GOTO EXITSELECT
  329. PtrONERROR:'    CASE "ONERROR"
  330.  
  331. IF UCASE$(LITERAL$(ArgPtr%)) ="OFF" THEN
  332.        ONError$=""
  333.        OnError% = 0
  334.        X$=POPARG$
  335. ELSE
  336.        ONError$ = PopArg$
  337.        OnError% = %True
  338. END IF
  339.  
  340. GOTO EXITSELECT
  341. PtrANSWER:'     CASE "ANSWER"
  342. Commandline$=UCASE$(PopArg$)
  343. IF INSTR("COM1: COM2: COM3: COM4:",CommandLine$) THEN AnswerFlag%=-1 ELSE ERROR 57
  344.  
  345. GOTO EXITSELECT
  346. PtrCONFIG:'     CASE "CONFIG"
  347. CLOSE
  348. OPEN"PROZOL.CFG" FOR BINARY AS #1:CLOSE
  349. KILL"PROZOL.CFG"
  350. RUN
  351.  
  352. GOTO EXITSELECT
  353. PtrCONNECT:'    CASE "CONNECT"
  354. CLOSE #6:OPEN PopArg$ FOR RANDOM AS #6:TerminalMode%=-1
  355.  
  356. GOTO EXITSELECT
  357. PtrDISCONNECT:' CASE "DISCONNECT"
  358. CLOSE #6:TerminalMode%=0
  359.  
  360. GOTO EXITSELECT
  361. PtrSEND:'       CASE "SEND"
  362. Prg$=PopArg$+Poparg$+Poparg$+Poparg$+Poparg$
  363. IF LEN(Prg$) THEN REPLACE";" WITH CHR$(13) IN Prg$
  364. IF TerminalMode% THEN PRINT #6,Prg$;
  365.  
  366. GOTO EXITSELECT
  367. PtrMENUCOLOR:'  CASE "MENUCOLOR"
  368. GLOBAL$(4)=POPARG$
  369.  
  370. GOTO EXITSELECT
  371. PtrEXTENSION:'  CASE "EXTENSION"
  372.     EXT$=POPARG$
  373.         IF LEFT$(EXT$,1)<>"." THEN EXT$="."+EXT$
  374.