home *** CD-ROM | disk | FTP | other *** search
/ ProfitPress Mega CDROM2 …eeware (MSDOS)(1992)(Eng) / ProfitPress-MegaCDROM2.B6I / TEXT / UTILITY / TXS20.ZIP / TXS.DOC < prev    next >
Encoding:
Text File  |  1991-07-13  |  20.6 KB  |  428 lines

  1. *******************************************************************************
  2. *                                TXS.DOC-V2.0                                 *
  3. * LAST UPDATE - Jul. 12, 1991. (c) 1991 by Loewy Ron.                         *
  4. *******************************************************************************
  5.  
  6.               ┌─────────────────────────────────────────────────┐
  7.               │█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀│█
  8.               │█ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▄                           │█
  9.               │█  ▀▀▀▀▀▀▀▒▒▒█▀▀▀▀▀▀▀▀                           │█
  10.               │█         ▒▒▒█          ░░▄     ░░▄              │█
  11.               │█         ▒▒▒█           ▀░░▄ ░░█▀▀              │█
  12.               │█         ▒▒▒█     E       ▀░░█▀                 │█
  13.               │█         ▒▒▒█            ░░█▀░░▄      T         │█
  14.               │█         ▒▒▒█          ░░█▀▀  ▀░░▄              │█
  15.               │█         ▒▒▒█           ▀▀      ▀▀              │█
  16.               │█          ▀▀▀                                   │█
  17.               │█                                                │█
  18.               │█               ▓▓▓▓▓▓▓▄                    H    │█
  19.               │█              ▓▓█▀▀▀▀▀▀                         │█
  20.               │█               ▓▓▓▓▓▓▓▄      A                  │█
  21.               │█                ▀▀▀▀▀▓▓▄        R               │█
  22.               │█               ▓▓▓▓▓▓█▀▀ E                      │█
  23.               │█                ▀▀▀▀▀▀                          │█
  24.               │█                                    C           │█
  25.               │█                                                │█
  26.               └─────────────────────────────────────────────────┘█
  27.                ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  28.  
  29.                Contact :
  30.  
  31.                          Loewy Ron,
  32.                          9 Haneveem st.
  33.                          Herzeliya, 46465,
  34.                          Israel.
  35.  
  36.         TeXt-Search program documantation file, 1991.
  37.  
  38.  
  39.         " WHERE IS MY TEXTSWITCH, THE ONE WITH THE PICKLES " (tm).
  40.  
  41.  
  42. *******************************************************************************
  43. *                                  Whats-New                                  *
  44. *******************************************************************************
  45.  
  46.         - Fixed VGA Font size detection on some VGA adapters.
  47.  
  48.         - Added mathematic logic signs for AND (*), OR (+), NOT (~), XOR (@)
  49.  
  50.         - Added Display file Option from Files menu.
  51.  
  52.         - Added hot-keys ALT-S, ALT-F, ALT-Q, ALT-E for kbd users 
  53.           to open menus.
  54.  
  55.         - A new About screen is presented.
  56.  
  57.         - Added dos wild-card support for add file to dictionary.
  58.  
  59.         - Added stats entry in system menu, gives Dictionary statistics.
  60.  
  61.         - Added Exclude words functionality, words that are assumed to be 
  62.           in every file and thus are not saved to the normal dictionary, but
  63.           to a special exclude dictionary, this feature allows the user to
  64.           create bigger logical dictionaries, because many redundent entries
  65.           are eliminated, and there is more space left for needed words.
  66.  
  67.         - Added Exclude menu to manipulate the exclude dictionary 
  68.  
  69.         - Added support for hebrew words. 
  70.  
  71.         - The PANIC termination keys (RIGHT mouse button, or ALT-X) open a 
  72.           dialog box and ask for confirmation from now on.
  73.  
  74. *******************************************************************************
  75. *                                Introduction                                 *
  76. *******************************************************************************
  77.  
  78.  
  79.   During 1989 DDJ published in the C programming column a text - search 
  80.  program called TEXTSRCH, I was interested in the project, and found some
  81.  uses to it in my job, however - the implementation of TEXTSRCH had some
  82.  storage-size side effects that prohibited me from using the program.
  83.  
  84.   In the 1990 November issue of DDJ, Mr. E. Floyd wrote a very interesting
  85.  article about existential dictionaries, After reading the article and 
  86.  examining the supplied dictionary source code, I decided to write a program
  87.  that would offer TEXTSRCH functionality, and use existential dictionary
  88.  to save storage space. TXS is this program.
  89.  
  90.   At the company I work for we use Telex messages to support our clients
  91.  technically, and to interact with companies we are engaged with, the Telex
  92.  messages are stored in a special \telex directory on one of the PCs. When
  93.  we had to search for several issues, we used to look for the subject lines
  94.  in our secretary's Telex log-book, or use grep to find the relevant files.
  95.  The problems with this approach - The search is slow, slow, not 
  96.  sophisticated and .. (did I mention it before ?) Slow. TEXTSRCH offered a
  97.  way to perform "Logic" search on the Indexed files-database, however, In
  98.  order to support our 300K of 250+ (and growing) files, TEXTSRCH built a
  99.  500K index file, and we had to re-compile TEXTSRCH when-ever our data-base
  100.  exceeded the number of supported files. Enter TXS , we now use a indexing
  101.  system for our files, that consumes only 70K (even less) on our hard-disk,
  102.  and even if we will double the number of files, TXS will not consume more
  103.  then that amount. (maybe some extra K's for the CFG file).
  104.  
  105.   TXS features - index files for words existentiality, using small storage
  106.  for the dictionary files, a user-friendly interface (Much much nicer then
  107.  TEXTSRCH), multiple query windows, "Smart", "Logic" queries, great colors,
  108.  (well.. thats what I think, It was not me that chose them .. ), and some 
  109.  place to grow. (Look for the next release).
  110.  
  111. *******************************************************************************
  112. *                                    Setup                                    *
  113. *******************************************************************************
  114.  
  115.   1. Copy the TXS.EXE program to a directory in the PATH.
  116.   2. Optional - Define a TXSFILE environment variable in your AUTOEXEC.BAT
  117.      file, to point to the default dictionary. If this variable is not set
  118.      TXS will refer to TXSDEF as the default dictionary.
  119.  
  120.   Please notice : when you start TXS for the first time it will complain that
  121.                   it can not find TXSDEF, answer the alert window using the 
  122.                   mouse, or the ENTER key, and create a New dictionary from
  123.                   the System menu.
  124.  
  125. *******************************************************************************
  126. *                                  Operation                                  *
  127. *******************************************************************************
  128.  
  129.   To start TXS enter the following command in the command line : 
  130.  
  131.   txs [dictionary_name]
  132.  
  133.   The dictionary_name is optional, if a dictionary_name is supplied TXS will
  134.  look for dictionary_name.CFG file, to describe the dictionary. If 
  135.  dictionary_name was not supplied, TXS will look for the TXSFILE environment
  136.  variable, if this variable is not set, TXS will look for the TXSDEF.CFG
  137.  dictionary configuration file.
  138.  
  139.   Some examples to the operation of TXS are :
  140.  
  141.   TXS                                       - will look for TXSDEF.CFG
  142.  
  143.   SET TXSFILE=C:\DICT\INDEX                 
  144.   TXS                                       - will look for the file 
  145.                                               INDEX.CFG in the DICT directory.
  146.  
  147.   TXS C:\TELEX\DICT                         - will look for the DICT.CFG file
  148.                                               in the C:\TELEX directory.
  149.  
  150.   After TXS displays its About window, choose the Ok button using the mouse
  151.  left button, or pressing the ENTER key, if you do not have a mouse installed.
  152.  
  153.   To activate the menu use the mouse to point on the desired menu and press
  154.  the left-button, or press the F10 key if you do not have a mouse.
  155.  (Keyboard users can press ALT with the first letter of the menu they want
  156.   to open, ALT-F for files, as an example).
  157.  
  158.  TXS menu is defined as follows :
  159.  
  160.  System menu :
  161.  
  162.         Path            - define the current work directory.
  163.         Directory       - display the current directory's file list.
  164.         New             - define a new dictionary.
  165.         About           - display the introduction window.
  166.         Command         - Open a command log window, please refer to the
  167.                           Command section.
  168.         cmdWin          - Open an enhanced command log window, please refer
  169.                           to the Command section.
  170.         Stats           - Give dictionary statistics.
  171.         Quit            - Exit TXS.
  172.  
  173.   Files menu :
  174.  
  175.         Add             - add a new text file to the dictionary index.
  176.         Remove          - remove a text file from the dictionary index.
  177.         Display         - display a file from the dictionary in a window.
  178.  
  179.   Query menu :
  180.  
  181.         Open log        - open a query log window. several windows can be 
  182.                           on the screen simultaneity.
  183.         Query log       - activate the top-most query window.
  184.  
  185.   Exclude menu :
  186.  
  187.         New             - Restart a new exclude words dictionary.
  188.         Add Words       - Add words to the exclude words dictionary.
  189.         Rebuild         - Create a new exclude words dictionary from
  190.                           a text file that has one word on every line, and
  191.                           has the name of the current dictionary with a
  192.                           .EXL suffix.
  193.  
  194.   The status line at the bottom of the screen will list the available hot
  195.  keys to move, re-size, close or switch a window. If you have a mouse
  196.  installed (and the mouse driver is active), you can point the mouse cursor
  197.  to the grow box at the lower-right corner of the window, close it by clicking
  198.  on the top-left close box, move it by pointing on the title (or any-other 
  199.  place on the top border row, and dragging.
  200.  
  201.   The queries understood by the query window are the form :
  202.  
  203.   [NOT] search-word-1 [AND | OR | XOR [NOT] search-word-2 [AND | ...]]
  204.  
  205.   Some examples will clarify the definition :
  206.  
  207.  RON and not landmark                   - will print all of the files that 
  208.                                           contain the word RON, but do not
  209.                                           contain the word LANDMARK.
  210.  JOG or DIE                             - will print all the files that 
  211.                                           contain the word JOG, or the
  212.                                           word DIE, or both of them.
  213.  JOG xor DIE                            - All of the files that contain
  214.                                           either one of the words DIE or JOG,
  215.                                           but not both of them.
  216.  
  217.   Some points to consider :
  218.  
  219.   TXS does not make a difference between upper and lower case letters. - 
  220.  lanDmark, LANDMARK, landMArK and landmark are all the same.
  221.  
  222.   TXS define a word - any set of characters ['a'..'z', 'A'..'Z'].
  223.  
  224.   Operator precedence   : NOT, AND, XOR, OR.
  225.  
  226.   Over-riding operator precedence - using the () notation :
  227.  
  228.  Joe and Mark or Jehoshaphat 
  229.  
  230.   is the same as : (Joe and Mark) or Jehoshaphat,  but 
  231.  
  232.  Joe and (Mark or Jehoshaphat)
  233.  
  234.   is different, and will yield different results.
  235.  
  236.   Operator substitution : NOT = ~, AND = *, XOR = @, OR = +
  237.  
  238.   Joe AND Mark                          is the same as 
  239.   Joe * Mark
  240.  
  241.   Mark XOR (Joe OR Jill AND NOT Ben)    is the same as
  242.   Mark @ (Joe + Jill * ~ Ben)           and as 
  243.   Mark @ (Joe OR Jill AND ~ Ben)
  244.  
  245. *******************************************************************************
  246. *                                   Command                                   *
  247. *******************************************************************************
  248.  
  249.   The command window is a window that offers a text field in which the user 
  250.  can enter DOS command lines, and TXS will mimic the shell operation, and 
  251.  display the results in the window, however, this feature is very dangerous, 
  252.  because DOS is not a reentrant operating system, to use this feature you must 
  253.  understand how TXS handles the commands entered at the command line.
  254.  
  255.   TXS uses the undocumented DOS INT2E to transfer control to the parent OS
  256.  shell, this method was chosen to allow floppy diskettes users use this 
  257.  feature without having to put the boot diskette in the boot drive, (otherwise
  258.  we will have to load a secondary shell), this approach, however causes
  259.  difficulties with some of the command shells available. 4DOS for example
  260.  does not normally support INT2E, J.P.Software supplies a free TSR program 
  261.  called SHELL2E, to allow 4DOS users to use INT2E, if you use 4DOS,
  262.  get that program, and load it in your AUTOEXEC.BAT file. 
  263.  
  264.   APP uses an old time trick to display the results of the command in the 
  265.  window, (assuming the command does not write directly to screen), by 
  266.  re-directing the command output to a temporary file, and displaying it. This
  267.  approach restricts you to use some of the normal commands, commands that
  268.  require user response, will not work - unless you know the required
  269.  response by heart. 
  270.  
  271.   This feature is only useful for quick analysis - to list an archives contents,
  272.  to look at the memory list (using mcbList ..), etc.
  273.  
  274.  (***) - cmdWin - The enhanced command log window - This window was added 
  275.          from version 1.7 - this window uses an idea I got from the
  276.          execws unit published by Turbo Power and implemented a similiar
  277.          clip to window to stdout, stdin and stderr by hooking to the
  278.          int 21 vector. Do notice that the code used by me was rewritten
  279.          to hook into my INT2E interface (while execws uses a swap mechanism
  280.          and calls DOS EXEC function). The reason I left both the command
  281.          and cmdWin windows is as follows : 
  282.          the cmdWin does not create a temporary file and reads from it, so 
  283.          lines that are longer then the current window display are wrapped
  284.          around and not truncated, this can cause a very messy display inside
  285.          that window, however - the cmdWin window will display input requests
  286.          from the user, and wait for responses without the need to remember
  287.          the answers. In cmdWin you can type DIR *.* /P and see the 
  288.          "Press any key for more ..", while the normal Command window
  289.          will wait for the key Press without displaying the message !
  290.          - The advantage is that user response is now available through a 
  291.          window !
  292.  
  293. *******************************************************************************
  294. *                               DESQview users                                *
  295. *******************************************************************************
  296.  
  297.   TXS can run in a DESQview window and operate in it. (No need to zoom TXS to
  298.  operate it). To achive it configure TXS window in DESQview with a N parameter
  299.  to the "Writes directly to screen" option.
  300.  
  301. *******************************************************************************
  302. *                           Command Line Operation                            *
  303. *******************************************************************************
  304.  
  305.   From version 1.2 the XCD.EXE program is available and allows command line
  306.  queries on the dictionary built on with TXS. To operate XCD enter from
  307.  the command line :
  308.  
  309.   C:\PATH>xcd <search criteria>
  310.  
  311.  where the <search criteria> is the same as the command line you would have
  312.  entered in the query window of TXS. (XCD is available in a different package)
  313.  
  314. *******************************************************************************
  315. *                                  Warranty                                   *
  316. *******************************************************************************
  317.  
  318.   There is no warranty what so ever, The program is supplied as is,
  319.  The author (Loewy Ron), is not, and will not be responsible for any damages,
  320.  lost profits, or inconveniences caused by the use, or inability to
  321.  use this program. The use of the program is at your own risk. 
  322.  By using the program you agree to this.
  323.  
  324. *******************************************************************************
  325. *                                Distribution                                 *
  326. *******************************************************************************
  327.  
  328.   TXS 1.2 is copyrighted by myself : (c) Copyright 1990, 1991 Loewy Ron,
  329.  I encourage you try this program, and use it at your own will.
  330.  
  331.   Please refer to the ORDER.TXT file supplied for registration information.
  332.  
  333. *******************************************************************************
  334. *                                   Contact                                   *
  335. *******************************************************************************
  336.  
  337.   Contact :     Loewy Ron,
  338.                 9 Haneveem st.
  339.                 Herzeliya, 46465
  340.                 ISRAEL.
  341.  
  342.   (You can contact me for other "Programming" issues as well.)
  343.  
  344.   Other public-domain, freeware and shareware programs by the same author
  345.  include :
  346.  
  347.   JM10          : Jumpin' math - a popup scientific calculator.
  348.   APP17         : Application programmable pilot - Menu system.
  349.   3D110         : WWToolKit 3D demo applocation. (with Ishai Ben-Aroya).
  350.   WWToolKit     : OOPS GUI Turbo-Pascal library. (with Ishai Ben-Aroya).
  351.   MONITOR       : Popup memory monitor.
  352.   RPTP13        : Ron's Print to Printer
  353.   WRPTP13       : Ron's Print to Printer for Windows.
  354.   
  355.   and some other packages.
  356.  
  357.   Programming tools -
  358.  
  359.   MOUSLIB4      : Event driven TP6.0 mouse unit.
  360.   TPDESQ11      : DESQview interface for TP6.0
  361.   KBDHDR30      : Keyboard symbolic header, ungetch routine.
  362.  
  363. *******************************************************************************
  364. *                                   History                                   *
  365. *******************************************************************************
  366.  
  367.   Beta-Version 0.9      - Jan. 1991, Internal use.
  368.  
  369.   Version 1.0           - Feb. 1991, first public release.
  370.  
  371.   Version 1.1           - Mar. 1991, first DESQview aware version.
  372.  
  373.         - Fixed dialog box bug with text-fields update after mouse events in 
  374.           the middle of field editing.
  375.         - End key reaches text end in text fields, not field end.
  376.         - Fixed kbd systems bug with no-window non-hotkey freeze.
  377.         - Added Command log window.
  378.         - Fixed Remove file bug - updates dictionary file properly.
  379.         - Added kbd support in dialog boxes to mouse users.
  380.         - DESQview aware, can be run in a DESQview window.
  381.  
  382.   Version 1.2           - Jun. 1991, Maintenance release
  383.  
  384.         - Fixed bug : mouse users can not erase status line any more.
  385.         - Nicer drop shadows on color screens.
  386.         - Added Real Time clock.
  387.         - Added cmdWin enhanced command log option from the system menu, please 
  388.           look at the command section for the technical differences between the
  389.           Command and cmdWin entries in the system menu.
  390.         - New colors to menubar, using the non-blink option of ega/vga screens.
  391.  
  392. *******************************************************************************
  393. *                                   Credits                                   *
  394. *******************************************************************************
  395.  
  396.   TXS was written using Turbo-Pascal 6.0 (Copyright - Borland Intl').
  397.  
  398.   E.T. Floyd wrote the DDJ published DICT unit, I used the ideas in this unit
  399.   to create TXS, and was helped by the published source code, but My dictionary
  400.   uses different hash algorithm. ( I saw that in DDJ Jan. 1991 MR. Floyd 
  401.   answered a letter regarding the hash algorithm. ), I removed some of the
  402.   code I did not need from the DICT unit, and added the ability to remove
  403.   keys from the dictionary.
  404.  
  405.   4DOS, and SHELL2E are copyrights of J.P. Software.
  406.  
  407.   DESQview is a copyright of Quarterdeck Office Systems.
  408.  
  409.   Windows is a copyright of Microsoft corp.
  410.  
  411.   Noa Nitzan helped me to pick the color selection for TXS (as well as APP),
  412.   and I'm thankful for her help.
  413.  
  414.   Version 1.2 implemented a real-time clock that was rewritten in assembly 
  415.   from an idea I received after looking at a TP code written by Stefan
  416.   Tritscher.
  417.  
  418.   Version 1.2 implemeted the enhanced cmdWin command log after looking in the
  419.   assembly code supplied with execws 1.5 from Turbo Power and applying it
  420.   to my INT2E interface .
  421.  
  422.   Roby Gilad showed me the bug about font-size detected on some VGA screens,
  423.   and offered the mathematic logix substitution operators that were added on
  424.   version 2.0
  425.  
  426.   Any products mentioned are copyrights, or trademarks of their respective
  427.   owners.
  428.