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

  1.  
  2. ==============================================================================
  3. [   THE KAY*FOG RBBS  |  CPM-CC11.ART  |  posted 01/18/86  |  170 lines  9k  ]
  4.  
  5.           The CP/M Connection                   Originally published in    
  6.                   by                               Computer Currents       
  7.              Ted Silveira                           2550 9th Street        
  8.   (copyright and all rights reserved)             Berkeley, CA  94710      
  9.  
  10.  
  11.                               September 10, 1985
  12.                               TOOLS FOR DBASE II
  13.  
  14.      dBase II is a small industry in itself.  It has been the cause of more 
  15. books, seminars, applications, and add-ons than any program I can think of, 
  16. except perhaps Microsoft BASIC.  In the CP/M public domain, too, you can 
  17. find many dBase II programs, ranging from the ubiquitous mailing list to a 
  18. general ledger system (and ranging in quality from very good to not so 
  19. hot).  But even better than these canned applications, the public domain 
  20. also offers a number of dBase II "tools" you can use.
  21.  
  22.  
  23. [NEWBAS11]
  24.  
  25.      NEWBAS11.ASM, by Gene Head, is an assembly language file that lets you 
  26. "patch" several useful features into dBase II.  These patches will work on 
  27. versions 2.3B, 2.4, 2.41, 2.41Z, and the current 2.43*.  (Note the asterisk 
  28. in 2.43*--versions 2.43 and 2.43Z have been dropped.)  
  29.  
  30.      Two of these patches come under the heading of timesavers.  One allows 
  31. you to skip the opening request for today's date, while the other allows 
  32. you to skip the lengthy sign-on message, except for the two-line Ashton-
  33. Tate copyright notice.
  34.  
  35.      A third patch gives dBase II a KEYIN function that allows you to check 
  36. the last key pressed on the console keyboard by PEEKing at a memory 
  37. location.  You could use this function, for example, to allow a user to 
  38. break out of a DO loop by hitting a key.
  39.  
  40.      A fourth patch makes dBase II compatible with ZCPR and other similar 
  41. CP/M modifications so that you can leave DBASE.COM and DBASEOVR.COM on 
  42. drive A while you're logged into drive B (or C or D) where your command and 
  43. data files are.  With this patch, dBase II will still be able to locate 
  44. DBASEOVR.COM when it needs to.  It won't, however, be able to locate the 
  45. help file, DBASEMSG.TXT, unless you have it on the default drive.
  46.  
  47.      The final three patches can be very useful if you're setting up a 
  48. dBase II application to be used by someone else.  The FORCE patch keeps a 
  49. user from getting to the dot prompt by forcing a warm boot if a valid 
  50. command file isn't specified at startup.  The PREDEFINED patch goes even 
  51. further by forcing the execution of a predefined command file on startup.  
  52. And the ESCAPE patch prevents a user from aborting to the dot prompt by 
  53. hitting the ESCAPE key.  (The command SET ESCAPE OFF does the same thing, 
  54. except that it doesn't take effect until after dBase II is loaded and 
  55. starting to run, leaving the system vulnerable for a short time.)  Taken 
  56. together, these patches can help you build a more secure application that 
  57. will prevent an untrained (or hostile) user from breaking out of your 
  58. program and wreaking havoc at the dot prompt.
  59.  
  60.  
  61. [DB2&3MAX.INF]
  62.  
  63.      DB2&3MAX.INF isn't a program or a patch file.  It's actually an 
  64. electronic reprint of the article "Maximizing Performance with dBase II and 
  65. III," by Alan Simpson, originally published in _Personal Systems_, put out 
  66. by the San Diego Computer Society.  
  67.  
  68.      Simpson concentrates on getting the fastest performance out of dBase 
  69. for various kinds of sorts, searches, reports, edits, and so on.  He 
  70. doesn't resort to any patching or poking of dBase itself.  Instead, he 
  71. points out that dBase often offers more than one way to perform a 
  72. particular task and goes on to compare these different ways to show which 
  73. is the fastest in a given situation.  He runs these speed comparisons on a 
  74. typical mailing list of 1000 names (MAIL), and the results are remarkable.
  75.  
  76.      To give just one example, Simpson compares times for copying all 
  77. entries for "Miller" (10 of them) from MAIL to a new file (TEMP).  The 
  78. command
  79.  
  80. USE MAIL INDEX NAMES
  81. COPY TO TEMP FOR LNAME = "Miller"
  82.  
  83. took 200.6 seconds.  But the command
  84.  
  85. USE MAIL INDEX NAMES
  86. FIND Miller
  87. COPY TO TEMP WHILE LNAME = "Miller"
  88.  
  89. took only 18.7 seconds, less than one-tenth the time.
  90.  
  91.      If you haven't already discovered such tricks yourself, this file 
  92. makes interesting reading.
  93.  
  94.  
  95. [DTUNE23]
  96.  
  97.      DTUNE23, by James Gronek, is a sort of file processor you can use to 
  98. "tune" your dBase II command files.  Its main function is to reduce the 
  99. size of the CMD file by removing all comment lines and trimming all dBase 
  100. II reserved words to four letters (that's all dBase II needs to see).  This 
  101. processing does shrink your files noticeably (I used it to reduce one 
  102. heavily commented file from 14K to 4K).  As a side benefit, the smaller 
  103. file should run at least a little faster since dBase II won't have to spend 
  104. as much time reading it.  In this process, DTUNE23 does not destroy your 
  105. old command file (with its valuable comments); it just renames it from 
  106. filename.CMD to filename.SRC.
  107.  
  108.      DTUNE23 does some other useful things, too.  It can produce a 
  109. structured version of either the original source file or the new trimmed 
  110. file.  (Structured files are indented to set off program loops, making the 
  111. file much easier to read, especially if it has nested loops.)  DTUNE23 can 
  112. also produce a line-numbered version of the source file together with a 
  113. cross-reference file that lists the occurrences of all non-reserved words 
  114. used.
  115.  
  116.  
  117. [VDBTYPE]
  118.  
  119.      Though not everyone knows it, it's possible to add functions to dBase 
  120. II through assembly language routines.  VDBTYPE.ASM, by Norman Strassner, 
  121. is an assembly language file that adds a neat file-viewing function to 
  122. dBase II.  With it, you can view a normal text file, a squeezed text file, 
  123. or even a squeezed text file inside a library (LBR) file--all without ever 
  124. leaving dBase II.  
  125.  
  126.      It's handy enough to be able to scan a file on your disk (a DOC file, 
  127. for example) without having to exit dBase II, but VDBTYPE has greater 
  128. possibilities.  You could, for example, create a dBase II application, and 
  129. then work up a dozen or more help files to go along with it.  If you 
  130. include VDBTYPE in your application, you could squeeze all the help files 
  131. and store them in a single library file (saving considerable disk space) 
  132. yet still give users quick access to them when needed.
  133.  
  134.      To use VDBTYPE, you must turn the ASM file into a HEX file (using 
  135. CP/M's ASM.COM or the public domain LASM.COM).  Once dBase II is running, 
  136. you use the LOAD command to get the HEX file into memory and the SET CALL 
  137. command to let dBase II know where VDBTYPE is.  The only thing you may need 
  138. to alter in the assembly language source file is the memory address at 
  139. which VDBTYPE will load (it comes set to load at the lowest possible 
  140. address, 41984 or A400h).  Once loaded, VDBTYPE will coexist happily with 
  141. dBase II, which doesn't normally use any memory above 41984.  If you do any 
  142. sorts, however, VDBTYPE will be wiped out, and you'll have to reload it 
  143. after the sort is complete.
  144.  
  145.  
  146. [WHERE TO FIND IT]
  147.  
  148.      If you have a modem, you can find these files on most major RCP/M 
  149. (Remote CP/M) systems.  If you don't have a modem, and your local users' 
  150. group doesn't have the files you want, you now have another option--FOG.
  151.  
  152.      FOG is the First Osborne Group, a large and active users' group that 
  153. now supports various CP/M computers--Morrow, Kaypro, and others.  This 
  154. week, I'm going to send off a batch of public domain software for FOG to 
  155. include in its library, and from now on, I'll try to make sure they have 
  156. the public domain programs I write about.  Between us, we should be able to 
  157. cover 90-95% of them.  (Be patient--it takes time to catalog this stuff.)  
  158. FOG dues are $24 per year, and you can mail-order disks from their library.  
  159. You can reach FOG at
  160.  
  161.      FOG
  162.      P.O. Box 3474
  163.      Daly City, CA 94015-0474
  164.  
  165. ------------------------------------------------------------------------------
  166.       Ted Silveira is a freelance writer and contributing editor to several
  167.    computer-oriented publications.  He appreciates suggestions or feedback
  168.    and can be reached through the KAY*FOG RBBS (415)285-2687 and CompuServe
  169.    (72135,1447) or by mail to 2756 Mattison Lane, Santa Cruz, CA 95065.
  170.  
  171. -------------------------  End of CPM-CC11.ART Text  -------------------------
  172.  
  173.