home *** CD-ROM | disk | FTP | other *** search
/ Current Shareware 1994 January / SHAR194.ISO / modem / jbtutor1.zip / LESSON9.TXT < prev    next >
Text File  |  1993-09-19  |  4KB  |  81 lines

  1. Back in Lesson #6 I briefly mentioned dedicating a separate section
  2. of your scripts for variable definition.  Before I continue with the
  3. mailrun script we're developing, I'd like to expand on the importance
  4. of variables (I'll be using variables in upcoming segments).
  5.  
  6. In my opinion, user defined variables was the single most significant
  7. change Fred made to {COMMO} macro processing since the early days.
  8. I'll mention three specific advantages to variables at the end of
  9. this lesson.
  10.  
  11. When writing a script, I recommend that you never "hard code" any
  12. data into your routines.  For example, I would suggest that you not
  13. code in any drive\path info in your macro commands, e.g.,
  14.  
  15.         {EXEC dsz rz c:\mail}
  16.         {EXEC dsz sz c:\mail\bbsname.rep}
  17.  
  18. Some variables I've found useful are:
  19.  
  20.    repdir   --  the drive\directory where my mail .REP files are kept
  21.    qwkdir   --  the drive\directory where I want my new .QWKs to go
  22.    bbsid    --  the name the BBS uses for its mail packets
  23.    mainm    --  the Main Menu prompt for the BBS
  24.    mesgm    --  the Message Menu prompt for the BBS (assuming you
  25.                 can't get to the mail door from the Main Menu)
  26.    doorm    --  the Door Menu prompt for the BBS (same assumption as
  27.                 "mesgm"
  28.    zprog    --  the drive\dir\filename of the ZModem program I use
  29.    suffx    --  set to one of two values -- "null" or "|", used to
  30.                 discriminate between BBSs that have hot-keys and
  31.                 those that don't
  32.  
  33. Note:  you aren't required to use the same names I've chosen, nor do
  34. you even have to use any of the above variables at all.  Pick names
  35. and variable functions that you are comfortable with and that fill
  36. your needs.
  37.  
  38. If a variable is BBS-specific (for example, "bbsid") then I recommend
  39. setting these variables in the .FON.  This way, the variable will be
  40. automatically set to the correct value upon logon with the board to
  41. which the variable value will apply.
  42.  
  43. If a variable is global to the script (will apply to all BBSs) then
  44. you can set these in the dedicated variable definition area of your
  45. .MAC.  Some examples of "global" variables might be:  repdir, qwkdir,
  46. zprog.
  47.  
  48. To recap, the advantages of using variables instead of "hard coding"
  49. values in your scripts are:
  50.  
  51.      a.  If a BBS sysop makes any changes to his board that would
  52.          affect your script, it's quick and easy to make the
  53.          corresponding adjustments to your script..all you need to do
  54.          is edit the appropriate variable..you don't have hunt all
  55.          over your script for the macro commands needing revision.
  56.  
  57.      b.  If you ever want to change your own setup (for example, the
  58.          directory where your mail goes or the ZModem program you
  59.          use), then again it's very easy to make the change to your
  60.          script.  You don't have to make numerous changes to
  61.          different hard-coded values..thus, you don't risk missing an
  62.          edit and having your script hang on you next time.
  63.  
  64.      c.  Variables make it easier to adapt a single script to
  65.          multiple BBSs/BBSware types.  For example, it's common for
  66.          BBSs to have different Main Menu prompts, even amongst
  67.          boards using the same BBSware.  Without variables, you'd
  68.          need to account for every prompt variation in a separate
  69.          "LOOK" command.  If you use a variable for the prompt, you
  70.          can do it all with something like:
  71.  
  72.                 {LOOK %mainm}
  73.  
  74. Next up..we continue with the mailrun macro.  In the meantime, refer
  75. to your {COMMO} docs on how to set variables in your .FON.  Also,
  76. review the SETVariable command.
  77.  
  78. Jim
  79.  
  80. ... Tag-Man * COMMO #88
  81.