home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 16 / 16.iso / t / t272 / 1.img / TMES30.DOC < prev    next >
Encoding:
Text File  |  1993-11-05  |  34.8 KB  |  815 lines

  1.                 TMES 3.0
  2.                 The Master Environment Set
  3.                 Copyright 1992, 1993 by Tee Roper
  4.                 All Rights Reserved
  5.  
  6.         Price
  7.         ~~~~~
  8.         Licensed as FREEWARE for individual use, however, all
  9.         Corporations and Institutions must Register their use for $50.
  10.  
  11.         WHAT DOES TMES DO?
  12.         ~~~~~~~~~~~~~~~~~~
  13.         TMES sets environment variables using current system values.
  14.         You should use TMES in BATCH files - most of the time.
  15.  
  16.                 This Version has Forty (40) Functions.
  17.  
  18.         DISCLAIMER: Tee Roper cannot be held responsible for TMES'
  19.         improper use.  TMES is a tool that only a Computer Programmer
  20.         or Professional should use.  TMES may have bugs (...but, I
  21.         hope not...) and future versions WILL BE MADE to correct any
  22.         bugs made known to me AND to add new features to it. It is up
  23.         to you to see if TMES will suit your needs and work correctly
  24.         in your PC "system."  I hope that it will.  Try it out.
  25.         
  26.         Let's get more of the legal stuff out in the open.  TMES is
  27.         copyrighted software.  It is offered to you as Shareware.
  28.         Shareware allows you to try it before you buy it.  If you use
  29.         it you have to pay for it just like you would have to if you
  30.         had bought a commercial software, shrink-wrapped package.  The
  31.         difference is that the Shareware method allows distribution
  32.         legally by copying first and then paying for it.  You don't
  33.         get stuck if it doesn't work for you like you want!
  34.  
  35.         GOOD NEWS if you use TMES at home for personal use.
  36.         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  37.         If you are using TMES for personal use at home, not at your
  38.         business office, then the registration fee is waived.  That
  39.         means it's free if you use it at home in a non-commercial way.
  40.         You don't have to register TMES if you are using it ONLY at
  41.         your home AND for non-commercial use.
  42.  
  43.         WHAT'S THE CATCH?  HOW DO I MAKE ANY MONEY LIKE THAT?
  44.         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  45.         If you are using TMES at work (which I hope TMES will help
  46.         there) then there is a registration fee which will register
  47.         your entire company for TMES use on every machine for one low
  48.         price.  The registration fee for corporations, businesses,
  49.         schools, universities, hospitals, and all Local, State, and
  50.         Federal Governmental institutions is only $50.  Fill out the
  51.         registration file after you print it, then send it with your
  52.         company's check for $50 to make it legal.  I will send you the
  53.         latest version and a printed, and signed license so you can
  54.         show the software auditors and lawyers at your business site.
  55.  
  56.         You cannot use TMES at work without registering it.  Oh, I
  57.         know you are ABLE, it's just not LEGAL since it's copyrighted
  58.         material and I'm explaining the copyright to you now.
  59.  
  60.         A site license enables you to use TMES on any and all
  61.         computers that you want to use it on - at your business
  62.         address on the check or business envelope.  That makes it easy
  63.         for you and easy for me.  I will keep on file the name of the
  64.         individual at the company which will be given support by CIS,
  65.         or by US mail (letters).  I cannot provide phone support
  66.         because I have an "8 to 5" job myself. I will provide support
  67.         to only ONE computer professional at your company.
  68.  
  69.         If your company likes to use PURCHASE ORDERS, you can send me
  70.         one and I will send you everything except the signed agreement
  71.         for the site license.  When your Accounts Payable section
  72.         sends me the check, I'll remit your license that makes it all
  73.         legal.  Fair enough?  If you have special arrangements, write
  74.         me and we'll figure it out.  I'll be happy to work with you.
  75.  
  76.         TMES has been made as FREEWARE for your testing purposes as to
  77.         its suitablilty, therefore you take all the responsibility for
  78.         its use and I will not be held liable for its improper use.
  79.         Make sure that TMES is useful to you and that you know how to
  80.         use it on a computer.  It is NOT a program for the beginner.
  81.         Its highest use is among batch file programmers.
  82.  
  83.         You can supply the whole TMES package if you want to use it in
  84.         a shareware package that you are selling to others.  You can
  85.         supply TMES in a commercial package that you are selling to
  86.         others.  You do NOT have to be a registered user to supply
  87.         TMES in your own package, but you must supply the whole
  88.         package (as a ZIP file) even if you have a separate copy of
  89.         TMES.EXE for instant use in your batch file that you're
  90.         selling or offering.  That's a pretty liberal policy.
  91.  
  92.         You must include the whole TMES package which includes the
  93.         following four, 4, files (ZIP them or ARJ them or LHA them):
  94.  
  95.         TMES.EXE      (the main file to run)
  96.         TMES.DOC      (this DOCumentation, maybe with version # in it)
  97.         TMES.REG      (REGistration form for a Site license)
  98.         TMESDEMO.EXE  (Some TMES DEMO Batch files, self extracting)
  99.  
  100.         What is TMES?
  101.         ~~~~~~~~~~~~~~
  102.         TMES was developed to set MASTER ENVIRONMENT VARIABLES to
  103.         different values so that batch file programming can be more
  104.         flexible and powerful to use.  This is one that DOS forgot.
  105.  
  106.         TMES will give a lot of power that you need for use with BATCH
  107.         files.  With TMES, you can INPUT strings and use them in a
  108.         BATCH file like in any other programming language, for
  109.         instance.  There are FORTY (40) functions for you to use.
  110.  
  111.         You can use any environment variable, called JJ for example,
  112.         in your batch file by using "percents" around it, as %JJ%.
  113.  
  114.         Naturally, if your environment is not large enough, TMES will
  115.         not work because there is no room to SET any variables to use.
  116.         Normally, you will have enough room to SET a few Variables to
  117.         use. If you want to use a lot of Environment Variables now
  118.         that TMES makes it easy, then check out your DOS manual to see
  119.         how to increase your Environment Space.  I use 1000 bytes for
  120.         instance.  You probably will want a LOT, now that TMES exists.
  121.  
  122.         *****************************************************************
  123.         Try this right now before you read anymore.  Use an editor or use
  124.         COPY CON TRYTHIS.BAT to make this file.  Then run it.
  125.  
  126.         Echo off
  127.         TMES F /Free
  128.         TMES D /Drv
  129.         echo You have %F% bytes free on drive %D%:
  130.  
  131.         It should say this when you run the BATCH program:
  132.         "You have 156433 bytes free on drive A:"
  133.  
  134.         (only if you have that many bytes free of course!)
  135.  
  136.         That's real Batch file programming, isn't it?  Easy to use.
  137.         ...and it's easier than writing and compiling a small "C" utility.
  138.         *****************************************************************
  139.  
  140.         WILL IT WORK with my DOS version?
  141.         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  142.         Run the DEMO program named TMESDEM1.BAT supplied for you as
  143.         one of the programs in the little "TMESDEMO.EXE" package.
  144.         It will self-extract when you run it.  The DEMOs are inside.
  145.  
  146.         You can then study how the DEMOs work and they should give
  147.         you ideas on the power you have using TMES in BATCH files.
  148.  
  149.         TMES works in DOS versions through 6.0, and has been tested in a
  150.         WINDOWS 3.1 environment, and the DOS box of OS/2v2 and also in
  151.         a NETWARE 3.11 environment.  It's written in Borland's C++ and
  152.         Assembly, FYI.
  153.  
  154.         Assume here, just for a minute, that it's June 18th, 1992 at
  155.         11:45pm at night.  With TMES you can, both, Name and Set
  156.         environment variables to one of the following values: the
  157.         Year, 92; and then the Month, 06; and the Day of the month,
  158.         18; then the Hour, like 23; and finally the Minute, like 45.
  159.  
  160.         But first, let's do something simple to understand.
  161.  
  162.         Try to run TMES by itself and you get a cheat sheet.  
  163.         Like this:
  164.  
  165.         A:\>TMES
  166.  
  167.         How do you use one of the switches?
  168.         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  169.         Here's how you would set a Variable named, let's say, DD to be
  170.         the System Date's Day of the month (now, pretend it's December
  171.         25th, 1992)
  172.  
  173.         TMES DD=/DOM
  174.  
  175.         If you type SET at the DOS prompt you will see that the
  176.         variable called DD is now set to the number 25 (pretend it's
  177.         Christmas, remember?)
  178.  
  179.         This is what you would see in DOS if you did a SET command:
  180.         DD=25
  181.  
  182.         If you referred to %DD% in a BATCH file, it would be worth
  183.         the string value "25" - are you getting ideas?
  184.  
  185.         The "/DOM" switch told TMES to set DD = to that value 25.
  186.  
  187.         How do I use it to backup a file named NAMES.DBF daily?
  188.  
  189.         Create a batch file like this:  I will call it: BU-DBF.BAT
  190.         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ==========
  191.         Here's what's in it:
  192.  
  193.         TMES DD=/DOM
  194.         : this sets DD to be the day of the month like 25
  195.         COPY C:\DBF\NAMES.DBF C:\DBF\NAMES%DD%.DBF
  196.         : this just does a plain vanilla COPY "from" "to"
  197.  
  198.         Here's what happens:  When you run your BAT file (ie the
  199.         BU-DBF.BAT) it sets the variable DD to be the DATE (ie 25).
  200.         That's the first line of the Batch file.  The switch "/DOM" is
  201.         special because it tells TMES to find the day of the month
  202.         from the system date.  (It was December 25th, remember?)
  203.  
  204.         Then it copies the NAMES.DBF file to be backed up to be a new file
  205.         called NAMES25.DBF because the %DD% is really a "25" to DOS.
  206.  
  207.         Again, the NAMES%DD%.DBF becomes NAMES25.DBF
  208.                         ~~~~                  ~~
  209.         IMPORTANT!
  210.         This is a pretty neat way of saving SERIALIZED backups of files
  211.         without having to name the things each time by 'hand'.  One
  212.         simple BATCH file "changes" each day for you when you run it.
  213.  
  214.         Each day that you run BU-DBF.BAT, you get a new file name.
  215.         Tomorrow, you would get NAMES26.DBF, then on the next day, 
  216.         the 27th, you would get NAMES27.DBF, etc.
  217.  
  218.         The only limit is your imagination.  TMES is powerful!
  219.  
  220.         Let's get Complicated...
  221.         ~~~~~~~~~~~~~~~~~~~~~~~~
  222.         Here's using four more of the special switches in BU-DBF.BAT:
  223.  
  224.         Notice that the "=" mark is optional, thus
  225.         TMES  Y=/YEAR2
  226.         and
  227.         TMES  Y /YEAR2
  228.         mean absolutely the same thing.  Use the equals mark if you want
  229.         to use it for clarity and understanding.  The equals mark is
  230.         ignored anywhere on the command line.  "Y" would be equal to
  231.         "92" if it were the year 1992 in your system date.
  232.  
  233.         Again.... the equals mark is optional for you to use!!!!!!!
  234.         So, these next examples do NOT have the equals mark.  I'm lazy.
  235.  
  236.         TMES  Y /YEAR2
  237.         TMES  M /MONTH
  238.         TMES  D /DOM
  239.         TMES  H /HOUR
  240.         :then
  241.         COPY  C:\DBF\NAMES.DBF C:\BAR\NA%Y%%M%%D%.%H%
  242.                                          ~  ~  ~   ~
  243.         %Y% would be equal to the value 92 (ie it's 1992)
  244.         %M% would be equal to 12 (ie it's December)
  245.         %D% would be equal to 28 (the date, ie the 28th of December)
  246.         and %H% would be equal to 23 (ie at 11pm)
  247.  
  248.         If it were December 28th 1992, at 11:33pm, then this is what
  249.         you would get for the file name (11pm is 23 in military time):
  250.             __   __
  251.         NA921228.23
  252.           ~~  ~~
  253.                         __                              __
  254.         92 is the year, 12 is the month, 28 is the day, 23 is the hour.
  255.         ~~                               ~~
  256.  
  257.         ARE THERE MORE SWITCHES?
  258.         ~~~~~~~~~~~~~~~~~~~~~~~~
  259.         Yes, to see them simply type TMES without any command line
  260.         parameters.  Some of my favorites are /INPUTUP which allows
  261.         a word (it's Capitalized for you) to be input and then immediately
  262.         used in your batch file.  Hooray! No more difficult ERROR CODES to
  263.         remember or ASCII codes to translate.  Here's how to use it to
  264.         input a character and use it in your batch file.
  265.  
  266.         This batch file is called MY_MENU.BAT.  Look at it, here.
  267.  
  268.         :start
  269.         ECHO OFF
  270.         CLS
  271.         ECHO         My MENU
  272.         ECHO         ~~ ~~~~
  273.         ECHO   A - SpreadSheet
  274.         ECHO   B - DataBase
  275.         ECHO   C - Word Processing
  276.         ECHO   D - Communications
  277.         ECHO   X - eXit Menu
  278.         ECHO   ________________________
  279.         ECHO   enter your choice
  280.         :
  281.         TMES ANS /inputUP
  282.         : the above line gets an INPUT letter to use in the next lines
  283.         if '%ANS%'=='' goto start
  284.         :
  285.         goto %ANS%
  286.         goto start
  287.         :
  288.         :A
  289.         cd\SprSheet
  290.         1233
  291.         goto start
  292.         :
  293.         :B
  294.         cd\DB
  295.         DeeBASE
  296.         goto start
  297.         :
  298.         :C
  299.         cd\WP51
  300.         WurdPreference
  301.         goto start
  302.         :
  303.         :D
  304.         cd\COMM
  305.         prucom243
  306.         goto start
  307.         :
  308.         :ennd
  309.         : this menu is just the beginning of TMES uses
  310.  
  311.         Notice how TMES allows easy to understand BATCH file to be
  312.         written since those ErrorLevel Codes are cryptic and often
  313.         difficult to remember.
  314.  
  315.         ANOTHER GOOD USE
  316.         ~~~~~~~~~~~~~~~~
  317.         If you send a filespec to TMES, it will parse it and set each
  318.         section of it to a separate VAR for you to use.  You supply
  319.         the "base" variable name, such as Z below.
  320.  
  321.         such as this long example:
  322.  
  323.         TMES  Z  /parse  Z:\DBF\TEETEST.DBF
  324.  
  325.         Z:\DBF\TEETEST.DBF might be represented by %1 in a batch file
  326.                             like TMES Z /parse %1
  327.  
  328.  
  329.         TMES Produces four Master ENVIRONMENT Vars for use to use
  330.              which are Z plus an added "D or P or N or E" as below.
  331.  
  332.         %ZD%
  333.         %ZP%
  334.         %ZN%
  335.         %ZE%
  336.  
  337.         such that parsing "Z:\DBF\TEETEST.DBF" we get
  338.  
  339.         %ZD% is the DRIVE     from the filespec, or equal to Z
  340.         %ZP% is the PATH      from the filespec, or equal to \DBF
  341.         %ZN% is the NAME      from the filespec, or equal to TEETEST
  342.         %ZE% is the EXTENSION from the filespec, or equal to DBF
  343.  
  344.         Note that the "dot" between the filename and the extension
  345.         gets lost on purpose.  You can add it later - only if you want
  346.         to use it.  The colon of the drive is missing , too.
  347.  
  348.         This should be very valuable for those of you who write batch
  349.         files to copy files, move files, etc.
  350.  
  351.         then you could use the parsed parts like this:
  352.  
  353.         COPY   %1  f:\backup\%ZN%.%ZE%
  354.                                  |
  355.                                   this is the dot to add back between
  356.                                        the original filename and extension
  357.                                    %ZN% is  TEETEST
  358.                                    %ZE% is  DBF
  359.  
  360.         so the above really means this, to DOS:
  361.  
  362.         COPY  Z:\DBF\TEETEST.DBF  F:\BACKUP\TEETEST.DBF
  363.  
  364.         It takes the filename and extension out of %1 and uses it in
  365.         the destination path F:\BACKUP\TEETEST.DBF
  366.  
  367.         Some of the variables set will take the number of minutes in
  368.         an hour and change the digits to a single letter so you can
  369.         use it in a filename.  Thus, the 60 minutes, 0,1,2,3,4...58,
  370.         and 59, get converted to alphanumerics.  They will be ASCII
  371.         sortable, that is, the numbers before any alphabetical
  372.         characters.
  373.  
  374.         You can erase several TMES or regular Master Envirnment Variables
  375.         by issuing one command TMES DEL JJ DD xxx yyy Zz
  376.                             or TMES DEL ZD ZP ZN ZE
  377.         
  378.         ==================================================================
  379.         
  380.         Here are some more examples of how to use TMES properly.
  381.         Use these as examples to get you started.
  382.  
  383.           using the function to get the environment size
  384.               such as
  385.                            TMES JJ /esize
  386.          
  387.           or for Boolean Functions like /eq, /ne, etc.
  388.          
  389.           TMES VariableNAME function value resultINTOthisVAR
  390.               such as
  391.  
  392.                 TMES DSK /eq 362496 ISEQUL
  393.  
  394.           or for Math Functions like /add, /mod, etc
  395.  
  396.          TMES VariableNAME /function value 
  397.               such as
  398.                 TMES X /add 100 
  399.  
  400.          TMES DD /DOW
  401.           or
  402.          TMES DD 4
  403.  
  404.          For purposes of illustration, pretend it's Christmas day 
  405.          during the year 1993 for these examples, 12/25/1993
  406.  
  407.          Here's a chart of Switches you can use.  The Switches are
  408.          on the left of the chart and the explanation is on the right.
  409.  
  410.          ========== ==================================================
  411.          /SWITCHES  DESCRIPTION OF WHAT IT PRODUCES.
  412.                     EXAMPLE
  413.                     VALUE placed in the Environment from example
  414.          ========== ==================================================
  415.  
  416.          /365       produces the day of the year, 1 to 366 if it's a leap year
  417.                     TMES DD /365
  418.                     359
  419.  
  420.          /DATE      produces the /DATE as environment variable
  421.                     It's in "YearMonthDay" in case you must Sort later.
  422.                     TMES DD /date
  423.                     931225
  424.  
  425.          /DOW       produces the day of the week (Sunday=0, Monday=1,
  426.                     Tuesday=2, etc.,... to Saturday=6)  Thursday=4 here.
  427.                     TMES DWK /dow
  428.                     4
  429.  
  430.          /DOM       produces the day of the month.  Here, it's 25
  431.                     TMES DMNTH /dom
  432.                     25
  433.  
  434.          /DEC       DECrements the value of the environment variable DD by 1
  435.                     TMES DD /dec
  436.                     24
  437.  
  438.          /DEL       deletes variables all at once so you don't have to
  439.                     use the "DOS SET="  on many lines.  Let TMES delete them
  440.                     all on one line for you - and all at one time.
  441.                     TMES /DEL DD JJ KKKK UU YAG
  442.  
  443.          /DRV       finds the current drive and makes that equal to the
  444.                     Variable used.  Here we're on drive C: (with no colon!)
  445.                     TMES KK /drv
  446.                     C
  447.  
  448.          /ESIZE     shows the total environment size currently available.
  449.                     TMES DD /esize
  450.  
  451.          /ELEFT     shows environment size left prior to this variable
  452.                     being set (as the variable DD below)
  453.                     TMES DD /elen
  454.  
  455.          /ELEN      shows the amount of environment space used prior to this
  456.                     variable being set.  See above.
  457.  
  458.          /FREE      assigns the free space (in bytes) on the disk in the
  459.                     current drive.  (There's 555K on this one.)
  460.                     Then use the boolean switch to check the value.
  461.                     TMES FF /free
  462.                     555308
  463.  
  464.          /INC       INCrements the variable used.  For instance, the variable
  465.                     named DD was 24, then we perform the /inc switch and
  466.                     it increments the 24 to 25 for you.  It adds +1.
  467.                     TMES DD /inc
  468.                     25
  469.  
  470.                     (See also, /dec, for a contrasting function which
  471.                      decrements or decreases a value by 1.)
  472.  
  473.          /INPUT     allows input (up to 128 characters) from the keyboard and
  474.                     makes the Environment assignment without Uppercasing
  475.                     anything.  Spaces ARE allowed.  See /INPUT below, also.
  476.                     TMES X /input
  477.                     whatever you type will NOT be changed to UpperCase.
  478.  
  479.          /INPUTUP   allows input (same as above) except the string
  480.                     typed in is UPPERCASED so you don't have to check
  481.                     but for ONE CASE in your batch file.  Spaces ARE
  482.                     allowed so be careful.
  483.  
  484.          /MONTH     the month number becomes a variable.  December = 12.
  485.                     TMES M /month
  486.                     12
  487.  
  488.          /PARSE FILESPEC
  489.  
  490.                     This /switch is different.  It takes two parts:
  491.                     i.e., (1)-the switch AND (2)-the filespec that
  492.                     follows the switch.
  493.  
  494.                     It takes the FILESPEC you give it and parses it and
  495.                     returns the pieces as this:
  496.                     (notice that * represents the variable like the
  497.                     "X" in the example below)
  498.  
  499.                     *D = drive  (no colon)
  500.                     *P = path   (no trailing slash)
  501.                     *N = filename
  502.                     *E = extension
  503.  
  504.                     where "*" is the variable you give it, such as X in this
  505.                     example of using C:\ACCTG\MYNAMES.DBF
  506.  
  507.                     Take a look how this one is done for you.....
  508.  
  509.                     TMES X /parse C:\ACCTG\MYNAMES.DBF
  510.  
  511.                     which makes these four variables for you to use:
  512.                     equivalence                   what it means
  513.                     =======================    =========================
  514.                     XD = C                       (XD is the Drive)
  515.                     XP = \ACCTG                  (XP is the Path)
  516.                     XN = MYNAMES                 (XN is the Filename)
  517.                     XE = DBF                     (XE is the Extension)
  518.  
  519.                     notice that the dot, (the period,) which was
  520.                     between the filename and the extension is now
  521.                     LOST.  You can add it later in your batch file if
  522.                     you need to.  Also, the colon with the drive is
  523.                     stripped for your use. It's easy enough to add it
  524.                     back if you need to.
  525.  
  526.          /RAND      the hundreths portion of the system clock's seconds.
  527.                     These numbers run from 00 to 99.
  528.                     TMES C /rand
  529.  
  530.                     This is NOT really a random number generator but
  531.                     since you can't predict when you press a key
  532.                     within any one second, it's pretty good and easy.
  533.  
  534.          The next set of functions deals with Boolean Functions
  535.          They all begin with the slash like /eq for instance.
  536.  
  537.          Syntax: TMES existingVAR /booleanFunc Value resultVAR
  538.  
  539.          IMPORTANT!!  existingVAR is a variable as seen in the Environment
  540.                       existingVAR is not surrounded by %'s; hardly ever!
  541.          IMPORTANT!!  The Value is an actual NUMBER, not a variable
  542.          IMPORTANT!!  The resultVAR is a variable which will be created
  543.                           and will contain a 0 or a 1, 1=true, 0=false
  544.  
  545.              example: TMES DD /eq 4 JJ
  546.          which means: if DD = 4 then JJ is set to 1, else JJ is set to 0
  547.  
  548.              example: TMES CLASSSIZE /LE 30 TRUEFALSE
  549.          which means: if Classsize <= 30 then TRUEFALSE = 1
  550.                                          else TRUEFALSE = 0
  551.  
  552.          You need to be able to check whether a variable in the
  553.          environment is greater than, less than, or equal to a value.
  554.  
  555.          /LT  If the existingVAR is less than the Value, the resultVAR is set
  556.               to 1 else the resultVAR is set to 0
  557.  
  558.          /GT  If the existingVAR is greater than the Value, the resultVAR is
  559.               set to 1 else the resultVAR is set to 0
  560.  
  561.          /LE  If the existingVAR is less than or equal to the Value, the
  562.               resultVAR is set to 1 else the resultVAR is set to 0
  563.  
  564.          /GE  If the existingVAR is greater than or equal to the Value, the
  565.               resultVAR is set to 1 else the resultVAR is set to 0
  566.  
  567.          /EQ  If the existingVAR is equal to the Value, the resultVAR is set
  568.               to 1 else the resultVAR is set to 0
  569.  
  570.          /NE  If the existingVAR is not equal to the Value, the resultVAR is
  571.               set to 1 else the resultVAR is set to 0
  572.  
  573.          The next set of functions do integer math on a variable and place
  574.          the results into the SAME VARIABLE.  That way you can even have
  575.          counters, totals, etc.  They all begin with the slash, also.
  576.  
  577.          If you expect to use the original value AFTER you perform
  578.          math on it, you MUST save it BEFORE you change its value!
  579.  
  580.          Syntax: TMES var /mathfunc value
  581.                       ~~~           ~~~~~
  582.          IMPORTANT!! var is the VARiable as seen in the Environment.
  583.                      ~~~
  584.          IMPORTANT!! It does NOT take %'s around it, like %var%, hardly ever!
  585.  
  586.          IMPORTANT!! The Value must be a number that you are comparing to
  587.                      such as 256 or 360000 or %NUM%, etc.
  588.  
  589.  
  590.             example: TMES DD /add 5
  591.         which means: add 5 to the variable DD.
  592.                      if DD does not exist, then DD=5 (ie, DD = 0 + 5)
  593.  
  594.  
  595.          /ADD  Adds value to var.
  596.                example (if NUM were set to 77 already)
  597.                TMES NUM /add 11
  598.                results in NUM having a value of 77+11 or 88 afterwards
  599.  
  600.          /DIV  Divides var by value. Result is an integer.  Look!
  601.                Here's some integer math
  602.                21/2 = 10
  603.                22/2 = 11
  604.                55/2 = 27
  605.  
  606.                example (if MM had a value of 33)
  607.                TMES MM /div 2
  608.                results in MM having a value of 16 afterwards.
  609.  
  610.          /MOD  Yields the Remainder after dividing var by a value.
  611.                Here's some modulo math:
  612.                21 mod 2 = 1
  613.                21 mod 3 = 0
  614.                21 mod 6 = 3
  615.                21 mod 8 = 5
  616.  
  617.                example (if UU had a value of 10)
  618.                TMES UU /mod 3
  619.                results in UU having a value of 1 afterwards
  620.  
  621.                (save the value beforehand if you need it later)
  622.  
  623.          /MUL  Multiplies var by value.
  624.                If WW had a value of 56
  625.                then
  626.                TMES WW /mul 3
  627.                results in WW having a value of 168 afterwards
  628.  
  629.          /SUB  Subtracts value from var.
  630.                If PPP had a value of 50
  631.                then
  632.                TMES PPP /sub 6
  633.                results in PPP having a value of 44 afterwards
  634.  
  635.          The next set of functions deal with TIME and DATE of the PC.
  636.  
  637.          Assume in this example, that it's 1:44pm in the afternoon,
  638.          which is 13:44 in MILITARY TIME.  Actaully it's 56 seconds
  639.          after 1:44pm and it's almost 57 seconds after 1:44pm (ie
  640.          actually 56.88 seconds, which is pretty close to 57.)
  641.  
  642.          /TIME      assigns the military time 13:44 to a variable
  643.                     TMES Q /time
  644.                     1344
  645.  
  646.  
  647.          /THOUR     assigns the hour of the time, the 1pm part (13:)
  648.                     TMES Z /thour
  649.                     13
  650.  
  651.                     if you need AM and PM, check to see if value
  652.                     is /GT 12 and if it is then subtract 12, so that a
  653.                     value like 13 would yield 1 for 1PM.
  654.  
  655.          /TMIN      assigns the minute of the time, the 44 part
  656.                     TMES P /tmin
  657.                     44
  658.  
  659.          /TSEC      assigns the seconds of the time, the 56 part
  660.                     TMES U /tsec
  661.                     56
  662.  
  663.          /THUN      assigns the 100ths of the second of the time, the .88
  664.                     TMES W /thun
  665.                     88
  666.  
  667.                     It must be noted here that "/tHUN" COULD be used as
  668.                     a "poor man's" random number generator if you needed
  669.                     numbers from 00 to 99 since it is unlikely you could
  670.                     press a key precisely enough using the keyboard to stop
  671.                     the PC's internal timer on the same "hundreth" of a
  672.                     second at any particular time of day.
  673.  
  674.          /YEAR2     assigns the year as a two digit year. as in 1993
  675.                     TMES R /year2
  676.                     93
  677.  
  678.          /YEAR4     assigns the year as a four digit year, as in 1993
  679.                     TMES N /year4
  680.                     1993
  681.  
  682.           These next set of functions also deal with TIME and DATE but they 
  683.           return the value in a single character suitable for including in a
  684.           filename (ie correct sorting order via ASCII codes).
  685.  
  686.  
  687.           /D    converts the day of the month (ie 1 to 31) to a single
  688.                 character.  Mainly used in naming source files so versions
  689.                 can be kept day to day.
  690.  
  691.           /M    converts the month of the year (ie 1 to 12) to a single
  692.                 character.  Mainly used in naming source files so versions
  693.                 can be kept day to day.
  694.  
  695.           /TH   converts the hour of the day (ie 0 to 23) to a single
  696.                 character.   See reasons above.
  697.  
  698.           /TM   converts the minutes of the hour (ie 0 to 59) to a single
  699.                 character.  This value of 0 to 59 is divided by 2 and then
  700.                 made into an integer.  The results will be in the range of
  701.                 0 to 29 which means it's only accurate to save source files
  702.                 using this trick every two minutes of the day.  But then
  703.                 again, how many source files are made that close together?
  704.  
  705.           /TS   converts the seconds of the time as above (0 to 59 are
  706.                 changed into 0 to 29)  The same reasons are appropriate as
  707.                 the above reasons for /tm
  708.  
  709.           The CODES are sorted in ASCII fashion so that sorts will be
  710.           made correctly if used in filenames.  The problem is evident
  711.           when you think of 60 minutes in an hour and when the number
  712.           24 is needed (because it's 3:24pm, or so.)  The minutes
  713.           portion of the number is first divided by 2 and then made
  714.           into an integer so that 12 is obtained. Incidentally, the
  715.           time 3:25pm (ie 25) will return the same value - which means
  716.           that minutes of the hour are accurate to ONLY the lowest
  717.           integer value that can be obtained.  A "59" yields "29", etc.
  718.  
  719.           Hopefully, you won't have backups or sources that close in
  720.           time to each other.  If you do, then don't use this Coded
  721.           Value Function, use the real minutes as above (ie /min).
  722.  
  723.           If the number of minutes was 12, then TMES uses the 12th
  724.           character which is "B" in this string of 31 values:
  725.  
  726.           Thirty-one, 31, is the maximum number to be coded by TMES.
  727.  
  728.           0123456789ABCDEFGHIJKLMNOPQRSTU
  729.                    * |       *         *|
  730.           1       10 |      20        30|   there are 31 values here
  731.                     12                  31
  732.           Stars are located at the 10's places just in this illustration.
  733.           The 12th position is a "B", while the 31st position is the "U".
  734.  
  735.           If you are a programmer, having "A" for the eleventh item seems
  736.           wrong because "A" in HEX is decimal "10," not "11" - However,
  737.           the zero must reside as the first character to take care of "0"
  738.           values.  These numbers are in ASCII order so that they can be
  739.           used in file names and they will "stay Sorted" for you.
  740.  
  741.           For the days in a month like the 24th of July, the actual 24th
  742.           character will be used, which is "N"
  743.  
  744.           Only with SECONDS and MINUTES will be number value will be
  745.           divided by 2 so that a number less than 30 can be obtained.
  746.           Thus, 0/2 = 0.  And 1/2 = 0.  While 2/2 = 1, etc. etc.
  747.  
  748.           If you have other needs or ideas for TMES to try, send them
  749.           in and wait for the next version.  Thanks for trying TMES.
  750.           I hope you like it enough to use it in your office at work.
  751.           TMES is FREEWARE for individual use.  Registration is required
  752.           ONLY for institutions and businesses, not home use.  Thanks. 
  753.  
  754.         Do you need something that TMES needs to do?  Have Ideas?  Great!
  755.  
  756.         Send them to me and I will include the good ones in the next
  757.         version.  Send a SASE if you want a response from me.
  758.  
  759.         The Latest, Unregistered Upgrades are always available to
  760.         anybody unregistered (ie the vast masses) for the cost of $10,
  761.         which covers the postage for mailing and a diskette and my
  762.         lunch - currently only $10 - send a check or Money Order.
  763.         No cash will be accepted.  It tends to get "lost" in the mail.
  764.  
  765.         You will get a 3.5" disk if you don't specify differently.
  766.         I'l also include some other programs of mine on it for you.
  767.  
  768.       *****************************************************************
  769.         Registered owners will be NOTIFIED BY MAIL EACH TIME a new
  770.         version is developed, even if it's a minor version.  You can
  771.         THEN order the new version for a fraction of the cost.
  772.  
  773.                           ****** IMPORTANT ******
  774.  
  775.         Registered Owners get the latest version, always NEWER than
  776.         any version which is released via the FREEWARE and SHAREWARE
  777.         route, ie BBS, Mail order, Compuserve, etc., etc.
  778.         
  779.         The Registered Version will not ever be allowed to be Shareware
  780.         and it will never be put on a BBS legally.  Please do not do so.
  781.         
  782.         If you have "stumbled across" the Registered Version, please
  783.         do not continue to use it against my copyright.  Thanks.
  784.       *****************************************************************
  785.  
  786.         TMES is FREEWARE, which means that no registration is necessary
  787.         for an individual's use at home...
  788.  
  789.         ...but, (and a big-g-g but)
  790.  
  791.         TMES is SHAREWARE with a registration fee REQUIRED for use in
  792.         an institution or business.  The Current Fee is $50, payable
  793.         by check, money order, or by purchase order.  Registered
  794.         owners always get a newer, Registered version, different from
  795.         the Shareware version.
  796.         
  797.         Individuals using TMES at home for personal use MAY register
  798.         also just to get the newer version sent to them, but there is 
  799.         NO requirement to do so.  You will receive the same special 
  800.         attention that corporations receive when you register.  But, 
  801.         it's not necessary.  But IF YOU DO, THANK YOU and ENJOY TMES.
  802.  
  803.         Thanks for just trying TMES even if you don't use it at work.
  804.  
  805.         Send Praise, Problems, Purchase Orders, Checks, and Ideas to:
  806.  
  807.  
  808.                                  Tee Roper
  809.                                 215 Devin Dr
  810.                               Garner, NC 27529
  811.  
  812.  
  813.         ---------------------------- eof ----------------------------
  814.  
  815.