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

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