home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / dosutils / lcd_40a.arj / HISTORY.DOC < prev    next >
Text File  |  1991-08-17  |  20KB  |  396 lines

  1.  
  2.                        Led's Change Directory (LCD) v4.0
  3.  
  4.                      Copyright (c) 1991 by Keith Ledbetter.
  5.  
  6.                                All rights reserved.
  7.  
  8.  
  9.  
  10. Revision History
  11. ----------------
  12.  
  13.  
  14.  v4.0a  8/17/91   o LCD's pop-up selection box is now twice as big as
  15.                     earlier versions.
  16.  
  17.                   o LCD now has a "speed search" option in the selection
  18.                     screen.  Any keypresses will be filtered into this
  19.                     speed-search field, and will immediately filter out
  20.                     non-matching directory names.  The speed search does
  21.                     its matching from the START of the directory name by
  22.                     default.   You can toggle this on and off by pressing
  23.                     the '*' key.  Pressing the '*' key turns on "match
  24.                     anywhere" logic.  For example, if you have directories
  25.                     named UTILS and BUTTONS, a speed search entry of "ut"
  26.                     would only show the UTILS directory.  Pressing "*"
  27.                     would show both the UTILS and the BUTTONS directories.
  28.  
  29.                   o There is now Microsoft-compatible mouse support in
  30.                     the pop-up selection box.  You must specify the "/M"
  31.                     parameter AT THE END of the command line for mouse
  32.                     support to be turned on.  You must also have loaded
  33.                     your mouse driver before invoking LCD.   If you are
  34.                     currently ALIASing CD with either 4DOS or DOS 5's
  35.                     DOSKEY, just do this:
  36.  
  37.                         4DOS:    alias cd `lcd %1 /M`
  38.  
  39.                         DOSKEY:  doskey cd=lcd $1 /M
  40.  
  41.  
  42.                     When mouse support is active, the following screen
  43.                     areas are "hot areas":
  44.  
  45.                     ┌─ aborts the program (or right mouse button)
  46.                     │
  47.                     │      ┌─ clicking on the top bar "pages up"
  48.                     │      │
  49.                  ╒═[■]══════════════════╡ ...... .... ..... ╞╤═╕
  50.    clicking on a │   ...............                         │^│- line up
  51.    name changes ─┼── ...........                             │░│
  52.    to that dir   │   ...................                     │░│
  53.                  │                                           │v│- line down
  54.                  ├───────────────────────────────────────────┴─┤
  55.                  │   ......│. .... .. . . . . . .... ... ....  │
  56.                  ├─────────┼───────────────────────────────────┤
  57.                  │   ......│. .... .. . . . . . .... ... ....  │
  58.                  ╘═════════╪═══════════════════════════════════╛
  59.                            │
  60.                            └─ clicking on the this bar "pages down"
  61.  
  62.  
  63.                   o LCD can now rename subdirectories and update the
  64.                     database immediately.  This is done with the "LCD REN"
  65.                     command.  You can not specify a path name in the new
  66.                     filename.  For example, if you're not in the current
  67.                     directory for the rename, don't do this:
  68.  
  69.                              LCD ren c:\path\olddir c:\path\newdir
  70.  
  71.                     instead, simply do:
  72.  
  73.                              LCD ren c:\path\olddir newdir
  74.  
  75.                     For those of you doing aliases, you can do:
  76.  
  77.                          4DOS:     alias rendir `LCD REN %1 %2`
  78.                          DOSKEY:   doskey rendir=LCD REN $1 $2
  79.  
  80.                   o LCD now sees hidden directories when doing a scan.
  81.  
  82.                   o You can now do "LCD ..." as a shortcut to go up two
  83.                     directories, or "LCD ...." to go up three directories.
  84.  
  85.                   o An even easier shortcut is the "-n" parameter, which
  86.                     moves you up "n" directory levels.  For example, if you
  87.                     are currently in the C:\PCPLUS\DOWNLOAD\NEW\TEMP
  88.                     directory, "LCD -3" would move you to the C:\PCPLUS dir.
  89.  
  90.                   o The LCD_COLORS environment variable can now either be
  91.                     specified by NUMBER or by NAME.  For example, you can
  92.                     now say
  93.  
  94.                     SET LCD_COLORS=blue white yellow lightgray blue red
  95.  
  96.                     To get a complete listing of the available color names,
  97.                     just do an "LCD /?" command.
  98.  
  99.                   o Two new "errorlevel" conditions:
  100.  
  101.                        10 :   unable to rename the specified directory.
  102.                        11 :   a bad parameter was specified.
  103.  
  104.  v3.1a  5/05/91   o Sorry for the back-to-back releases, but 43 and 50
  105.                     line modes on EGA/VGA monitors was something that
  106.                     I'd promised for release in v3.0a.  Unfortunately,
  107.                     it completely slipped my mind.  Of course, only a
  108.                     few hours after 3.0's release, quite a few people
  109.                     reminded me of my intentions.  This version will
  110.                     actually support any number of lines as long as
  111.                     the BIOS reports it correctly.
  112.  
  113.  v3.0a  5/03/91   o From an operational point of view, it will look to
  114.                     you like LCD has changed very little.  In fact, the
  115.                     entire program has been totally rewritten from the
  116.                     ground up.  This was facilitated by one problem --
  117.                     people with large drives (normally on Networks)
  118.                     couldn't scan all of their drives because earlier
  119.                     versions of LCD would allow only a 22K database size.
  120.                     In normal use, this would usually average out to around
  121.                     a maximum of 1,100 directory entries that could be
  122.                     stored in the database.   I say "usually" because the
  123.                     way the old (v2.x) LCD stored its database was
  124.                     variable-length.
  125.  
  126.                     Version 3.x of LCD now uses a totally different,
  127.                     fixed-entry-size file format that can store up to
  128.                     4,000 directory entries in the database.
  129.  
  130.                   o Because of the new database format, you must re-scan
  131.                     after installing v3.0a.
  132.  
  133.                   o Since LCD is being used by many people as a total
  134.                     replacement for DOS's CD, RD, and MD commands (through
  135.                     aliasing), I changed the program to simply return the
  136.                     current path name if you invoke LCD with no command
  137.                     line parameters (just like DOS's CD command does).
  138.                     If you want to see the help screen, you must explicitly
  139.                     do an "LCD /?" (or "LCD /HELP") command.
  140.  
  141.                   o Because of the new database format, LCD can no longer
  142.                     store a child directory in the database if its parent
  143.                     isn't there.  In other words, if you do this (with no
  144.                     'aliases' on MD):
  145.  
  146.                            MD C:\Junk
  147.                            LCD md C:\Junk\Junk2
  148.  
  149.                     LCD will create the directory "Junk2", but it will tell
  150.                     you that it couldn't store the name in the database
  151.                     because its parent wasn't found.
  152.  
  153.                   o If you have more than 4,000 directories, LCD will
  154.                     still  abort as always, but it WILL save the directory
  155.                     database up to that point (ie: your first 4000 dirs).
  156.  
  157.                   o The LCD environment variable now specifies the entire
  158.                     filename of where you want the index to be.  If you
  159.                     don't have an LCD environment variable, the default is
  160.                     "C:\LCD.IDX" as always.  But, if you want to move it,
  161.                     you can do:
  162.  
  163.                           SET LCD=D:\Utils\SubDirs.Idx   (or whatever)
  164.  
  165.                   o I have "reversed" the /SCAN logic so that there are now
  166.                     two switches:
  167.  
  168.                            /SCAN   -  does a normal scan, INCLUDING
  169.                                       directories with extensions
  170.                            /QSCAN  -  does a v2.x-type scan, which ignores
  171.                                       directories with extensions
  172.  
  173.                     I made this change because about 95% of my tech support
  174.                     calls on LCD are this:  "it's not finding my directories
  175.                     with extensions on them!" (about 95% of my SST calls are
  176.                     for the same reason).
  177.  
  178.                   o You can now change the colors of the pop-up display box.
  179.                     You do this by setting an environment variable named
  180.                     "LCD_COLORS".  Its format:
  181.  
  182.                         Set LCD_Colors = background
  183.                                          foreground
  184.                                          highlight
  185.                                          Selection_Bar_Background
  186.                                          Selection_Bar_Foreground
  187.                                          Thumbtack_color
  188.  
  189.                     (all on one line, of course).  The colors are specified
  190.                     by number, where the colors are:
  191.  
  192.                            0  BLACK             8  DARKGRAY
  193.                            1  BLUE              9  LIGHTBLUE
  194.                            2  GREEN            10  LIGHTGREEN
  195.                            3  CYAN             11  LIGHTCYAN
  196.                            4  RED              12  LIGHTRED
  197.                            5  MAGENTA          13  LIGHTMAGENTA
  198.                            6  BROWN            14  YELLOW
  199.                            7  LIGHTGRAY        15  WHITE
  200.  
  201.                     As an example:
  202.  
  203.                            Set LCD_Colors = 7 0 14 1 15 3
  204.  
  205.                     would give you a LIGHTGRAY box, with BLACK text, YELLOW
  206.                     highlighting, BLUE selection bar with WHITE text, and a
  207.                     CYAN thumbtack (on the scroll bar).
  208.  
  209.                   o If you use LCD on a monochrome system, just do this:
  210.  
  211.                            Set LCD_Colors = Mono
  212.  
  213.                     and LCD will select a predefined monochrome color set.
  214.  
  215.                   o You can now abort the /SCAN process with the ESCape key.
  216.  
  217.                   o Two new "errorlevel" conditions:
  218.  
  219.                        8  :   there wasn't enough memory to allocate for
  220.                               the directory database.
  221.                        9  :   either the "LCD" or "LCD_COLORS" environment
  222.                               variable is incorrectly formatted.
  223.  
  224.  
  225.  v2.1   3/07/91   o LCD now returns more detailed ERRORLEVEL conditions,
  226.                     which had been asked for by quite a few users who
  227.                     invoke LCD from batch files.  The errorlevels are as
  228.                     follows:
  229.  
  230.                        0  :   LCD was successful
  231.                        1  :   LCD was successful; ignoring floppy drive
  232.                        2  :   unable to change to the drive or directory
  233.                        3  :   drive scan failed
  234.                        4  :   database error (can't read/write/create)
  235.                        5  :   can't create/remove specified directory
  236.                        6  :   no command line parameters were specified
  237.                        7  :   user aborted LCD with the ESC key
  238.  
  239.                     There is a batch file included (LCDTEST.BAT) that
  240.                     shows how you can use these values in your batch files.
  241.  
  242.  v2.0  12/01/90   o Simply an oversight: v1.4 would update the directory
  243.                     database if you used LCD to create a directory on
  244.                     drive A: or B:.  LCD no longer updates the directory
  245.                     database if you use it to make or remove a directory
  246.                     on these drives (this was probably only apparent to
  247.                     those of us who "alias" MD and RD to use LCD.EXE).
  248.  
  249.  v1.5 - v1.9      o These version numbers were skipped.
  250.  
  251.  v1.4  11/24/90   o LCD can now be used as a TOTAL replacement for DOS's
  252.                     "cd", "rd", and "md" commands.  LCD will now try to
  253.                     immediately change to the directory name that you
  254.                     specify; if that fails, only then will it go to the
  255.                     directory database to search for fuzzy matches.  In
  256.                     other words, if you have the following two directories
  257.                     somewhere:
  258.  
  259.                                     C:\TELIX\DOWNLOAD
  260.                                     C:\PROCOMM\DOWNLOAD
  261.  
  262.                     and you are currently in the C:\PROCOMM directory, then
  263.                     "LCD download" will change you to the \PROCOMM\DOWNLOAD
  264.                     directory without invoking the dialog box.
  265.  
  266.                   o LCD can now create and delete directories itself, with
  267.                     immediate updating of the directory database at the
  268.                     same time.  The syntax is:
  269.  
  270.                                  LCD md directory_name
  271.                                  LCD rd directory_name
  272.  
  273.                     These commands are most useful when used with an
  274.                     aliasing shell like CED or 4DOS.  Since I use 4DOS,
  275.                     I have aliases set up as follows:
  276.  
  277.                                  alias cd `lcd %1`
  278.                                  alias md `lcd md %1`
  279.                                  alias rd `lcd rd %1`
  280.  
  281.                   o You can now set an environment variable named LCD to
  282.                     the drive that you'd like your LCD.IDX file stored on
  283.                     (for example, SET LCD=D tells LCD to maintain your
  284.                     database in the file D:\LCD.IDX).  If there is no LCD
  285.                     environment variable, the file will be kept on drive
  286.                     C: just like before.
  287.  
  288.                   o When in the scrollable dialog box, you now have use of
  289.                     the full movement keys (PgUp, PgDn, Home, End, arrow
  290.                     keys).  You can also press C through Z to immediately
  291.                     go to that drive's directories.  This is most useful
  292.                     when doing "LCD *" to see all names in the database.
  293.  
  294.  v1.3  10/15/90   o Fixed a bug where LCD would get confused if you had a
  295.                     one-letter directory name, and that letter also occurred
  296.                     in its parent directory (ie: "c:\aRc\R").
  297.  
  298.                   o Of course, the above change can be a problem if (a) you
  299.                     have a one-character directory name, as in R, and you
  300.                     also have a lot of other directories that begin with R.
  301.                     So, I have changed LCD so that it understands an asterisk
  302.                     ('*') as a wildcard character.  Some examples are the
  303.                     easiest way to explain:
  304.  
  305.                         LCD r*      :   find all paths that BEGIN with the
  306.                                         letter 'r'.
  307.                         LCD *on     :   find all paths that have the word
  308.                                         "on" in them.
  309.                         LCD *       :   show me all paths in the database.
  310.  
  311.                  o   A few people wanted to be able to change to either
  312.                      (a) the parent directory, or (b) the root directory
  313.                      while still using LCD.  LCD will now allow this,
  314.                      so you can do:
  315.  
  316.                          LCD ..              ;go up one level
  317.                          LCD \               ;go to the root.
  318.  
  319.  v1.2  10/11/90   o  A lot of people (in fact, everyone who has contacted
  320.                      me) have suggested that LCD should give the highest
  321.                      priority to the first positions of the pathname
  322.                      specified.  In other words, if you have the following
  323.                      two paths on your hard drive:
  324.  
  325.                               c:\testing\programs
  326.                               c:\atest\data
  327.  
  328.                      then "LCD TEST" should change to the \testing\
  329.                      directory immediately.   v1.2 now does this.
  330.  
  331.                   o Overall, the matching logic in v1.2 has been greatly
  332.                     improved.  It now does a much better job of figuring
  333.                     out what you really wanted it to do.  But, it will
  334.                     probably help if you know exactly how LCD does it's
  335.                     searching.  In a nutshell, here is what LCD does:
  336.  
  337.                         1.  Look for an EXACT match on the directory name
  338.                             specified.  If more than one found, display
  339.                             the dialog box. If none found, go to step 2.
  340.  
  341.                         2.  Look for a "fuzzy" match on the name. By LCD's
  342.                             standards, a fuzzy match is the name you
  343.                             specified followed by any extra data.  For
  344.                             example, if you specify "LCD data", then all
  345.                             of the following would match:
  346.  
  347.                                 c:\data1
  348.                                 c:\database
  349.                                 f:\dataset
  350.  
  351.                             If more than one match found, display the
  352.                             dialog box. If none found, go to step 3.
  353.  
  354.                         3.  At this point, LCD just looks for the partial
  355.                             string anywhere in a path name, preceeded or
  356.                             followed by any characters.
  357.  
  358.                   o Since so very few people use extensions on their
  359.                     directory names, I changed the logic to once again
  360.                     use "*." for directory searches instead of "*.*".
  361.                     This speeds the /SCAN function up by about 50%.  If
  362.                     you have directory names with extensions on them,
  363.                     then you must use the /ESCAN switch instead of /SCAN.
  364.                     Operation is the same, except that LCD will then use
  365.                     the slower scanning method.
  366.  
  367.  v1.1  10/04/90   o Since the .IDX file is stored a little differently,
  368.                     you MUST do a /SCAN before using LCD v1.1 (this is
  369.                     for those of you currently using v1.0).
  370.  
  371.                   o LCD is now much smarter on "fuzzy" directory names.
  372.                     For example, "lcd pcp" will now change you to your
  373.                     "d:\pcplus" directory always, even if you have
  374.                     "pcplus\downloads" and "pcplus\uploads", etc.
  375.  
  376.                   o When LCD can't figure out which directory you really
  377.                     want, it will now pop up a scrollable dialog box with
  378.                     all of the matches found in it.  You simply move the
  379.                     highlight bar to the directory that you want, and then
  380.                     press <Enter>.
  381.  
  382.                     A lot of people requested something like this, and I
  383.                     wasn't sure how I was going to like it at first.  But,
  384.                     after playing with it for a couple of days, I think it
  385.                     was a good idea.  It's much more logical than LCD trying
  386.                     to "cycle" through all of the matches one invocation at
  387.                     a time.
  388.  
  389.                   o A few people also complained about LCD not seeing
  390.                     directories that have an extension on them
  391.                     (ie: MYDATA.DIR).  I still can't sneak by anybody on
  392.                     this issue!  So, LCD v1.1 now sees directories with
  393.                     extensions;  you will notice that the /SCAN function
  394.                     takes around twice as long to run now.
  395.  
  396.