home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / cpminfo / cpm-cc25.art < prev    next >
Text File  |  1994-07-13  |  10KB  |  169 lines

  1.  
  2. ==============================================================================
  3. [ THE KAY*FOG RBBS | Filename=CPM-CC25.ART | posted 07/05/86 | 200 lines 11k ]
  4.  
  5.           The CP/M Connection                   Originally published in    
  6.                   by                               Computer Currents       
  7.              Ted Silveira                         5720 Hollis Street     
  8.   (copyright and all rights reserved)            Emeryville, CA  94608     
  9.  
  10.                                 April 22, 1986
  11.                             Z:  THE SAGA CONTINUES
  12.  
  13.      Last issue, I covered the basics of ZCPR3, a replacement for all or 
  14. part of your CP/M operating system.  This time, I'm going to cover some 
  15. of the major utilities and other treats that come with it.
  16.  
  17.      There are over 70 utilities available that have been specifically 
  18. written to work with ZCPR3.  Some of these are just standalone 
  19. counterparts of memory-resident commands such as DIR and ERA.  Others do 
  20. simple but useful things--DIFF compares two files, FINDF searches disks 
  21. for a particular file, PATH changes the default search path that ZCPR3 
  22. uses.  And some of these utilities turn out to be especially important:
  23.  
  24.      [Alias]  Alias (as well as its variants, Valias and Balias) is a 
  25. very simple program.  It takes a series of commands that you specify and 
  26. then creates a small program (usually 1-2K) whose only function is to 
  27. deliver that series of commands to ZCPR3.  When you run this little 
  28. program, it stuffs the commands into ZCPR3's multiple-command buffer, 
  29. and ZCPR3 then executes the whole series just as if you'd entered them 
  30. at the keyboard, like an instant batch file.  The command line can 
  31. contain anything you could normally enter at the A> prompt, including 
  32. the flow commands (IF/THEN/ELSE) I mentioned last issue.
  33.  
  34.      For example, because I use The Word Plus spelling checker, I 
  35. created one of these programs (called an "alias") named CHECK.COM 
  36. containing the commands [A:;ERA A:ERRWORDS.TXT;SPELL B:$1 
  37. $$SCF;REVIEW;IF EXIST A:ERRWORDS.TXT;MARKFIX B:$1;WS B:$1;FI].  Quite a 
  38. mouthful, but now when I give a command like [CHECK CLIENT.LTR], the 
  39. file name CLIENT.LTR is substituted for every occurrence of $1, and the 
  40. alias goes to work.  
  41.  
  42.      First, it logs into drive A:.  Second, it erases the file 
  43. A:ERRWORDS.TXT, if it exists (ERRWORDS.TXT is created in the course of 
  44. the spelling check).  Third, it runs the SPELL program on the file 
  45. B:CLIENT.LTR, with the trailing parameters $SCF.  Fourth, it runs the 
  46. REVIEW program, which lets me check the unmatched words SPELL has found.  
  47. Fifth, it checks to see if A:ERRWORDS.TXT exists--since I erased it at 
  48. the beginning of this command, ERRWORDS.TXT only exists if it has been 
  49. recreated because of spelling errors in the file.  Sixth, if 
  50. ERRWORDS.TXT exists, the alias runs the MARKFIX program on B:CLIENT.LTR 
  51. to make corrections and then loads WordStar and opens CLIENT.LTR so that 
  52. I can clean up afterwards.  Seventh, the FI command simply marks the end 
  53. of the series that started with IF EXIST.  If the command [IF EXIST 
  54. A:ERRWORDS.TXT] had been false (if there had been no file ERRWORDS.TXT, 
  55. in other words), it would indicate that there were no spelling errors in 
  56. the file CLIENT.LTR and all the commands between IF EXIST and FI would 
  57. have been skipped.
  58.  
  59.      Aliases can be even longer than the sample one above and are very 
  60. useful for automating any awkward or repetitive task.
  61.  
  62.      [Vfiler]  Vfiler is a file-maintenance program something like 
  63. NewSweep.  It can copy delete, rename, and unsqueeze files, either 
  64. singly or in groups, and can send files either to the screen for viewing 
  65. or to the printer.  But Vfiler differs from NewSweep and similar 
  66. programs in three ways.
  67.  
  68.      First, instead of listing the files on a disk in a single column, 
  69. Vfiler show them in four columns of 18 rows each, so you can see many 
  70. more files at once.  And you can use your cursor keys or the WordStar 
  71. cursor-diamond keys to move around this list in any direction--up, down, 
  72. right, or left--so that it usually takes fewer keystrokes to get to the 
  73. file you want.
  74.  
  75.      Second, Vfiler runs as a _shell_.  A shell program is one that 
  76. allows you to execute a second program from within it--when the second 
  77. program is finished, you're automatically returned to the shell program 
  78. without giving any commands or going through the A> prompt.  So, from 
  79. inside Vfiler, you can issue any ZCPR3 command (or string of commands) 
  80. that you would enter at the A> prompt.  Vfiler will surrender control 
  81. while the commands are executed and then reload itself.  You could even 
  82. run WordStar from inside Vfiler if you wanted to.
  83.  
  84.      Third, Vfiler can store up to ten macros, each of which can be any 
  85. series of ZCPR3 commands.  What's more, because Vfiler keeps track of 
  86. which file your cursor is pointing to, you can build macros that will 
  87. automatically act on this file (called the _pointer file_).  As with 
  88. aliases and regular command lines, you can use flow commands in these 
  89. macros to make "smart" commands.
  90.  
  91.      [Menu and Vmenu]  Menu and Vmenu are programs that run menu systems 
  92. you create with simple text files.  The menu options can execute any 
  93. legal ZCPR3 command sequences (just as with aliases and Vfiler macros) 
  94. including flow commands and pauses for user input from the keyboard.  
  95. Both these programs are fast, so there's no speed penalty for using 
  96. menus--in fact, there's really a speed _gain_ because a single keystroke 
  97. in the menu can execute a long series of commands quickly and accurately 
  98. (no typing errors!).  Menu and Vmenu are both shell programs so that you 
  99. can build a menu system in which novice users never need to deal with 
  100. the A> prompt.
  101.  
  102.      The difference between the two program is that Vmenu is screen-
  103. oriented in the same way that Vfiler is.  It displays 16 files (four 
  104. rows of four) above the menu choices.  You can move the cursor around 
  105. just as in Vfiler and have the menu choices automatically act on the 
  106. file the cursor is pointing to.  In fact, you could probably create 
  107. Vfiler out of Vmenu if you wanted to.
  108.  
  109.      As with aliases, the key to Menu and Vmenu is automation.  They 
  110. make your work simpler and your computer faster by automatically 
  111. executing complicated "smart" command sequences without any mistakes or 
  112. pauses.
  113.  
  114.      [Zex]  Zex is a fancy version of CP/M's SUBMIT and XSUB combined, a 
  115. complete batch file processor.  Zex can use all the usual ZCPR3 
  116. commands, including flow commands, plus several other programs.  GOTO 
  117. will cause Zex to jump to a certain location in the batch file (just 
  118. like BASIC's GOTO) and can be used to create loops in a batch file.  And 
  119. REG lets you check, set, increment and decrement several counters in 
  120. memory so that you can, for example, keep track of how many times Zex 
  121. has gone through a particular loop.  By combining GOTO and REG with the 
  122. flow commands, you have what amounts to a simple programming language 
  123. and can build Zex batch files that are smart enough to handle almost any 
  124. occurrence.
  125.  
  126.      [Poke&Go]  Poke&Go isn't a program--it's a technique cooked up by 
  127. Bruce Morgen that shows just how much you can do with ZCPR3.  In 
  128. Poke&Go, you combine three ZCPR3 commands--GET, which loads a program 
  129. into memory but doesn't actually run it; POKE, which lets you patch any 
  130. location in memory you want; and GO, which runs the program currently 
  131. residing in memory.  The most common use of Poke&Go is to patch WordStar 
  132. on the fly.  For example, instead of having a separate copy of WS.COM 
  133. patched especially for working on manuscripts, I can have a little 2K 
  134. alias called WS-MS.COM that contains the commands [GET 100 A:WS.COM; 
  135. POKE 0366 00 0C 0A 00 40; POKE 0376 02; POKE 3CF1 C3 27 3D; GO $1].  
  136. This alias first loads the main WordStar file WS.COM into memory at 
  137. location 100 (GET 100).  Then it patches (POKE) a series of values into 
  138. memory to set WordStar the way I want it--double-spaced, no 
  139. justification, right margin 65, 10 characters per inch printing, and so 
  140. on.  And finally it runs (GO $1) the patched WordStar from memory, 
  141. substituting whatever filename I give it for the variable $1.
  142.  
  143.      Poke&Go is a very simple but powerful technique that works on any 
  144. program amenable to patching and can be used in aliases, menus, and 
  145. batch files.  The value is tremendous--if I want three differently-
  146. patched versions of WordStar, for example, I only need one copy of 
  147. WordStar and three little aliases (or menu command lines) instead of 
  148. three separate copies of WordStar.
  149.  
  150.      [More To Come]  So far, I've only told you bits and pieces about 
  151. what ZCPR3 can do.  Next time, I'll give you a tour of part of my ZCPR3 
  152. system and try to give you a feel for what it's like to use it.
  153.  
  154. Information on ZCPR3 and accompanying programs:
  155.  
  156. Echelon, Inc.                    Main Echelon/ZCPR3 bulletin board:
  157. 855 N. San Antonio Road          Z-Node Central - 415/489-9005     
  158. Los Altos, CA  94022
  159. 415/948-3820
  160.  
  161. ------------------------------------------------------------------------------
  162.       Ted Silveira is a freelance writer and contributing editor to several
  163.    computer-oriented publications.  He appreciates suggestions or feedback
  164.    and can be reached through the KAY*FOG RBBS (415)285-2687 and CompuServe
  165.    (72135,1447) or by mail to 2756 Mattison Lane, Santa Cruz, CA 95065.
  166.  
  167. -------------------------  End of CPM-CC25.ART Text  -------------------------
  168.  
  169.