home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / utils / e-utils1.zip / READ.ME < prev    next >
Text File  |  1989-09-17  |  64KB  |  2,129 lines

  1.  
  2.  
  3.  
  4.  
  5.            
  6.            
  7.            
  8.            
  9.            
  10.            
  11.            
  12.            
  13.                                          EISSINGER UTILITIES
  14.            
  15.                                             Version 2.0a
  16.            
  17.            
  18.            
  19.            
  20.            
  21.            
  22.            
  23.            
  24.            
  25.            
  26.            
  27.            
  28.            
  29.            
  30.                                 Copyright 1989, Michael A. Eissinger
  31.                                         All Rights Reserved.
  32.            
  33.            
  34.            
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.         EISSINGER UTILITIES
  69.  
  70.         
  71.         2  License Statement
  72.            This software is protected by both United States Copyright
  73.            Law and International Treaty provisions.  Therefore, all
  74.            conditions pertaining to other publications also apply to
  75.            this software, with the following exceptions.  The licensee
  76.            of this software may make archival copies of this software
  77.            for the sole purpose of backing up this software and
  78.            protecting the licensee's investment from loss.
  79.            
  80.            This version of this software is released as "Shareware". 
  81.            As such, the user may also make copies of the software and
  82.            relating documentation and distribute those copies freely as
  83.            long as no changes are made to either the software or
  84.            documentation and as long as no amount above the cost of
  85.            producing the physical copy (not to exceed $10.00) is
  86.            charged for the copy of the software and documentation.  The
  87.            software must also be distributed with the relating
  88.            documentation attached and the package must be distributed
  89.            as a single package.
  90.            
  91.            If the user uses the software regularly, he/she is required
  92.            to register directly with the owner of the Copyright -
  93.            Michael A. Eissinger, Microcomputer Consultant, 345 East
  94.            Cedar, Hanford, CA 93230 - 209-582-5830.  Registration
  95.            includes a free update to the latest version of the
  96.            software, free periodic updates for one year, printed
  97.            documentation and free phone support.  Unregistered users
  98.            can not get any support, whatsoever.
  99.         
  100.         3  Warranty
  101.            
  102.            Michael A. Eissinger, Microcomputer Consultant specifically
  103.            disclaims all warranties, expressed or implied, including
  104.            but not limited to implied warranties of merchantability and
  105.            fitness for a particular purpose, and the program license
  106.            granted herein in particular and without limiting operation
  107.            of the program license with respect to any particular
  108.            application, use or purpose.  In no event shall Michael A.
  109.            Eissinger, Microcomputer Consultant, or employees or agents
  110.            of Michael A. Eissinger, Microcomputer Consultant be liable
  111.            for any loss of profit or any other commercial damage,
  112.            including, but not limited to, special, incidental,
  113.            consequential or other damages.
  114.            
  115.            This statement shall be construed, interpreted and governed
  116.            by the laws of the State of California.
  117.            
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.         10:19pm Sep 17,1989         Eissinger Utilities          Page: 2 
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.         EISSINGER UTILITIES
  135.  
  136.         
  137.         
  138.         4  Introduction
  139.            
  140.            Even though many users new to personal computers are opting
  141.            to stay away from the DOS command line in favor of
  142.            "environments" such as MS-Windows, DeskView, Presentation
  143.            Manager or others, others still rely on batch files and the
  144.            DOS prompt for many functions.  This set of utilities is
  145.            designed for those who use the command line and for system
  146.            integrators, consultants or anyone setting up or using a
  147.            system. These utilities add a rich variety of DOS commands
  148.            for everything from making your batch file displays pretty
  149.            to checking the system hardware and configuration. 
  150.            
  151.            With a few exceptions each of these utilities has been
  152.            designed to do one function. Many of them are only useful
  153.            when used within a batch file, in fact they're intended to
  154.            be an extension of the batch programming language and 
  155.            provide functions that have not been available before. Some
  156.            of these utilities are alterations of existing DOS commands,
  157.            some are based loosely on utilities available in UNIX,
  158.            others are just functions that the author wanted or needed
  159.            for a specific purpose.
  160.            
  161.            There are several broad groupings within this package. The
  162.            batch commands can position the cursor on the screen, change
  163.            the color of the screen, clear a portion of the screen,
  164.            display text on the screen, prompt the user for a  response
  165.            and branch within a batch file based on the user's response
  166.            or display the date and time in a variety of formats.
  167.            
  168.            The batch file building utilities can build a batch file
  169.            from a wild card specification, paste two files together or
  170.            interleave lines from two files to form a new file.
  171.            
  172.            The text file utilities can change the case of all of the
  173.            text in a file or list sections of a text or source code
  174.            file.
  175.            
  176.            The system utilities report on a variety of
  177.            hardware/software options and can report on the current
  178.            configuration of a system.
  179.            
  180.            The Pascal utilities can help any Pascal programmer better
  181.            document and maintain source code. 
  182.            
  183.            This is version two of this utility package. Version one was
  184.            intended primarily for Turbo Pascal programmers and included
  185.            several batch commands and utilities. This version still
  186.            carries most of the programmer's utilities,  however the DOS
  187.            utilities have been expanded to the point that this is no
  188.            longer a set of programmer's tools. 
  189.  
  190.         10:19pm Sep 17,1989         Eissinger Utilities          Page: 3 
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.         EISSINGER UTILITIES
  201.  
  202.            
  203.            One thing that has been left out of this version that was in
  204.            version one is the support for displaying work files
  205.            produced by Screen Genie from Nostradamus Software. The
  206.            conversion and test utilities and the display TPU have been
  207.            eliminated, since Nostradamus now includes support for Turbo
  208.            Pascal versions 4.0 and 5.0/5.5. 
  209.            
  210.            Technical Notes: These utilities were all written using
  211.            Turbo Pascal, Version 5.5 from Borland International. Some
  212.            of these utilities include routines provided within various
  213.            packages from Turbo Power, including Turbo Professional and
  214.            Turbo Filer. All other code was written by the author and
  215.            includes no public domain or shareware code from other
  216.            sources, other than that mentioned above.
  217.            
  218.            These utilities are distributed in a compressed format. 
  219.            This insures that they will be kept together as a set on
  220.            bulletin boards and that they will be quicker to down-load
  221.            from bulletin boards, since they take up much less space in
  222.            the compressed format.
  223.            
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.         10:19pm Sep 17,1989         Eissinger Utilities          Page: 4 
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.         EISSINGER UTILITIES
  267.  
  268.         
  269.         5  Getting Started
  270.            
  271.            All of the files that make up the system are stored within a
  272.            compressed file called UTILS.EXE . . . this is a self-
  273.            extracting utility and no other program is needed to
  274.            uncompress the files contained within UTILS.EXE. To 
  275.            unarchive these, copy UTILS.EXE to your DOS or Utility
  276.            directory (or any directory on the system path) and type
  277.            UTILS, followed by tapping [Return]/[Enter]. 
  278.            
  279.            You can delete the UTILS.EXE file once everything has been
  280.            unarchived.
  281.            
  282.            This list of files includes the utilities that you should
  283.            have following the unarchiving process. 
  284.            
  285.                      READ    .ME
  286.                      CLOCK   .BAT
  287.                      GRMENU  .BAT
  288.                      BLDBAT  .EXE
  289.                      BORDER  .EXE
  290.                      CASE    .EXE
  291.                      CLRABOVE.EXE
  292.                      CLRBELOW.EXE
  293.                      CLRBOX  .EXE
  294.                      CLRLINE .EXE
  295.                      COLOR   .EXE
  296.                      EKO     .EXE
  297.                      EXTRACT .EXE
  298.                      GETRESP .EXE
  299.                      GETYN   .EXE
  300.                      HWARE   .EXE
  301.                      INDENT  .EXE
  302.                      KURSOR  .EXE
  303.                      MELD    .EXE
  304.                      NOW     .EXE
  305.                      PASTE   .EXE
  306.                      PAUSEC  .EXE
  307.                      PUTCURS .EXE
  308.                      TODAY   .EXE
  309.                      TONE    .EXE
  310.                      TYP     .EXE
  311.                      MEMCHK  .EXE
  312.                      GRMENU  .TXT
  313.                      HEAD    .EXE
  314.                      TAIL    .EXE
  315.                      MAINLINE.EXE
  316.            
  317.            Typing the name of the utility, followed by a question mark
  318.            [?] will display help, including syntax for each of the
  319.            commands. 
  320.            
  321.  
  322.         10:19pm Sep 17,1989         Eissinger Utilities          Page: 5 
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.         EISSINGER UTILITIES
  333.  
  334.         
  335.         6  DOS/System Utility Programs
  336.            
  337.            The Eissinger Utilities now contains a rich array of utility
  338.            programs some of which are intended for use within batch
  339.            files, others are system level utilities.
  340.         
  341.         6.1 HWare
  342.            
  343.            Hardware/Configuration Examination Utility
  344.            
  345.            This program checks as many of the system parameters as
  346.            possible and produces a report to either the screen or the
  347.            system printer. For people doing system configuration,
  348.            technicians or others needing to know how a particular
  349.            system is configured, HWare can be an extremely useful tool.
  350.            
  351.            Some of the things that HWARE.EXE reports are . . .
  352.         
  353.         6.1.1 System CPU & Math Coprocessor
  354.            HWare can determine the processor installed in the system,
  355.            if it is one of the following CPUs...
  356.            
  357.                       8088
  358.                       8086
  359.                       V20
  360.                       V30
  361.                       80188
  362.                       80186
  363.                       80286
  364.                       80386
  365.            
  366.            HWare will also report the presence of a Numeric Coprocessor
  367.            if one of the following processors is installed . . .
  368.            
  369.                      8087
  370.                      80287
  371.                      80387
  372.            
  373.            If No Coprocessor is detected, HWare will report . . .
  374.            
  375.                     "No intel Numeric Coprocessor Detected"
  376.            
  377.            Currently no support is provided for the 80486/80487
  378.            processors.
  379.         
  380.         6.1.2 System Date/Time
  381.            HWare will report the date and time as detected from the
  382.            system clock.
  383.            
  384.  
  385.  
  386.  
  387.  
  388.         10:19pm Sep 17,1989         Eissinger Utilities          Page: 6 
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.         EISSINGER UTILITIES
  399.  
  400.         
  401.         
  402.         6.1.3 Conventional Memory
  403.            Conventional memory is tricky to read, since in order to do
  404.            it HWare has to be loaded into memory. Every attempt has
  405.            been made to adjust for the existance of HWare when testing
  406.            the total amount of conventional memory installed on the 
  407.            system, however it is best to take this number as a very
  408.            close approximation of the actual memory available after
  409.            the system is booted.
  410.         
  411.         6.1.4 EMS - Expanded Memory
  412.            HWare will accurately report the total amount of EMS memory
  413.            installed, allocated and the number of available handles if
  414.            EMS memory is installed on the system.
  415.         
  416.         6.1.5 Extended Memory
  417.            If HWare encounters Extended Memory it will accurately
  418.            report the total amount of Extended memory installed and the
  419.            amount of Extended memory available for use.
  420.         
  421.         6.1.6 Computer
  422.            On some computers made by Zenith or Compaq HWare can detect
  423.            the brand name of these computers.  HWare can not detect the
  424.            brand name on all models from either of these manufactures,
  425.            however on some models it will include either "Zenith Brand
  426.            Computer" or "Compaq Brand Computer" in the report.
  427.         
  428.         6.1.7 ComSpec, Path, Prompt
  429.            HWare will accurately report any ComSpec, Path and/or Prompt
  430.            installed.
  431.         
  432.         6.1.8 Video Adapter
  433.            HWare can accurately detect many of the most popular video
  434.            adapters available at the time of the creation of HWare. 
  435.            As new standards are introduced, HWare will be updated to
  436.            include those standards.  Those adapters currently 
  437.            supported include Hercules, CGA, MCGA, EGA, VGA and PGC.
  438.         
  439.         6.1.9 Verify/Break
  440.            HWare will report if the Disk Write Verify flag and the
  441.            Control Break flag are ON or OFF.
  442.         
  443.         6.1.10 Toggle Key Status
  444.            Hware automatically detects and reports the status of the
  445.            toggle keys on the keyboard, including Num Lock, Scroll Lock
  446.            and Caps Lock. 
  447.         
  448.         6.1.11 Mouse
  449.            If HWare detects the presence of a mouse on the system, that
  450.            status will be included in the report.  HWare makes no
  451.            destinction as to the type of mouse (two or three button).
  452.            
  453.  
  454.         10:19pm Sep 17,1989         Eissinger Utilities          Page: 7 
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.         EISSINGER UTILITIES
  465.  
  466.         
  467.         
  468.         6.1.12 Enhanced Keyboard
  469.            If the system is equipped with an enhanced keyboard HWare
  470.            may detect it's presence.  HWare can accurately detect an
  471.            enhanced keyboard on PS/2's, however it can not always
  472.            detect enhanced keyboards from other manufactures.  HWare
  473.            will never report that a system does include an enhanced
  474.            keyboard if there is not one installed.
  475.         
  476.         6.1.13 SideKick
  477.            When examining memory, HWare checks for the presence of
  478.            SideKick from Borland International.  The only reason to
  479.            check for SideKick is to prevent loading any TSR's after
  480.            SideKick.
  481.         
  482.         6.1.14 Multi-Tasker
  483.            HWare will detect and report the presence of some Multi-
  484.            Tasking software, specifically QuarterDesk's DeskView, IBM's
  485.            TopView and/or OmniView.  Hware does not determine which of
  486.            these products is loaded, only their presence.
  487.         
  488.         6.1.15 DOS Print Spooler
  489.            If the memory resident print spooler provided with most
  490.            versions of DOS (PRINT.COM) is loaded into memory prior to
  491.            running HWare, it's presence will be detected and reported.
  492.            HWare can not detect spoolers or print buffers other than
  493.            the standard DOS PRINT.COM.
  494.         
  495.         6.1.16 Printer Ports
  496.            HWare currently only supports the LPT ports 1 and 2 and will
  497.            report their status.  If a printer is attached to either of
  498.            these ports and on-line, HWare will report that the printer
  499.            is on-line.  There is no support in this version of HWare
  500.            for serial printers or other devices attached to the COM
  501.            ports.
  502.         
  503.         6.1.17 Network
  504.            Networks are becoming more and more common within the PC
  505.            world.  HWare can help determine which network, if any, is
  506.            currently installed on the system.  HWare can detect the
  507.            presence of Share, Novell NetWare and/or the NetBIOS, or any
  508.            networks that look to the system like one of those three.
  509.         
  510.         6.1.18 Disk Drives
  511.            HWare does a complete examination of each disk drive
  512.            installed on the system, including all floppies, hard disks,
  513.            Bernoulli removable drive and/or RAM disks. This includes
  514.            any drives that are set up as phantom drives -using
  515.            DRVPARAM.  HWare reports if a drive is installed, the type
  516.            of drive, the bytes per sector, bytes per cluster, the total
  517.            capacity of the drive, the amount of free space on the drive
  518.            and the currently logged drive.
  519.  
  520.         10:19pm Sep 17,1989         Eissinger Utilities          Page: 8 
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.         EISSINGER UTILITIES
  531.  
  532.         
  533.         6.1.19 Running HWare
  534.            HWare has only two operating options: Report to the Screen,
  535.            or Report to the Printer.
  536.            
  537.            Syntax: HWARE     (sends output to screen)
  538.                    HWARE /p  (sends output to printer)
  539.                    HWARE ?   (displays help screen)
  540.            
  541.            When sending output to the screen, all of the system
  542.            parameters, except the drive information should fill one
  543.            screen. HWare will prompt you to tap a key to continue
  544.            before it goes onto the next screen which will report on all
  545.            of the drives installed on the system.  If you want to abort
  546.            before running through the drives, [Ctrl][C] will abort at
  547.            that prompt.
  548.            
  549.            When running HWare you don't need to have floppies loaded
  550.            into every drive, however it will run much faster if you do.
  551.             HWare will have to wait for a time out if there is no disk
  552.            present. If the system is configured with phantom  drives
  553.            the system will prompt you to insert a disk into the drive
  554.            and tap a key to continue.  With phantom drives you will
  555.            have to tap a key before HWare will continue, thus wiping
  556.            out the possibility of running HWare unattended on  these
  557.            systems. 
  558.            
  559.            The following is a copy of a typical HWare report.  The
  560.            comments enclosed in curly brackets ({}) are not included in
  561.            the report.
  562.            
  563.            
  564.  
  565.  
  566.  
  567.  
  568.  
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.         10:19pm Sep 17,1989         Eissinger Utilities          Page: 9 
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.         EISSINGER UTILITIES
  597.  
  598.         
  599.         6.1.20 Example
  600.            HWare - Copyright 1989, Michael A. Eissinger, All Rights Reserved
  601.            -----
  602.            
  603.            System Hardware/Configuration Utility
  604.            CPU             = Intel 80286
  605.            Math Coprocessor= No Coprocessor installed
  606.            Current Date    = Sun 9-03-1989
  607.            Current Time    =  7:21:01 am
  608.            DOS Version     = 3.30
  609.            Comspec         = C:\COMMAND.COM
  610.            Path            = D:\BIN;D:\BIN\EXTRAS;C:\TURBO;C:\PCWRITE;D:\;C:\
  611.            Prompt          =           { no prompt installed on system }
  612.            Current Display = CGA
  613.            Mouse Installed
  614.            LPT1 is On-Line
  615.            Scroll Lock     = ON
  616.            Caps Lock       = ON
  617.            Num Lock        = ON
  618.            483440 bytes of RAM Available
  619.            EMS Memory Detected
  620.                393216 bytes of EMS Memory installed
  621.                262144 bytes of EMS Memory available
  622.                2 EMS Handles active
  623.            DOS Print Spooler Installed
  624.            Share Installed
  625.            DISK INFO:
  626.            Drive A:                    { 1.2mb drive }
  627.            Sector = 512 Cluster = 512 Capacity  = 1213952 Free = 706560
  628.            
  629.            Drive B:                    { 720k floppy }
  630.            Sector = 512 Cluster = 1024 Capacity = 730112 Free = 668672
  631.            
  632.            Drive C:                    { 20mb hard disk }
  633.            Sector = 512 Cluster = 1024 Capacity = 21274624 Free = 3246080
  634.            
  635.            Drive D:                    { 40mb hard disk }
  636.            Sector = 512 Cluster = 1024 Capacity = 42608640 Free = 4767024
  637.            
  638.            Drive E:                    { small RAM disk }
  639.            Sector = 128 Cluster = 128 Capacity = 62592 Free = 62592
  640.            
  641.            Drive F:  { phantom of drive a: with 360k floppy mounted }
  642.            Sector = 512 Cluster = 1024 Capacity = 362496 Free = 168960
  643.            
  644.            Drive G:                    { phantom of drive b: }
  645.            Sector = 512 Cluster = 1024 Capacity = 730112 Free = 668672
  646.            
  647.            Current Drive   = C:
  648.            
  649.  
  650.  
  651.  
  652.         10:19pm Sep 17,1989         Eissinger Utilities          Page:10 
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.         EISSINGER UTILITIES
  663.  
  664.         
  665.         6.2 MemChk
  666.            
  667.            MEMCHK is a memory reporting utility that can be used from
  668.            the command line or within a batch file to report the amount
  669.            and type of memory available on the system.  Like the memory
  670.            reporting functions within HWARE.EXE above, the 
  671.            conventional memory report should be close, however it might
  672.            be just a little off due to the way MEMCHK examines memory
  673.            when it is loaded.  The Extended and EMS memory reporting
  674.            routines are as accurate as possible and will report the 
  675.            exact amounts of memory available on the system.
  676.            
  677.            Syntax: memchk
  678.            
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.         10:20pm Sep 17,1989         Eissinger Utilities          Page:11 
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.  
  728.         EISSINGER UTILITIES
  729.  
  730.         
  731.         7  Batch File Utilities
  732.            
  733.            Most of the programs making in the Eissinger utilities are
  734.            for use with batch files.  There ar two general types of
  735.            utilities for batch files.  The first type is programs that
  736.            are tools to help the batch programmer build batch files. 
  737.            Some of these are inspired by commands and features from the
  738.            UNIX world.  The second type of batch oriented utilities are
  739.            commands that make up an extension of the batch programming
  740.            language. Many of these additional commands not available
  741.            from other sources.
  742.         
  743.         7.1 Batch File Building Utilities
  744.            
  745.            The real power of MS-DOS can be harnessed when the user
  746.            becomes proficient in writing DOS batch files.  These
  747.            utilities are designed to help make that process easier by
  748.            providing tools to automate much of the actual assembly of a
  749.            batch file.
  750.         
  751.         7.1.1 BldBat
  752.            
  753.            BLDBAT builds a skeleton batch file from a list of files,
  754.            given a file spec, a batch file name and optional strings
  755.            for leading and trailing the file name.  BLDBAT provides
  756.            some of the functions of the UNIX ls command. 
  757.            
  758.            SYNTAX: 
  759.            BLDBAT <filespec> <batchfile> <+lead> <-trail>
  760.             where <filespec>  is any valid DOS file mask
  761.                               (wildcards ok)
  762.                   <batchfile> is the name of the batch file to
  763.                               build
  764.                   <+lead>     is any text to insert on each
  765.                               line prior to the file name.  
  766.                               The [+] (plus) is required to tell
  767.                               it that this is leading text.
  768.                               The lead string can not contain any 
  769.                               spaces.
  770.                   <-trail>    is any text to insert on each line 
  771.                               following the file name. The [-]
  772.                               (minus) is required to tell it that
  773.                               this is trailing text. The trail 
  774.                               string can not contain any spaces.
  775.            
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.         10:20pm Sep 17,1989         Eissinger Utilities          Page:12 
  785.  
  786.  
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.         EISSINGER UTILITIES
  795.  
  796.         
  797.         7.1.2 Meld
  798.            
  799.            Meld is a file combine utility.  MELD takes two input files,
  800.            reading one line from each at a time and writing them, one
  801.            following the other to the output file.  This is much like
  802.            shuffling a deck of cards. 
  803.            
  804.            Syntax: 
  805.              MELD <infile1> <infile2> <outfile>
  806.             where <infile1> is the first file read, and subsequently 
  807.                             will be the first line of each line pair.
  808.                   <infile2> is the second file read, and subsequently 
  809.                             will be the second line of each line pair.
  810.                   <outfile> is the resulting melded file.
  811.            
  812.            example:
  813.            if infile1 contains the following lines . . .
  814.                                            file one line 1
  815.                                            file one line 2
  816.                                            file one line 3
  817.                                                   .
  818.                                                   .
  819.                                                   .
  820.                                           file one line 99
  821.            
  822.            and infile2 contains the following lines . . .
  823.                                            file two line 1
  824.                                            file two line 2
  825.                                            file two line 3
  826.                                                   .
  827.                                                   .
  828.                                                   .
  829.                                           file two line 99
  830.            
  831.            Then outfile will look like this
  832.                                            file one line 1
  833.                                            file two line 1
  834.                                            file one line 2
  835.                                            file two line 2
  836.                                            file one line 3
  837.                                            file two line 3
  838.                                                   .
  839.                                                   .
  840.                                                   .
  841.                                           file one line 99
  842.                                           file two line 99
  843.            
  844.  
  845.  
  846.  
  847.  
  848.  
  849.  
  850.         10:20pm Sep 17,1989         Eissinger Utilities          Page:13 
  851.  
  852.  
  853.  
  854.  
  855.  
  856.  
  857.  
  858.  
  859.  
  860.         EISSINGER UTILITIES
  861.  
  862.         
  863.         7.1.3 Paste
  864.            
  865.            PASTE provides a function somewhat like the UNIX paste
  866.            command, like meld, it combines the contents of two files,
  867.            producing a third file, however instead of writing separate
  868.            lines, PASTE concatenates the corresponding lines, so that 
  869.            the resulting file contains the same number of lines as the
  870.            longest of the two infiles.  Additionally, PASTE offers the
  871.            optional ability to specify leading, trailing and
  872.            connecting text. 
  873.            
  874.            Syntax: 
  875.             PASTE <infile1> <infile2> <outfile> <+ld> </mid> <-trl>
  876.             where <infile1> is the first input file and will give the 
  877.                             text that is first on each line.
  878.                   <infile2> is the second input file and will give the 
  879.                             text that is second on each line.
  880.                   <outfile> is the resulting text file.
  881.                   <+ld>     is any leading text to place at the 
  882.                             beginning of each line in outfile.  The 
  883.                             [+] (plus) is required to specify that this 
  884.                             is leading text and it can not contain any 
  885.                             spaces.
  886.                   </mid>    is any text to be placed between the text 
  887.                             from the first and second files in the 
  888.                             outfile.  The [/] (slash) is required to 
  889.                             specify that this is connecting text and 
  890.                             it can not contain any spaces.
  891.                   <-trl>    is any text to be placed at the very end of 
  892.                             each line in the outfile.  The [-] (minus) 
  893.                             sign is required to specify that this is 
  894.                             trailing text and it can not contain any 
  895.                             spaces.
  896.            
  897.            Note: leading, connecting and trailing text is completely
  898.            optional and can be in any order, since their placement
  899.            within the resulting outfile is determined by the [+], [/]
  900.            and [-] characters.  These characters are stripped from the
  901.            text prior to writing the outfile. 
  902.            
  903.            
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.         10:20pm Sep 17,1989         Eissinger Utilities          Page:14 
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.         EISSINGER UTILITIES
  927.  
  928.         
  929.            Example: lets examine the results of the following command
  930.            line...
  931.            
  932.            
  933.                   PASTE infile1 infile2 outfile +copy /\hold\
  934.            
  935.            if infile1 contains the following lines . . .
  936.                                                file11
  937.                                                file12
  938.                                                file13
  939.                                                   .
  940.                                                   .
  941.                                                   .
  942.                                                file19
  943.            
  944.            and infile2 contains the following lines . . .
  945.                                                file21
  946.                                                file22
  947.                                                file23
  948.                                                   .
  949.                                                   .
  950.                                                   .
  951.                                                file29
  952.            
  953.            Then outfile will look like this
  954.                                       copy file11 \hold\ file21
  955.                                       copy file12 \hold\ file22
  956.                                       copy file13 \hold\ file23
  957.                                                   .
  958.                                                   .
  959.                                                   .
  960.                                      copy file19 \hold\  file29
  961.            
  962.            Notice that there is a space following the \hold\ connecting
  963.            text.  PASTE automatically inserts that space. In this
  964.            instance It must be edited out before the resulting batch
  965.            file can be executed.  
  966.            
  967.            By combining the power of BLDBAT, MELD and PASTE, you can
  968.            generate quite useful and powerful batch files with the
  969.            least amount of actual editing. 
  970.            
  971.  
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.         10:20pm Sep 17,1989         Eissinger Utilities          Page:15 
  983.  
  984.  
  985.  
  986.  
  987.  
  988.  
  989.  
  990.  
  991.  
  992.         EISSINGER UTILITIES
  993.  
  994.         
  995.         7.2 Batch Language Extensions
  996.            
  997.            The next section of utilities work on the screen during
  998.            batch file execution to make screen displays so slick that
  999.            most people won't know that you're at the DOS prompt, not
  1000.            running an application.
  1001.         
  1002.         7.2.1 Kursor
  1003.            
  1004.            Change the cursor state.
  1005.            
  1006.            Syntax: KURSOR       = restore to normal cursor
  1007.                    KURSOR on    = restore to normal cursor
  1008.                    KURSOR off   = turn cursor off, hidden cursor
  1009.                    KURSOR fat   = change to fat cursor
  1010.                    KURSOR block = change to block cursor
  1011.         
  1012.         7.2.2 PutCurs
  1013.            
  1014.            Puts the cursor on a particular line on the screen and
  1015.            optionally clears the entire screen, leaving the cursor on
  1016.            the specified line.
  1017.            
  1018.            Syntax: PUTCURS nn /c
  1019.                    where nn is a valid screen row (can not be 1)
  1020.                          /c clear the screen (optional)
  1021.            
  1022.  
  1023.  
  1024.  
  1025.  
  1026.  
  1027.  
  1028.  
  1029.  
  1030.  
  1031.  
  1032.  
  1033.  
  1034.  
  1035.  
  1036.  
  1037.  
  1038.  
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.         10:20pm Sep 17,1989         Eissinger Utilities          Page:16 
  1049.  
  1050.  
  1051.  
  1052.  
  1053.  
  1054.  
  1055.  
  1056.  
  1057.  
  1058.         EISSINGER UTILITIES
  1059.  
  1060.         
  1061.         7.2.3 Screen Clearing
  1062.            
  1063.            DOS only provides CLS to clear the entire screen during
  1064.            display within a batch file.  The next set of utilities
  1065.            provides a range of screen clearing options from a single
  1066.            line to a box.  These utilities also take into account the
  1067.            current screen attributes so they are a perfect compliment
  1068.            to the COLOR command discussed later.
  1069.         
  1070.         7.2.3.1 ClrAbove
  1071.            
  1072.            Clears above and including the screen line specified.
  1073.            
  1074.            Syntax: CLRABOVE <nn>
  1075.                             where <nn> is any valid screen row
  1076.            
  1077.         
  1078.         7.2.3.2 ClrBelow
  1079.            
  1080.            Clears below and including the screen line specified.
  1081.            
  1082.            Syntax: CLRBELOW nn
  1083.                             where nn is any valid screen row
  1084.            
  1085.         
  1086.         7.2.3.3 ClrBox
  1087.            
  1088.            Clears a box on the screen
  1089.            
  1090.            Syntax: CLRBOX x y h w
  1091.                    where x is the x screen coordinate
  1092.                          y is the y screen coordinate
  1093.                          h is the height of the box
  1094.                          w is the width of the box
  1095.         
  1096.         7.2.3.4 ClrLine
  1097.            
  1098.            Clears a single line on the screen
  1099.            
  1100.            Syntax: CLRLINE nn
  1101.                    where nn is any valid screen row
  1102.            
  1103.            
  1104.  
  1105.  
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.         10:20pm Sep 17,1989         Eissinger Utilities          Page:17 
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.  
  1124.         EISSINGER UTILITIES
  1125.  
  1126.         
  1127.         7.2.4 Color
  1128.            
  1129.            Clears the screen and changes the color of the screen
  1130.            display.
  1131.            
  1132.            Syntax: COLOR n1 n2
  1133.                    where n1 is the foreground color number
  1134.                          n2 is the background color number
  1135.            
  1136.            valid colors . . .
  1137.              black      =  0   blue          =  1   green      =  2
  1138.              cyan       =  3   red           =  4   magenta    =  5
  1139.              brown      =  6   light gray    =  7   dark gray  =  8
  1140.              light blue =  9   light green   = 10   light cyan = 11
  1141.              light red  = 12   light magenta = 13   yellow     = 14
  1142.                                white         = 15
  1143.            
  1144.            Note: many of the display commands built into DOS - pause,
  1145.            echo, type, etc... make no distinction as to the color on
  1146.            the screen, so they will always make their display in white
  1147.            characters on a black background.  PAUSEC.EXE, EKO.EXE and
  1148.            TYP.EXE included with this set of utilities corrects this
  1149.            problem on most systems. 
  1150.         
  1151.         7.2.5 Border
  1152.            
  1153.            Changes the color of the border around the screen display.
  1154.            
  1155.            Syntax: BORDER n n2
  1156.                    where n is the color number
  1157.            
  1158.            valid colors . . .
  1159.              black      =  0   blue          =  1   green      =  2
  1160.              cyan       =  3   red           =  4   magenta    =  5
  1161.              brown      =  6   light gray    =  7   dark gray  =  8
  1162.              light blue =  9   light green   = 10   light cyan = 11
  1163.              light red  = 12   light magenta = 13   yellow     = 14
  1164.                                white         = 15
  1165.            
  1166.  
  1167.  
  1168.  
  1169.  
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178.  
  1179.  
  1180.         10:20pm Sep 17,1989         Eissinger Utilities          Page:18 
  1181.  
  1182.  
  1183.  
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.         EISSINGER UTILITIES
  1191.  
  1192.         
  1193.         
  1194.         7.2.6 Typ
  1195.            
  1196.            TYP adds a couple of features to the normal DOS TYPE
  1197.            command.
  1198.            
  1199.            Color 
  1200.            TYP uses the current screen attributes for type.  On some
  1201.            display adapter/monitor combinations, TYPE will always
  1202.            display white text on a black background.  This is not all
  1203.            that desirable when using the COLOR.EXE command.  TYP
  1204.            corrects this limitation of the original TYPE command and
  1205.            uses the current screen attributes for display.
  1206.            
  1207.            Pause  
  1208.            TYP automatically pauses after one full screen of text, and
  1209.            at the end of the text file.  This means that within a batch
  1210.            file, several screens of instructions can be displayed, and
  1211.            the user does not have to attempt to pause the screen as the
  1212.            text flies by.
  1213.            
  1214.            Case  
  1215.            TYP can display the text as it was originally entered into
  1216.            the text file, or it can optionally convert all text to
  1217.            either upper or lower case.
  1218.            
  1219.            Note 
  1220.            Unlike TYPE, TYP can not be used to redirect a file to the
  1221.            printer, a file or other device. TYP is strictly intended
  1222.            to display text on the system's monitor. 
  1223.            
  1224.            Syntax: TYP <infile> /option
  1225.                    where <infile>  is the text file.
  1226.                          /option   is the case option.
  1227.                                    /u = upper case
  1228.                                    /l = lower case
  1229.         
  1230.         7.2.7 PauseC
  1231.            
  1232.            This utility is used exactly like the resident DOS command
  1233.            PAUSE.  However, PAUSEC checks the current screen attributes
  1234.            (color & intensity) and uses those attributes for the pause
  1235.            display. On some display adapter/monitor setups the DOS
  1236.            PAUSE will only display white characters on a black
  1237.            background. This can present ugly displays when used with
  1238.            the COLOR.EXE command.
  1239.            
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.         10:20pm Sep 17,1989         Eissinger Utilities          Page:19 
  1247.  
  1248.  
  1249.  
  1250.  
  1251.  
  1252.  
  1253.  
  1254.  
  1255.  
  1256.         EISSINGER UTILITIES
  1257.  
  1258.         
  1259.             
  1260.         
  1261.         7.2.8 Eko
  1262.            
  1263.            Unlike ECHO, which displays text specced on the line within
  1264.            the batch file, EKO uses an external text file. Instead of
  1265.            telling EKO the text to be displayed, EKO uses the line
  1266.            number of the text within the secondary text file. EKO can
  1267.            also optionally alter the case of the text to be displayed
  1268.            to either all upper or all lower case. EKO can be useful
  1269.            when using text several times for display within the same or
  1270.            different batch files.
  1271.            
  1272.            Syntax: EKO <infile> nn /option
  1273.                    where <infile>  is the text file.
  1274.                          nn        is the line of text within the file 
  1275.                                    to display.
  1276.                          /option   is the case option.
  1277.                                    /u = upper case
  1278.                                    /l = lower case
  1279.            
  1280.  
  1281.  
  1282.  
  1283.  
  1284.  
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290.  
  1291.  
  1292.  
  1293.  
  1294.  
  1295.  
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.         10:20pm Sep 17,1989         Eissinger Utilities          Page:20 
  1313.  
  1314.  
  1315.  
  1316.  
  1317.  
  1318.  
  1319.  
  1320.  
  1321.  
  1322.         EISSINGER UTILITIES
  1323.  
  1324.         
  1325.         7.2.9 User Response Batch Entry Utilities
  1326.            
  1327.            Another function missing from MS-DOS is the ability to
  1328.            accept user input during batch execution.  The next two
  1329.            utilities provide some level of user entry.  Both allow the
  1330.            user to tap a single key and then the batch program can
  1331.            branch based on the key tapped.
  1332.         
  1333.         7.2.9.1 GetResp
  1334.            
  1335.            Display a prompt on the screen and wait for a key to be
  1336.            pressed.  The result of the keypress is returned in DOS's
  1337.            ErrorLevel and can be checked in a batch file.  GetResp will
  1338.            only function with the letters A - Z and digits 0 - 9. 
  1339.            Consult the GRMENU.BAT file for an example of how to use
  1340.            GETRESP.EXE.
  1341.            
  1342.            The following is a complete list of characters and the
  1343.            resulting ErrorLevels.
  1344.            
  1345.               C   EL     C   EL     C   EL     C   EL     C   EL
  1346.               ------     ------     ------     ------     ------
  1347.               0 = 48     1 = 49     2 = 50     3 = 51     4 = 52   
  1348.               5 = 53     6 = 54     7 = 55     8 = 56     9 = 57   
  1349.               A = 65     B = 66     C = 67     D = 68     E = 69   
  1350.               F = 70     G = 71     H = 72     I = 73     J = 74   
  1351.               K = 75     L = 76     M = 77     N = 78     O = 79   
  1352.               P = 80     Q = 81     R = 82     S = 83     T = 84   
  1353.               U = 85     V = 86     W = 87     X = 88     Y = 89  
  1354.                                     Z = 90
  1355.         
  1356.         7.2.9.2 GetYN
  1357.            
  1358.            Like GetResp, displays a prompt and waits for a key to be
  1359.            pressed, however GetYN only responds to [Y] or [N],
  1360.            returning 1 in ErrorLevel if [Y], 0 if [N], all other keys
  1361.            have no effect and GetYN will wait until either [Y] or [N]
  1362.            is pressed.
  1363.            
  1364.  
  1365.  
  1366.  
  1367.  
  1368.  
  1369.  
  1370.  
  1371.  
  1372.  
  1373.  
  1374.  
  1375.  
  1376.  
  1377.  
  1378.         10:20pm Sep 17,1989         Eissinger Utilities          Page:21 
  1379.  
  1380.  
  1381.  
  1382.  
  1383.  
  1384.  
  1385.  
  1386.  
  1387.  
  1388.         EISSINGER UTILITIES
  1389.  
  1390.         
  1391.         7.2.10 Time/Date Utilities
  1392.            
  1393.            The next two utilities are for display during batch files.
  1394.            For an example, study the CLOCK.BAT file. 
  1395.            
  1396.            Although DOS does provide built in functions for changing
  1397.            both the system date and time, it does not provide a simple
  1398.            means to display either.  The next two utilities provide
  1399.            those functions.
  1400.         
  1401.         7.2.10.1 Now
  1402.            
  1403.            Displays the current system time.
  1404.            
  1405.            Syntax: NOW       = displays the time, using DOS's
  1406.                                GetCountry to determine the proper 
  1407.                                time format (version 3.xx only).
  1408.                    NOW /s    = include seconds
  1409.                    NOW /a    = include the [m] on am/pm
  1410.                    NOW /a /s = include seconds and include the 
  1411.                                [m] on am/pm
  1412.         
  1413.         7.2.10.2 Today
  1414.            
  1415.            Displays the current date on the screen.
  1416.            
  1417.            Syntax: TODAY       = displays the date, using DOS's 
  1418.                                  GetCountry to determine the proper 
  1419.                                  date format  (version 3.xx only).
  1420.                    TODAY /2    = 2 digit year only.
  1421.            
  1422.  
  1423.  
  1424.  
  1425.  
  1426.  
  1427.  
  1428.  
  1429.  
  1430.  
  1431.  
  1432.  
  1433.  
  1434.  
  1435.  
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.         10:20pm Sep 17,1989         Eissinger Utilities          Page:22 
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.  
  1451.  
  1452.  
  1453.  
  1454.         EISSINGER UTILITIES
  1455.  
  1456.         
  1457.         7.2.11 Tone
  1458.            
  1459.            Tone allows the user to Generate a tone or a series of
  1460.            tones, altering the frequency, duration and number of times
  1461.            that the tone repeats.
  1462.            
  1463.            Syntax: TONE /f220 /r10 /d200
  1464.                    where /f = the frequency
  1465.                          /r = the number of times to repeat
  1466.                          /d = duration
  1467.            
  1468.            All parameters are optional and can be specced in any order
  1469.            as long as they are specced using the /f /r and /d
  1470.            identifiers.  The defaults are /f220, d/200 and r/1. 
  1471.            
  1472.  
  1473.  
  1474.  
  1475.  
  1476.  
  1477.  
  1478.  
  1479.  
  1480.  
  1481.  
  1482.  
  1483.  
  1484.  
  1485.  
  1486.  
  1487.  
  1488.  
  1489.  
  1490.  
  1491.  
  1492.  
  1493.  
  1494.  
  1495.  
  1496.  
  1497.  
  1498.  
  1499.  
  1500.  
  1501.  
  1502.  
  1503.  
  1504.  
  1505.  
  1506.  
  1507.  
  1508.  
  1509.  
  1510.         10:20pm Sep 17,1989         Eissinger Utilities          Page:23 
  1511.  
  1512.  
  1513.  
  1514.  
  1515.  
  1516.  
  1517.  
  1518.  
  1519.  
  1520.         EISSINGER UTILITIES
  1521.  
  1522.         
  1523.         8  Text File Utilities
  1524.            
  1525.            Another area where UNIX shines and MS-DOS falls short is
  1526.            text file utilities.  There are many public domain,
  1527.            shareware and commercial utilities that help fill that gap. 
  1528.            Here are some more to help round out your standard array of
  1529.            text file utilities.
  1530.            
  1531.         
  1532.         8.1 Head
  1533.            
  1534.            Two of the utilities that UNIX provides that are missing
  1535.            from DOS are HEAD and TAIL which allow you to display or
  1536.            print the beginning or end of a file respectively.  Although
  1537.            these are generally considered programmer's utilities they
  1538.            are also useful when examining any type of text file.
  1539.            
  1540.            HEAD.EXE prints the first section of a text file to the
  1541.            screen or the printer.
  1542.            
  1543.            Syntax: HEAD  <infile> nn /option
  1544.                    where <infile>  is the text file.
  1545.                          nn        number of lines to print 
  1546.                                    default 20
  1547.                          /option   are the output options
  1548.                                    /u = upper case 
  1549.                                    /l = lower case
  1550.                                    /p = send output to printer
  1551.            
  1552.         
  1553.         8.2 Tail
  1554.            
  1555.            TAIL.EXE prints the last section of a text file to the
  1556.            screen or the printer.
  1557.            
  1558.            Syntax: TAIL  <infile> nn /option
  1559.                    where <infile>  is the text file.
  1560.                          nn        number of lines to print
  1561.                                    default 20
  1562.                          /option   are the output options
  1563.                                    /u = upper case 
  1564.                                    /l = lower case
  1565.                                    /p = send output to printer
  1566.            
  1567.  
  1568.  
  1569.  
  1570.  
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.         10:20pm Sep 17,1989         Eissinger Utilities          Page:24 
  1577.  
  1578.  
  1579.  
  1580.  
  1581.  
  1582.  
  1583.  
  1584.  
  1585.  
  1586.         EISSINGER UTILITIES
  1587.  
  1588.         
  1589.         
  1590.         8.3 Case
  1591.            
  1592.            Converts the entire contents of a text file to either upper
  1593.            or lower case.
  1594.            
  1595.            Syntax: CASE <infile> <outfile> upper/lower
  1596.                    where <infile> is the input file name
  1597.                          <outfile> is the new file name
  1598.                          upper converts all text to upper case (default)
  1599.                          lower converts all text to lower case
  1600.            
  1601.            
  1602.  
  1603.  
  1604.  
  1605.  
  1606.  
  1607.  
  1608.  
  1609.  
  1610.  
  1611.  
  1612.  
  1613.  
  1614.  
  1615.  
  1616.  
  1617.  
  1618.  
  1619.  
  1620.  
  1621.  
  1622.  
  1623.  
  1624.  
  1625.  
  1626.  
  1627.  
  1628.  
  1629.  
  1630.  
  1631.  
  1632.  
  1633.  
  1634.  
  1635.  
  1636.  
  1637.  
  1638.  
  1639.  
  1640.  
  1641.  
  1642.         10:20pm Sep 17,1989         Eissinger Utilities          Page:25 
  1643.  
  1644.  
  1645.  
  1646.  
  1647.  
  1648.  
  1649.  
  1650.  
  1651.  
  1652.         EISSINGER UTILITIES
  1653.  
  1654.         
  1655.         9  Pascal Programmer's Utilities
  1656.            
  1657.            As mentioned earlier in this manual, this set of utilities
  1658.            originally started out as a small set of Turbo Pascal
  1659.            Programmer's Utilities.  As the set of programs and the
  1660.            variety of functions has grown, the primary emphisis has
  1661.            shifted to batch programming and DOS utilities.  However,
  1662.            the programmer's utilities are still included and expanded
  1663.            within this set.  If you are not a Pascal programmer, these
  1664.            utilities will be of little use to you, however they may be
  1665.            of interest.  The program MAINLINE.EXE can be used with any
  1666.            language, so long as the language uses straight ASCII text
  1667.            files and you follow the rules specified for MAINLINE.EXE.
  1668.         
  1669.         9.1 Extract
  1670.            
  1671.            Every programmer knows the importance of system level
  1672.            documentation.  Most Pascal programmers are pretty good
  1673.            about including comments within the source code, but almost
  1674.            nobody goes much beyond that. Sorting through 6000 lines of
  1675.            code to figure out what a particular program does is not
  1676.            exactly the most efficient way to maintain code, even if the
  1677.            original programmer was thoughtful enough to comment
  1678.            throughout the source.  EXTRACT can reduce that effort
  1679.            somewhat. EXTRACT passes a source file and produces a text
  1680.            file containing the key elements of the program: Units,
  1681.            include files, procedures, functions and all comments. If a
  1682.            programmer carefully comments every function/procedure, the
  1683.            mainline of a program and key lines of code, EXTRACT  can
  1684.            produce a useful document showing the general structure of
  1685.            the program.  This extract, along with the source code
  1686.            listing, a cross reference, screen dumps and file layouts
  1687.            produces a basic set of system documentation that can be
  1688.            used as reference anytime that any work needs to be done on
  1689.            the file in the future.
  1690.            
  1691.            Syntax: EXTRACT <infile> <outfile>
  1692.                    where   <infile>  is the source code file.
  1693.                            <outfile> is the resulting extract file.
  1694.            
  1695.            Note: Since EXTRACT produces a straight ASCII text file, the
  1696.            extract file can be edited using the Turbo Editor, or any
  1697.            other editor or word processor that allows you to edit ASCII
  1698.            files.  This means that you can do any clean up or
  1699.            additional notation directly within the extract file prior 
  1700.            to printing the extract file.  
  1701.            
  1702.  
  1703.  
  1704.  
  1705.  
  1706.  
  1707.  
  1708.         10:20pm Sep 17,1989         Eissinger Utilities          Page:26 
  1709.  
  1710.  
  1711.  
  1712.  
  1713.  
  1714.  
  1715.  
  1716.  
  1717.  
  1718.         EISSINGER UTILITIES
  1719.  
  1720.         
  1721.         9.2 Indent
  1722.            
  1723.            INDENT can make any Pascal programmer's life just a little
  1724.            bit easier. It's primary purpose is to allow an individual
  1725.            programmer using source from various sources, or a team of
  1726.            coders to standardize the indentation and case of Pascal
  1727.            source code.  Since Pascal is not case sensitive and since
  1728.            the indentation is strictly up to the programmer, there are
  1729.            about as many different styles of coding as there are Pascal
  1730.            programmers.
  1731.            
  1732.            Most programming shops set certain in-house standards,
  1733.            however a contract programmer or just an individual that
  1734.            wants to be stubborn can totally screw up the standard with
  1735.            just a few procedures. Any time that you get code from an
  1736.            outside source -  purchase, public domain and/or shareware,
  1737.            you also introduce additional styles of coding. Indent will
  1738.            help make it all look about the same.
  1739.            
  1740.            Syntax: 
  1741.             INDENT <filespec> /options
  1742.             where  <filespec> is the name of the Pascal source code.  
  1743.                               INDENT automatically saves the original 
  1744.                               file under the original filename, with 
  1745.                               the extension of .SAV.  
  1746.                    /options  
  1747.                               /d  display the indent in progress.
  1748.                               /l  convert non-literal text to lower case.
  1749.                               /u  convert non-literal text to upper case.
  1750.                               n   # of spaces to indent. (default = 1).
  1751.            
  1752.            Note:  Indent is not perfect.  Several conditions can cause
  1753.            indent to choke, giving strange results.  Greatly indented
  1754.            CASE and RECORD statements will probably have to be manually
  1755.            adjusted after using INDENT.  INDENT can also be fooled by
  1756.            text in variable, function and or procedure names that
  1757.            contains those reserved words that would normally cause an
  1758.            indent/outdent -such as begin, end, repeat, until, case,
  1759.            record, etc.. Even taking these limitations into account,
  1760.            indent can still move you much closer to standardizing your
  1761.            source code. The small amount of clean up needed is much
  1762.            less than what would be required to manually reformatting
  1763.            the file. 
  1764.  
  1765.  
  1766.  
  1767.  
  1768.  
  1769.  
  1770.  
  1771.  
  1772.  
  1773.  
  1774.         10:20pm Sep 17,1989         Eissinger Utilities          Page:27 
  1775.  
  1776.  
  1777.  
  1778.  
  1779.  
  1780.  
  1781.  
  1782.  
  1783.  
  1784.         EISSINGER UTILITIES
  1785.  
  1786.         
  1787.         9.3 Mainline
  1788.            
  1789.            Sometimes a programmer needs to take a quick look at the
  1790.            mainline of a program, prior to actually digging into the
  1791.            code.  MainLine makes that examination a snap.  Like TAIL
  1792.            (see the text file utilities), MainLine lists the end of a
  1793.            text file to the screen or the printer, however Mainline
  1794.            prints the first line of the source code file and then
  1795.            resumes printing on the first line that includes the word
  1796.            "MAINLINE".  The word MAINLINE must be all upper case and
  1797.            must be one word.  MAINLINE can be anywhere on the line.
  1798.            
  1799.            If you remember to place the name of the program on the
  1800.            first line of the file and put the word MAINLINE in a
  1801.            comment at the beginning of the section that you want to
  1802.            print as the mainline of the program, MainLine can be used
  1803.            with any programming language.
  1804.            
  1805.            Syntax: MAINLINE <infile> nn /options
  1806.                       where <infile>  is the text file.
  1807.                             /options  are the output options
  1808.                             /u = upper case 
  1809.                             /l = lower case
  1810.                             /p = send output to printer
  1811.            
  1812.            
  1813.  
  1814.  
  1815.  
  1816.  
  1817.  
  1818.  
  1819.  
  1820.  
  1821.  
  1822.  
  1823.  
  1824.  
  1825.  
  1826.  
  1827.  
  1828.  
  1829.  
  1830.  
  1831.  
  1832.  
  1833.  
  1834.  
  1835.  
  1836.  
  1837.  
  1838.  
  1839.  
  1840.         10:20pm Sep 17,1989         Eissinger Utilities          Page:28 
  1841.  
  1842.  
  1843.  
  1844.  
  1845.  
  1846.  
  1847.  
  1848.  
  1849.  
  1850.         EISSINGER UTILITIES
  1851.  
  1852.         
  1853.         10 System Requirements
  1854.            
  1855.            The Eissinger Utilities requires the following minimum
  1856.            hardware configuration.
  1857.            
  1858.            Any IBM PC/XT/AT/386 or PS/2 or compatible computer, such as
  1859.            Zenith or Compaq.
  1860.            
  1861.            The memory requirements of all of these utilities vary,
  1862.            however all of them will run with a minimum of 128k RAM.
  1863.            
  1864.            Any monochrome or color video card/monitor combination can
  1865.            be used, however some of these utilities are designed
  1866.            primarily for color systems.
  1867.            
  1868.            Many of the utility programs in the Eissinger Utilities
  1869.            package can send their output to the system's printer,
  1870.            however a printer is not required to run any of the programs
  1871.            in the package.
  1872.            
  1873.  
  1874.  
  1875.  
  1876.  
  1877.  
  1878.  
  1879.  
  1880.  
  1881.  
  1882.  
  1883.  
  1884.  
  1885.  
  1886.  
  1887.  
  1888.  
  1889.  
  1890.  
  1891.  
  1892.  
  1893.  
  1894.  
  1895.  
  1896.  
  1897.  
  1898.  
  1899.  
  1900.  
  1901.  
  1902.  
  1903.  
  1904.  
  1905.  
  1906.         10:20pm Sep 17,1989         Eissinger Utilities          Page:29 
  1907.  
  1908.  
  1909.  
  1910.  
  1911.  
  1912.  
  1913.  
  1914.  
  1915.  
  1916.         EISSINGER UTILITIES
  1917.  
  1918.         
  1919.         
  1920.         11 Notes from the Author
  1921.            
  1922.            I originally developed the core of this package to fill
  1923.            certain needs that I had as a programmer and a PC
  1924.            Consultant. As the package grew, I've considered splitting
  1925.            it up into two separate sets. One general purpose set (with
  1926.            the DOS and batch file commands), another for Pascal
  1927.            programmers.  When you register, please, let me know your
  1928.            thoughts on this point. If enough of you suggest that these
  1929.            should be split into two packages, I will do so in the next
  1930.            version of this package. 
  1931.            
  1932.            I would also be very grateful for any additional feedback
  1933.            from you.  Let me know of other utilities that would be
  1934.            helpful to you, or changes/enhancements that you'd like to
  1935.            see in future versions of the existing programs. 
  1936.            
  1937.            I hope that you find these programs as useful as I have. I
  1938.            use most of them daily. They were a joy to write and I'm
  1939.            very proud to have you use them. 
  1940.            
  1941.  
  1942.  
  1943.  
  1944.  
  1945.  
  1946.  
  1947.  
  1948.  
  1949.  
  1950.  
  1951.  
  1952.  
  1953.  
  1954.  
  1955.  
  1956.  
  1957.  
  1958.  
  1959.  
  1960.  
  1961.  
  1962.  
  1963.  
  1964.  
  1965.  
  1966.  
  1967.  
  1968.  
  1969.  
  1970.  
  1971.  
  1972.         10:20pm Sep 17,1989         Eissinger Utilities          Page:30 
  1973.  
  1974.  
  1975.  
  1976.  
  1977.  
  1978.  
  1979.  
  1980.  
  1981.  
  1982.         EISSINGER UTILITIES
  1983.  
  1984.         
  1985.         
  1986.         12 ShareWare
  1987.            
  1988.            The Eissinger Utilities are distributed as ShareWare.
  1989.            
  1990.            The software described in this document is distributed free
  1991.            or at minimal charge for evaluation only.  Users of this
  1992.            software are to license this software according to the
  1993.            instructions given in this document.
  1994.            
  1995.            Copies of this software may be made only in accordance with
  1996.            instructions given in this document.
  1997.         13 Registration Form
  1998.            
  1999.                    Item          Quantity X Price = Total
  2000.            
  2001.                    Disk   3.5"   ________ 
  2002.            
  2003.                    Disk   5.25"  ________ 
  2004.            
  2005.                    License       ________ x   $25 = _________ 
  2006.            
  2007.                    Total                            =========
  2008.            
  2009.            
  2010.                      Name : ________________________________
  2011.            
  2012.                 Address 1 : ________________________________
  2013.            
  2014.                 Address 2 : ________________________________
  2015.            
  2016.            City/State/Zip : ________________________________
  2017.            
  2018.                     Phone : (_______)  _____________________
  2019.            
  2020.            
  2021.            Please Mail, with Payment to . . .
  2022.                   Michael A. Eissinger
  2023.                   Microcomputer Consultant
  2024.                   346 East Cedar
  2025.                   Hanford, CA 93230
  2026.            
  2027.            
  2028.         
  2029.         
  2030.  
  2031.  
  2032.  
  2033.  
  2034.  
  2035.  
  2036.  
  2037.  
  2038.         10:20pm Sep 17,1989         Eissinger Utilities          Page:31 
  2039.  
  2040.  
  2041.  
  2042.  
  2043.  
  2044.  
  2045.  
  2046.  
  2047.  
  2048.         EISSINGER UTILITIES - Table of Contents
  2049.  
  2050.  
  2051.         2  License Statement. . . . . . . . . . . . . . . . . . . . .2
  2052.         3  Warranty . . . . . . . . . . . . . . . . . . . . . . . . .2
  2053.         4  Introduction . . . . . . . . . . . . . . . . . . . . . . .3
  2054.         5  Getting Started. . . . . . . . . . . . . . . . . . . . . .5
  2055.         6  DOS/System Utility Programs. . . . . . . . . . . . . . . .6
  2056.            6.1 HWare. . . . . . . . . . . . . . . . . . . . . . . . .6
  2057.                 6.1.1  System CPU & Math Coprocessor. . . . . . . . .6
  2058.                 6.1.2  System Date/Time . . . . . . . . . . . . . . .6
  2059.                 6.1.3  Conventional Memory. . . . . . . . . . . . . .7
  2060.                 6.1.4  EMS - Expanded Memory. . . . . . . . . . . . .7
  2061.                 6.1.5  Extended Memory. . . . . . . . . . . . . . . .7
  2062.                 6.1.6  Computer . . . . . . . . . . . . . . . . . . .7
  2063.                 6.1.7  ComSpec, Path, Prompt. . . . . . . . . . . . .7
  2064.                 6.1.8  Video Adapter. . . . . . . . . . . . . . . . .7
  2065.                 6.1.9  Verify/Break . . . . . . . . . . . . . . . . .7
  2066.                 6.1.10 Toggle Key Status. . . . . . . . . . . . . . .7
  2067.                 6.1.11 Mouse. . . . . . . . . . . . . . . . . . . . .7
  2068.                 6.1.12 Enhanced Keyboard. . . . . . . . . . . . . . .8
  2069.                 6.1.13 SideKick . . . . . . . . . . . . . . . . . . .8
  2070.                 6.1.14 Multi-Tasker . . . . . . . . . . . . . . . . .8
  2071.                 6.1.15 DOS Print Spooler. . . . . . . . . . . . . . .8
  2072.                 6.1.16 Printer Ports. . . . . . . . . . . . . . . . .8
  2073.                 6.1.17 Network. . . . . . . . . . . . . . . . . . . .8
  2074.                 6.1.18 Disk Drives. . . . . . . . . . . . . . . . . .8
  2075.                 6.1.19 Running HWare. . . . . . . . . . . . . . . . .9
  2076.                 6.1.20 Example. . . . . . . . . . . . . . . . . . . 10
  2077.            6.2 MemChk . . . . . . . . . . . . . . . . . . . . . . . 11
  2078.         7  Batch File Utilities . . . . . . . . . . . . . . . . . . 12
  2079.            7.1 Batch File Building Utilities. . . . . . . . . . . . 12
  2080.                7.1.1  BldBat. . . . . . . . . . . . . . . . . . . . 12
  2081.                7.1.2  Meld. . . . . . . . . . . . . . . . . . . . . 13
  2082.                7.1.3  Paste . . . . . . . . . . . . . . . . . . . . 14
  2083.            7.2 Batch Language Extensions. . . . . . . . . . . . . . 16
  2084.                7.2.1  Kursor. . . . . . . . . . . . . . . . . . . . 16
  2085.                7.2.2  PutCurs . . . . . . . . . . . . . . . . . . . 16
  2086.                7.2.3  Screen Clearing . . . . . . . . . . . . . . . 17
  2087.                       7.2.3.1 ClrAbove. . . . . . . . . . . . . . . 17
  2088.                       7.2.3.2 ClrBelow. . . . . . . . . . . . . . . 17
  2089.                       7.2.3.3 ClrBox. . . . . . . . . . . . . . . . 17
  2090.                       7.2.3.4 ClrLine . . . . . . . . . . . . . . . 17
  2091.                7.2.4  Color . . . . . . . . . . . . . . . . . . . . 18
  2092.                7.2.5  Border. . . . . . . . . . . . . . . . . . . . 18
  2093.                7.2.6  Typ . . . . . . . . . . . . . . . . . . . . . 19
  2094.                7.2.7  PauseC. . . . . . . . . . . . . . . . . . . . 19
  2095.                7.2.8  Eko . . . . . . . . . . . . . . . . . . . . . 20
  2096.                7.2.9  User Response Batch Entry Utilities . . . . . 21
  2097.                       7.2.9.1 GetResp . . . . . . . . . . . . . . . 21
  2098.                       7.2.9.2 GetYN . . . . . . . . . . . . . . . . 21
  2099.                7.2.10 Time/Date Utilities . . . . . . . . . . . . . 22
  2100.                       7.2.10.1 Now. . . . . . . . . . . . . . . . . 22
  2101.                       7.2.10.2 Today. . . . . . . . . . . . . . . . 22
  2102.                7.2.11 Tone. . . . . . . . . . . . . . . . . . . . . 23
  2103.  
  2104.  
  2105.  
  2106.  
  2107.  
  2108.  
  2109.  
  2110.  
  2111.  
  2112.  
  2113.  
  2114.         EISSINGER UTILITIES - Table of Contents
  2115.  
  2116.         8  Text File Utilities. . . . . . . . . . . . . . . . . . . 24
  2117.            8.1 Head . . . . . . . . . . . . . . . . . . . . . . . . 24
  2118.            8.2 Tail . . . . . . . . . . . . . . . . . . . . . . . . 24
  2119.            8.3 Case . . . . . . . . . . . . . . . . . . . . . . . . 25
  2120.         9  Pascal Programmer's Utilities. . . . . . . . . . . . . . 26
  2121.            9.1 Extract. . . . . . . . . . . . . . . . . . . . . . . 26
  2122.            9.2 Indent . . . . . . . . . . . . . . . . . . . . . . . 27
  2123.            9.3 Mainline . . . . . . . . . . . . . . . . . . . . . . 28
  2124.         10 System Requirements. . . . . . . . . . . . . . . . . . . 29
  2125.         11 Notes from the Author. . . . . . . . . . . . . . . . . . 30
  2126.         12 ShareWare. . . . . . . . . . . . . . . . . . . . . . . . 31
  2127.         13 Registration Form. . . . . . . . . . . . . . . . . . . . 31
  2128.  
  2129.