Contents of the HYPER.DOC file
I started this project because I needed some sort of hypertext application
and didn't want to spend $50 on the Help compiler and have all
my files show up as help files. While not as powerful as that product, it
looks to be easier to use. It's in a rough state now, but the
general methods should be clear. Also, this way you can refine it into
the exact type of system you need. Everything is public domain, but there
are no guarantees it'll work and not eat your data for breakfast.
The first line of a .HYP file is the name of the "database."
The topics then follow.
Each topic's first line is the title. Then come up to four "keywords."
(If you need to change this, or any other limit, look in the global
module.) At present keywords must be letters and numbers only, all caps,
with no punctuation or spaces except for the underscore.
The main body text is set off by lines containing only one double quote(").
Between these two lines, you can place any text you like, including blank
lines. Here's where you "embed" keywords (just putting them there will do
fine, the program will know them when it sees them). Since all
punctuation gets removed, you can use it if it's needed, as long as you
don't include it in the actual keyword (i.e. keyword: FREDS_HEAD,
embedded as: "also known as FRED'S_HEAD by Australians.").
Test.Hyp is a small sample file that should make everything clear.
Note such things as YAMATO and YAMATO_CLASS both referencing the
same card and the fact that double-clicking "Shinano" doesn't select
its own card since it's not all caps.
The Index file controls are simply a way of getting at the .HYP file. The
fun starts once you've loaded it. The list is set to sort the items; if
you enter them in some sort of sequence in the .HYP file, you can turn
sorting off to maintain your structure.
Once you select a topic, the topic form comes up. Double-clicking on a
keyword takes you to the appropriate topic. The double-click itself is
a kludge; VB interprets a double-click in a text box as a word selection.
There's a timer on the form that checks for selections several times a
second. It makes sure the word is upper case and strips any punctuation
that may have also been selected (now you see why punctuation and spaces
aren't allowed in keywords [they only have to be upper case in order to
stand out, since you can't have text attributes for individual words in
a text box]).
You can also return to the index from a topic or back up to a previous
topic. The backup methodology is kinda crufty too, but gets the job done.
All in all, everything works "out of the box" if you don't want to mess
with it, but could stand some refinement. This makes it easy to
incorporate into your own programs, since you won't need to undo a