This is Waffle's help viewer app for DarkBasicClassic.

Files In Zip:
Atl.dll		Used by Explorer. Provided here just in case
break.htm	My docs for the break command
HelpMain.htm	My main help file on how to use MyHelp
HelpOpts.htm	Another file used by HelpMain.htm
TargetHelp.htm	Another file used by HelpMain.htm
Includes.htm	Special file used during "Add Include"
Include2.htm	Special file used during "Add Include"
MyHelp.txt	This File
MyHelp2.exe	This is My "MyHelp" App


Features:
1 - The usual browser stuff ....
forward/back/about/main/index/glossary

2 - special configuration options ...
The first time you launch it, you will be asked
to locate the main help path. Not, the actual HTML file,
just the dark basic\help\ ..... path

also, you can select a program for viewing the .dba
example files. The default is notepad, but you can
select explorer or ..... whatever

And also for HTML pages .... The default is notepad

3 - Almost context support ....
In your editor of choice, highlight the keyword,
then "control-c" to copy it to the clipboard.
Then launch help (press f1 ... whatever) and my
app will copy the clipboard, and search for a help
page for that topic. If found, it displays it.
If not found, (like if the clipboard already had
other stuff) the text will be in the browser bar
and the standard page will be displayed. Also usefull
for when you copy the () as in "timer()" ...

You can always just type in the search keyword
and press GO and that works too.

4 - Extra special cool feature ... SEE WARNINGS !!!!!!
WARNING MAKE A BACKUP COPY OF INDEX.HTM BEFORE PROCEDING
If you enter a keyword, press go, and the search does not
find a keyword, the viewer will ask if you want to insert a
quick link to the first letter in the index. If you say yes,
the link is automaticly inserted, and displayed. 
Example:
Type "test" in the context search box and press go.
Since "test" is not a command, it will not be found.
Instead the message "insert a link to keyword T" is displayed.
If you say yes, the main index file will be modified
to include the new target and link  like this ...
<A NAME="T"></A>
<a href="index.htm#T">T</a><BR>
that will replace the old text which was
T<BR>

now, whenever you type in a search for "test" and press go,
"T" will be found and displayed.

I was inspired by TDK's browser and snapped this together
in about 5 hours of tinkering. It could go with a bit
of "make it pretty" but it works great.

5 - Not so cool feature.
Press the Edit button to directly edit the htm help page
currently displayed. Usefull if the links are not done properly.
Or, the help page was ummmmm not helpfull. I say this feature
is "Not so cool" because editing htm code is not entirely pleasant,
and not for the timid. Feature #4 is better than #5, but I do
frequently change the links around on my system. Or add new
help pages and such. So, whenever a link is "not found" or "found,
but not the correct one" I hit edit and fix it. Some links that
are "just wrong" in the help files as they are :
input.htm
ttext.htm
sprite.htm
What makes these wrong is the parent link has the same name.
So, if you view input.htm and click on the "input commands" link,
it displays the current page and your stuck.
On my system I changed the names to 
cinput.htm
tttext.htm
ssprite.htm
and kept the parent page the same name (there are too many links to it)
and just updated the links from the 2 parent pages ....
input.htm and index.htm

Of course, I could have just pressed the "Back" button, but that does not
always work if you jump straight to the "input.htm" page because there
is no history to go back to.

As Always, Have a backup copy of any pages you change.
*************************************************************************
Known Issue:
My web browser has trouble when you try to copy text from it. It sorta works
but has issues. Maybe I should make a "code injector" that lists sample
code from the context help that you can select from to "inject" directly
into your code ..... thus bypassing this problem.

And Another WARNING about changing Index.htm page ...
Sometimes, links do not go where they should. The cause has to do
with where the other links are placed. My app assumes (incorrectly)
that the index is in alphabetic order, and tries to insert code in like
manner. So, if things go wrong, hit the edit button (you may need to reselect
the index page using the index button, not the GO button) and move some
links around. Just thought to mention this as I found a link to 
keyword UNTIL located next to keyword REPEAT which sorta makes sense,
until I added a quick link to "S" which was placed just before UNTIL
instead of the "S" section .... 

*************************************************************************
Undocumented Command:
BREAK
Acually it is in the docs, filed under Prin4 where the help file explains
basic programming. Its not in the Index, and its not in the same place as
the END command (program flow section). So, I include a BREAK.htm file
for you. You will need to place links to it to view it and have the
BREAK command recognized in the context help .... Just copy the links ...

this one goes in the file "flow.htm"
<a href="flow/break.htm">BREAK</a> will pause the program and display message<BR>

this one goes in the file "index.htm"
<a href="flow/break.htm">BREAK</a>

Then, simply place the file "break.htm" into the "help\flow" folder.
You should also see the "end.htm" file in this folder.
DONE
*************************************************************************** 
You can email me at
mycat98501@yahoo.com

********************************************************
requires explorer 4.0 or newer to be installed.
Already there on most windows systems.
May also require the DLL ... included in the zip.

***************************************************************************
New very cool (EXTRA DANGEROUS) feature
Add Include

With just a few clicks of the mouse, you can make your #Include
file a "part" of DB Classic. Well, not realy, but read on.

WARNING WARNING
Make back-ups of these file before using ....
index.htm
main.htm
menu.htm
keywords.txt

WARNING: MAKE THOSE BACKUPS
what this does is scan your #Include file and do all kinds of stuff.
The most obvious is modifing the keywords file (You did backups right)
so that your editor will highlight your new functions ... cool.
Also, but not so obvious, it converts your #Include file into several
*.htm pages. One for the entire list of functions and one fore each function.
Then, it places links in the Index.htm (Backup?) to your function.

Now, not only is your function highlighted, if you want, you have
context support to help about your function by pressing F1 in your editor.

OK: How to document your source code for this to be helpfull.....
In your #Include file, all text before your first function name
is assumed to be usefull information about the general use of the Include.
This information will be in just the main file that lists your functions.

The first line in each Function will appear to the right of the function
in the main function list as a desciption of the function.

All remaining comments will be in the specific *.htm page for the function.
My App assumes the all comments start with the first letter '
If there is a space before the ' my app will not show the comment.

And be sure to do backups ..... really

**************************************************************************
undocumented feature !!!!!
MyHelp2.exe will automatically do backups of the key files.
This is not exactly reliable, but better than nothing i guess.
The backups will be placed in the main folder where MyHelp2 is installed.
And myhelp will not overwrite them. If you wish to periodically do
backups, A simple way would be to delete these files in the main
folder (the MyHelp folder, not the Dark Basic Help folder) and let
my app make new backups on the next run.

