home *** CD-ROM | disk | FTP | other *** search
- PopText HelpSystem
- Version 2.2
- (For Turbo 5.5)
- by
- Brian K. Trotter
-
-
- (C) 1989 Tone Zone Computing
-
-
- Distributed under the ShareWare System
-
-
- Restrictions: Permission is given to freely copy and distribute
- this program so long as there is no charge, and that it is not
- added as an incentive to market another software or hardware
- product. This program is NOT a public domain program, but is
- being distributed under the "ShareWare" concept. Anybody may use
- these programs, but only REGISTERED USERS may actually
- incorporate the units HYPERHLP,HYPFW, HELPDEF and SCREENIO. Users
- are asked to send a registration fee of Twenty-Five
- Dollars ($25.00) to:
- Tone Zone Computing.
- P.O. Box 414
- Bishop, CA 93514
- Registration entitles users to freely incorporate POPTEXT into
- their Turbo Pascal programs. By the way, there are several
- signatures embedded in the code, so I can verify my copyright
- against non-registered users.
-
- Disclaimer: This software and accompanying documentation files
- are provided "AS IS" without warranty of any kind. Further, Tone
- Zone Computing does not Warrant, guarantee, or make any
- representations regarding the use, or the results of use, of this
- software. All risk taken in the use of this software is assumed
- by you, the user and Not Tone Zone Computing, nor any software
- club distributing this software. Due to the nature of this
- software (programming aid), it should be pointed out that
- improper use of this software can lead to unexpected results.
- You, the user assume all responsiblity for these results.
-
- That should satisfy my lawyers. Now on to the more important
- stuff.
-
- I. The Purpose of POPTEXT.
- Too often, especially in the ShareWare market, documentation
- becomes scarce, or users become loath to pass on needed
- documentation files. Often times, programmers fail to properly
- document files out of either neglect or laziness. One feature of
- several commercial programs in addition to outstanding
- documentation is the POP-UP HELP WINDOW. Excellent examples of
- this are found in Turbo Pascal 4.0 and above, Wordstar 2000+, and
- Novel LAN services. With or without the manual, the user has some
- reference available on-line.
- POPTEXT is an includable UNIT for Turbo Pascal programmers to
- prepare similar help systems.
-
-
- II. Features of POPTEXT.
- POPTEXT features an easy to use editor, a unit to include in
- Turbo 5.5 programs and three bonus units, including some fast
- writing routines, routines to enhance CRT, and a unit with all
- of the key definitions.
- The POPTEXT system features Context sensitive help, Window
- linking, and an easy to use Menubar.
- POPRES is a memory resident version of POPTEXT which can be
- accessed through Int $6E
-
- III. About the Help window.
- Each help window is a record consisting of 15 lines and 15
- links. The lines are displayed on the screen, and the links are
- hidden in the background. In addition to being linked by line,
- windows are linked by the Page Up and Page Down keys. Windows are
- stored in a file with the extension .hlp, and are accessed
- randomly by POPTEXT. It is possible to access any record which
- already exists within the helpfile. Using the Editor, you can
- create new files, and append the files up to 256 records each.
-
- IV. Using the Editor.
- Using the Editor is as simple as typing HELPED Plus the name
- of the file you wish to edit. If you do not supply a filename,
- HELPED will prompt you for one. If the file does not exist,
- HelpEd will create a new file.
- Next, you are prompted with options to Edit, Link, Test,
- Choose Another, and Quit.
- Edit - Allows you to place text in the windows. A few helpful
- hints here. After you have selected the Page number, use the
- Arrow keys (Up/Down) to select lines to Edit. Page/Up and
- Page/Down allow you to browse through the pages.
- Important features of Edit.
- F2: Switches you to linking Mode.
- F3: Centers the Current line of text.
- Enter or any Alphanumeric:
- Edit the current line.
- (While Editing line, ESC erases line)
- ESC: Return to Main Menu.
- Link - Linking is the key to POPTEXT. To the right of the
- help box, you will see a list of numbers in another box. Most
- likely, in a new file these will all be zeroes. If you are
- editing the help file which came with this program, you will find
- several non-zero numbers. These represent links in the stack. The
- file can be looked at as a stack of cards. The links allow you to
- move to any portion of the stack. Links are line oriented, so
- selecting the link at the user level is as easy as moving the bar
- to the line containing the link and pressing enter. This is only
- the first step. In the editing mode, you have to mark the text by
- highlighting a keyword in the text line associated with the link.
- To do so, press ^Q before you type the word to be associated, and
- ^W after. This will highlight the word. POPTEXT will properly
- function only when both of these is done.
- There can be up to 15 links in each box. To establish a link,
- move the cursor to the line you want linked and press enter.
- Respond to the prompt with the number you want linked. Pressing
- ALT-C clears all links. Pressing F1 returns you to the editor
- mode.
- Test - Testing the helpscreen causes the program to activate
- the very same subroutine which you will incorporate in your
- program. In this manner, you can see how the help menu will look
- and feel, as well as check the validity of the links.
- Choose Another File - Allows you to close the current help
- stack and select another. If the selected file does not exist,
- PopText will create it.
- Quit and Save - Rather self explanatory.
-
-
-
- Section II: Organizing a PopText Stack.
- I predict the most popular use for this program will be
- context sensitive help. This is best demonstrated from the Turbo
- Pascal Menubar. Whereever you are in the menubar, pressing F1
- gives you help on that subject. This is because its helpfile is
- indexed so that it calls up the exact heading needed. Another
- popular use will be the Deck. The deck is used when it is
- nessessary to show the user a large amount of facts in small
- bits. You start at the top and browse through the cards at your
- leisure. It is possible to provide vast amounts of data through
- the deck.
-
- I. Context Sensitive Help.
- Context sensitive help is achieved when a program is able to
- recognize what block of information is required to deliver to the
- user, and automatically selects the appropriate card from the
- deck.
- Example: You have Six menus with 4 to 9 options on each
- menu. You wish to maintain expandability to up to 9 items on each
- menu. (Menus should never have more that 9 items. If you are
- building larger menus, consider breaking them up. It is much
- easier on the user. The menus are all arranged by Topic. Pressing
- F1 at a Menu Header (e.g. File Options, Compiler Options, Run,
- Edit, etc) will call the card 10 times the menu number. On the
- menu choices, pressing F1 will call 10 times the menu number plus
- the number of the choice. In this way, the cards are indexed
- automatically by topic, and easy to manipulate. Should further
- information be needed past the first card of each topic, it would
- then LINK to a card further away.
-
- II. Random Access Deck.
- Random Access Decks are most usefull for teaching and
- outlines. In addition to Context-Sensitive Help, Turbo Pascal
- also has a Random Access Deck. It is called by pressing F1 again
- after pressing F1. This places the user in a very sophisticated
- menu where he can select from the topic of his choice. Some of
- these are submenus, leading down to further topics. Since all who
- will be using this program are Turbo Pascal Users, I suggest you
- explore the Help system. It will give excellent insight into
- Random Access Decks.
- Example: Information on various topics is stored in my
- stacks. On the first card, I have a list of topics where if there
- are more than 15 topics, I split the options over several decks
- with a more option. (Usually, the first cards are all topic
- cards, so pressing pagedown imediatly gives me more topics.
- On the first menu I select the topic "Cars". This moves me to
- a card with a list of manufacturers. I select "Nissan". This
- moves me to a list of models. I select "Sentra". I am now looking
- at a card with information on the Nissan Sentra. In this manner,
- I can arrange all my data. Another example of how this structure
- works can be seen in Biology. Start your stack with the largest
- topics. From there, work your way down to sub topics until you
- reach the exact information you require.
- The help menu which comes with this program is an example of
- a Random access stack, except that it leads you through the steps
- required much more carefully than you normally might. This is to
- better educate you. Remember, you are responsible for indicating
- to the user the proper way to move about the stack.
-
- It is quite possible to combine a context sensitive stack
- directly into a random access stack. The random access stack must
- eventually dig into the context sensitive data as its final
- results.
-
-
-
-
-
- Including POPTEXT in your programs.
- If you are a Turbo 5.5 user, you are ready to go. Simply add
- the statement Uses Hyperhlp;
- to your program. There are several requirements.
-
- 1. You must call function
- OPENHELPFILE(S:String):Integer;
- 2. Any time you want to use the help system, simply
- invoke the procedure PopTextCard(NUM:BYTE); where num is the card
- number you wish to begin on.
- 3. If Openhelpfile returns a non-zero result, then
- either POPTEXT was unable to find the file, or the file is bad.
- 4. On exit, is is always wise to call the function
- CLOSEHELPFILE:integer;
- 5. You must at compile time have the units
- Keynames,
- Screenio,
- HLPFW,
- HelpDef,
- Hyperhlp; in the Unit directory or current drive.
-
- Using POPRES:
- PopRes is designed for those who do not have Turbo Pascal
- 5.5. Nearly every language enables the user access to the 8088's
- built in interrupt functions. POPRes is a memory resident program
- which traps a normally unused interrupt vector ($6E) and causes
- it to act just like unit HYPERHLP. (It is the unit HYPERHLP with
- some surrounding code.) Load POPRES before loading the program
- which calls the POPTEXT routines.
-
- ******* IMPORTANT NOTE: DO NOT USE THESE INTERRUPT VECTORS
- ******* IF POPRES.EXE IS NOT INSTALLED! YOUR SYSTEM WILL HALT!
-
- We advise caution in the use of these routines if you are
- unfamiliar with the use of Interrupts.
-
- INT $6E - POPRES
-
- AH = 0 PopTextCard
- Entry conditions: AH = 0
- AL = Window to use.
- Exit conditions: None
- Activates the Help window beginning with card
- number Al. Control is passed back to the caller when user escapes
- help.
-
- AH = 1 OPENHELPFILE
- Entry conditions: Ah=1
- DS:DX = pointer to an ASCIIZ
- string with filename of helpfile.
- Exit conditions
- Al = 0 no error
- Al = 1 file not found.
-
- Prepares the help window by assigning a filevar. Required
- preparatory routine before calling PopTextCard.
-
- AH = 2 Closehelpfile
- Entry conditions: AH = 2
- Exit conditions: None
-
- Closes Help file and de-initializes Openhelpfile. Usefull
- for changing help files.
-
-
- A sample program using POPRES is included. Zhlp.asm.
- For your convenience it has already been assembled, but
- you may alter it at your leisure and learn from it.
-
-
-
-
- Licensing agreement.
-
- While this program is in the Shareware system, and no fee can
- be charged for distribution (I make an exception for shareware
- firms and user groups who may charge up to $5.00 for media and
- time to copy only.), It is NOT, repeat NOT a public domain
- program. Please have respect for the many hours which went into
- POPTEXT. Those programmers who uses POPTEXT must appreciate the
- work of programming. I hereby licence to REGISTERED USERS only,
- the right to incorporate Screenio, HLPFW, HelpDef, and Hyperhlp
- into thier programs. I only included the interface sections,
- which are listed in the *.doc files. Currently, only Turbo 4.0 is
- supported, and all other versions must use the memory resident
- POPRES.EXE and interrupts.
-
- Registration Fees and benefits.
-
- By registering this program, you entitle yourself to two
- the latest version of this program, plus one upgrade. I promise,
- there will be upgrades. In addition, you will receive other
- programs on a shareware basis, plus a discount on registration of
- future Tone Zone Computing Programs. Honest, there will be more.
- Registered users may purchase the source code for POPTEXT for
- $50.00. This source code may be modified and distributed in
- your EXEcutable files, but not distributed in source form.
- Information on purchasing POPTEXT source will be sent to
- registered users.
- Eventually, an assembly language version of POPTEXT will be on
- the way which may be included in Assembly Language and 'C'
- programs. Also on the way is ADVENTURESOFT, an adventure writing
- language, an Object oriented database series, and many, many
- utilities.
- If you wish to register, please send $25.00, check or money
- order to
- Tone Zone Computing
- Rt 2 TP 13
- Bishop, Ca 93514
-
- Make Checks Payable to
- Tone Zone Computing
-
- You will receive the latest version of POPTEXT as well as
- proof of registration. Please include the version number.
-
- VERSION NUMBER 2.2
-
-
- Note: There is one known bug in the editor. When you are
- testing a stack and encounter a window with no links, the
- editor's TEST utility will print garbage. PopRES.EXE and
- HyperHlp.TPU do not exhibit these problems. This error will
- be fixed soon, and a spot upgrade sent to registered users.
- Also: Turbo Pascal 4.0 Users. PopText 2.1 is compiled and ready
- for Turbo Pascal 4.0. Please indicate on the registration
- form that you are a TP4.0 user and I will send you a version
- for 4.0 instead of 5.5. Turbo 5.0 users will have to purchase
- the source code for $50.00 and re-compile the units on their
- machine. Poptext 2.1, using Turbo 4.0 is available on
- Random Access Information Network (503)-761-8100 (12/24,N,8,1).
-
-
-
-
- Poptext (C) 1989 Brian K. Trotter
- (C) 1989 Tone Zone Computing.
-
- Poptext 2.2 is written entirely in Turbo Pascal 5.5 and TASM 1.0
-
- Turbo Pascal is a registered trademark of Boorland International,
- Inc.
-
- TASM - Turbo Pascal Assembler is a registered trademark of Boorland
- International, Inc.
-
-