home *** CD-ROM | disk | FTP | other *** search
- *******************************************************************************
- * TXS.DOC-V2.0 *
- * LAST UPDATE - Jul. 12, 1991. (c) 1991 by Loewy Ron. *
- *******************************************************************************
-
- ┌─────────────────────────────────────────────────┐
- │█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀│█
- │█ ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▄ │█
- │█ ▀▀▀▀▀▀▀▒▒▒█▀▀▀▀▀▀▀▀ │█
- │█ ▒▒▒█ ░░▄ ░░▄ │█
- │█ ▒▒▒█ ▀░░▄ ░░█▀▀ │█
- │█ ▒▒▒█ E ▀░░█▀ │█
- │█ ▒▒▒█ ░░█▀░░▄ T │█
- │█ ▒▒▒█ ░░█▀▀ ▀░░▄ │█
- │█ ▒▒▒█ ▀▀ ▀▀ │█
- │█ ▀▀▀ │█
- │█ │█
- │█ ▓▓▓▓▓▓▓▄ H │█
- │█ ▓▓█▀▀▀▀▀▀ │█
- │█ ▓▓▓▓▓▓▓▄ A │█
- │█ ▀▀▀▀▀▓▓▄ R │█
- │█ ▓▓▓▓▓▓█▀▀ E │█
- │█ ▀▀▀▀▀▀ │█
- │█ C │█
- │█ │█
- └─────────────────────────────────────────────────┘█
- ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
-
- Contact :
-
- Loewy Ron,
- 9 Haneveem st.
- Herzeliya, 46465,
- Israel.
-
- TeXt-Search program documantation file, 1991.
-
-
- " WHERE IS MY TEXTSWITCH, THE ONE WITH THE PICKLES " (tm).
-
-
- *******************************************************************************
- * Whats-New *
- *******************************************************************************
-
- - Fixed VGA Font size detection on some VGA adapters.
-
- - Added mathematic logic signs for AND (*), OR (+), NOT (~), XOR (@)
-
- - Added Display file Option from Files menu.
-
- - Added hot-keys ALT-S, ALT-F, ALT-Q, ALT-E for kbd users
- to open menus.
-
- - A new About screen is presented.
-
- - Added dos wild-card support for add file to dictionary.
-
- - Added stats entry in system menu, gives Dictionary statistics.
-
- - Added Exclude words functionality, words that are assumed to be
- in every file and thus are not saved to the normal dictionary, but
- to a special exclude dictionary, this feature allows the user to
- create bigger logical dictionaries, because many redundent entries
- are eliminated, and there is more space left for needed words.
-
- - Added Exclude menu to manipulate the exclude dictionary
-
- - Added support for hebrew words.
-
- - The PANIC termination keys (RIGHT mouse button, or ALT-X) open a
- dialog box and ask for confirmation from now on.
-
- *******************************************************************************
- * Introduction *
- *******************************************************************************
-
-
- During 1989 DDJ published in the C programming column a text - search
- program called TEXTSRCH, I was interested in the project, and found some
- uses to it in my job, however - the implementation of TEXTSRCH had some
- storage-size side effects that prohibited me from using the program.
-
- In the 1990 November issue of DDJ, Mr. E. Floyd wrote a very interesting
- article about existential dictionaries, After reading the article and
- examining the supplied dictionary source code, I decided to write a program
- that would offer TEXTSRCH functionality, and use existential dictionary
- to save storage space. TXS is this program.
-
- At the company I work for we use Telex messages to support our clients
- technically, and to interact with companies we are engaged with, the Telex
- messages are stored in a special \telex directory on one of the PCs. When
- we had to search for several issues, we used to look for the subject lines
- in our secretary's Telex log-book, or use grep to find the relevant files.
- The problems with this approach - The search is slow, slow, not
- sophisticated and .. (did I mention it before ?) Slow. TEXTSRCH offered a
- way to perform "Logic" search on the Indexed files-database, however, In
- order to support our 300K of 250+ (and growing) files, TEXTSRCH built a
- 500K index file, and we had to re-compile TEXTSRCH when-ever our data-base
- exceeded the number of supported files. Enter TXS , we now use a indexing
- system for our files, that consumes only 70K (even less) on our hard-disk,
- and even if we will double the number of files, TXS will not consume more
- then that amount. (maybe some extra K's for the CFG file).
-
- TXS features - index files for words existentiality, using small storage
- for the dictionary files, a user-friendly interface (Much much nicer then
- TEXTSRCH), multiple query windows, "Smart", "Logic" queries, great colors,
- (well.. thats what I think, It was not me that chose them .. ), and some
- place to grow. (Look for the next release).
-
- *******************************************************************************
- * Setup *
- *******************************************************************************
-
- 1. Copy the TXS.EXE program to a directory in the PATH.
- 2. Optional - Define a TXSFILE environment variable in your AUTOEXEC.BAT
- file, to point to the default dictionary. If this variable is not set
- TXS will refer to TXSDEF as the default dictionary.
-
- Please notice : when you start TXS for the first time it will complain that
- it can not find TXSDEF, answer the alert window using the
- mouse, or the ENTER key, and create a New dictionary from
- the System menu.
-
- *******************************************************************************
- * Operation *
- *******************************************************************************
-
- To start TXS enter the following command in the command line :
-
- txs [dictionary_name]
-
- The dictionary_name is optional, if a dictionary_name is supplied TXS will
- look for dictionary_name.CFG file, to describe the dictionary. If
- dictionary_name was not supplied, TXS will look for the TXSFILE environment
- variable, if this variable is not set, TXS will look for the TXSDEF.CFG
- dictionary configuration file.
-
- Some examples to the operation of TXS are :
-
- TXS - will look for TXSDEF.CFG
-
- SET TXSFILE=C:\DICT\INDEX
- TXS - will look for the file
- INDEX.CFG in the DICT directory.
-
- TXS C:\TELEX\DICT - will look for the DICT.CFG file
- in the C:\TELEX directory.
-
- After TXS displays its About window, choose the Ok button using the mouse
- left button, or pressing the ENTER key, if you do not have a mouse installed.
-
- To activate the menu use the mouse to point on the desired menu and press
- the left-button, or press the F10 key if you do not have a mouse.
- (Keyboard users can press ALT with the first letter of the menu they want
- to open, ALT-F for files, as an example).
-
- TXS menu is defined as follows :
-
- System menu :
-
- Path - define the current work directory.
- Directory - display the current directory's file list.
- New - define a new dictionary.
- About - display the introduction window.
- Command - Open a command log window, please refer to the
- Command section.
- cmdWin - Open an enhanced command log window, please refer
- to the Command section.
- Stats - Give dictionary statistics.
- Quit - Exit TXS.
-
- Files menu :
-
- Add - add a new text file to the dictionary index.
- Remove - remove a text file from the dictionary index.
- Display - display a file from the dictionary in a window.
-
- Query menu :
-
- Open log - open a query log window. several windows can be
- on the screen simultaneity.
- Query log - activate the top-most query window.
-
- Exclude menu :
-
- New - Restart a new exclude words dictionary.
- Add Words - Add words to the exclude words dictionary.
- Rebuild - Create a new exclude words dictionary from
- a text file that has one word on every line, and
- has the name of the current dictionary with a
- .EXL suffix.
-
- The status line at the bottom of the screen will list the available hot
- keys to move, re-size, close or switch a window. If you have a mouse
- installed (and the mouse driver is active), you can point the mouse cursor
- to the grow box at the lower-right corner of the window, close it by clicking
- on the top-left close box, move it by pointing on the title (or any-other
- place on the top border row, and dragging.
-
- The queries understood by the query window are the form :
-
- [NOT] search-word-1 [AND | OR | XOR [NOT] search-word-2 [AND | ...]]
-
- Some examples will clarify the definition :
-
- RON and not landmark - will print all of the files that
- contain the word RON, but do not
- contain the word LANDMARK.
- JOG or DIE - will print all the files that
- contain the word JOG, or the
- word DIE, or both of them.
- JOG xor DIE - All of the files that contain
- either one of the words DIE or JOG,
- but not both of them.
-
- Some points to consider :
-
- TXS does not make a difference between upper and lower case letters. -
- lanDmark, LANDMARK, landMArK and landmark are all the same.
-
- TXS define a word - any set of characters ['a'..'z', 'A'..'Z'].
-
- Operator precedence : NOT, AND, XOR, OR.
-
- Over-riding operator precedence - using the () notation :
-
- Joe and Mark or Jehoshaphat
-
- is the same as : (Joe and Mark) or Jehoshaphat, but
-
- Joe and (Mark or Jehoshaphat)
-
- is different, and will yield different results.
-
- Operator substitution : NOT = ~, AND = *, XOR = @, OR = +
-
- Joe AND Mark is the same as
- Joe * Mark
-
- Mark XOR (Joe OR Jill AND NOT Ben) is the same as
- Mark @ (Joe + Jill * ~ Ben) and as
- Mark @ (Joe OR Jill AND ~ Ben)
-
- *******************************************************************************
- * Command *
- *******************************************************************************
-
- The command window is a window that offers a text field in which the user
- can enter DOS command lines, and TXS will mimic the shell operation, and
- display the results in the window, however, this feature is very dangerous,
- because DOS is not a reentrant operating system, to use this feature you must
- understand how TXS handles the commands entered at the command line.
-
- TXS uses the undocumented DOS INT2E to transfer control to the parent OS
- shell, this method was chosen to allow floppy diskettes users use this
- feature without having to put the boot diskette in the boot drive, (otherwise
- we will have to load a secondary shell), this approach, however causes
- difficulties with some of the command shells available. 4DOS for example
- does not normally support INT2E, J.P.Software supplies a free TSR program
- called SHELL2E, to allow 4DOS users to use INT2E, if you use 4DOS,
- get that program, and load it in your AUTOEXEC.BAT file.
-
- APP uses an old time trick to display the results of the command in the
- window, (assuming the command does not write directly to screen), by
- re-directing the command output to a temporary file, and displaying it. This
- approach restricts you to use some of the normal commands, commands that
- require user response, will not work - unless you know the required
- response by heart.
-
- This feature is only useful for quick analysis - to list an archives contents,
- to look at the memory list (using mcbList ..), etc.
-
- (***) - cmdWin - The enhanced command log window - This window was added
- from version 1.7 - this window uses an idea I got from the
- execws unit published by Turbo Power and implemented a similiar
- clip to window to stdout, stdin and stderr by hooking to the
- int 21 vector. Do notice that the code used by me was rewritten
- to hook into my INT2E interface (while execws uses a swap mechanism
- and calls DOS EXEC function). The reason I left both the command
- and cmdWin windows is as follows :
- the cmdWin does not create a temporary file and reads from it, so
- lines that are longer then the current window display are wrapped
- around and not truncated, this can cause a very messy display inside
- that window, however - the cmdWin window will display input requests
- from the user, and wait for responses without the need to remember
- the answers. In cmdWin you can type DIR *.* /P and see the
- "Press any key for more ..", while the normal Command window
- will wait for the key Press without displaying the message !
- - The advantage is that user response is now available through a
- window !
-
- *******************************************************************************
- * DESQview users *
- *******************************************************************************
-
- TXS can run in a DESQview window and operate in it. (No need to zoom TXS to
- operate it). To achive it configure TXS window in DESQview with a N parameter
- to the "Writes directly to screen" option.
-
- *******************************************************************************
- * Command Line Operation *
- *******************************************************************************
-
- From version 1.2 the XCD.EXE program is available and allows command line
- queries on the dictionary built on with TXS. To operate XCD enter from
- the command line :
-
- C:\PATH>xcd <search criteria>
-
- where the <search criteria> is the same as the command line you would have
- entered in the query window of TXS. (XCD is available in a different package)
-
- *******************************************************************************
- * Warranty *
- *******************************************************************************
-
- There is no warranty what so ever, The program is supplied as is,
- The author (Loewy Ron), is not, and will not be responsible for any damages,
- lost profits, or inconveniences caused by the use, or inability to
- use this program. The use of the program is at your own risk.
- By using the program you agree to this.
-
- *******************************************************************************
- * Distribution *
- *******************************************************************************
-
- TXS 1.2 is copyrighted by myself : (c) Copyright 1990, 1991 Loewy Ron,
- I encourage you try this program, and use it at your own will.
-
- Please refer to the ORDER.TXT file supplied for registration information.
-
- *******************************************************************************
- * Contact *
- *******************************************************************************
-
- Contact : Loewy Ron,
- 9 Haneveem st.
- Herzeliya, 46465
- ISRAEL.
-
- (You can contact me for other "Programming" issues as well.)
-
- Other public-domain, freeware and shareware programs by the same author
- include :
-
- JM10 : Jumpin' math - a popup scientific calculator.
- APP17 : Application programmable pilot - Menu system.
- 3D110 : WWToolKit 3D demo applocation. (with Ishai Ben-Aroya).
- WWToolKit : OOPS GUI Turbo-Pascal library. (with Ishai Ben-Aroya).
- MONITOR : Popup memory monitor.
- RPTP13 : Ron's Print to Printer
- WRPTP13 : Ron's Print to Printer for Windows.
-
- and some other packages.
-
- Programming tools -
-
- MOUSLIB4 : Event driven TP6.0 mouse unit.
- TPDESQ11 : DESQview interface for TP6.0
- KBDHDR30 : Keyboard symbolic header, ungetch routine.
-
- *******************************************************************************
- * History *
- *******************************************************************************
-
- Beta-Version 0.9 - Jan. 1991, Internal use.
-
- Version 1.0 - Feb. 1991, first public release.
-
- Version 1.1 - Mar. 1991, first DESQview aware version.
-
- - Fixed dialog box bug with text-fields update after mouse events in
- the middle of field editing.
- - End key reaches text end in text fields, not field end.
- - Fixed kbd systems bug with no-window non-hotkey freeze.
- - Added Command log window.
- - Fixed Remove file bug - updates dictionary file properly.
- - Added kbd support in dialog boxes to mouse users.
- - DESQview aware, can be run in a DESQview window.
-
- Version 1.2 - Jun. 1991, Maintenance release
-
- - Fixed bug : mouse users can not erase status line any more.
- - Nicer drop shadows on color screens.
- - Added Real Time clock.
- - Added cmdWin enhanced command log option from the system menu, please
- look at the command section for the technical differences between the
- Command and cmdWin entries in the system menu.
- - New colors to menubar, using the non-blink option of ega/vga screens.
-
- *******************************************************************************
- * Credits *
- *******************************************************************************
-
- TXS was written using Turbo-Pascal 6.0 (Copyright - Borland Intl').
-
- E.T. Floyd wrote the DDJ published DICT unit, I used the ideas in this unit
- to create TXS, and was helped by the published source code, but My dictionary
- uses different hash algorithm. ( I saw that in DDJ Jan. 1991 MR. Floyd
- answered a letter regarding the hash algorithm. ), I removed some of the
- code I did not need from the DICT unit, and added the ability to remove
- keys from the dictionary.
-
- 4DOS, and SHELL2E are copyrights of J.P. Software.
-
- DESQview is a copyright of Quarterdeck Office Systems.
-
- Windows is a copyright of Microsoft corp.
-
- Noa Nitzan helped me to pick the color selection for TXS (as well as APP),
- and I'm thankful for her help.
-
- Version 1.2 implemented a real-time clock that was rewritten in assembly
- from an idea I received after looking at a TP code written by Stefan
- Tritscher.
-
- Version 1.2 implemeted the enhanced cmdWin command log after looking in the
- assembly code supplied with execws 1.5 from Turbo Power and applying it
- to my INT2E interface .
-
- Roby Gilad showed me the bug about font-size detected on some VGA screens,
- and offered the mathematic logix substitution operators that were added on
- version 2.0
-
- Any products mentioned are copyrights, or trademarks of their respective
- owners.
-