May 08, 2024, 11:56:38 PM

News:

IonicWind Snippit Manager 2.xx Released!  Install it on a memory stick and take it with you!  With or without IWBasic!


Help Files

Started by Logman, September 15, 2009, 07:08:13 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Logman

Larry, Paul:

Is there a way to add our own Help File to the EBasic IDE? I'd like to be able to bring up a HELP File with a table of assembly language microcodes and cycles by clicking on the Help menu item and then clicking on my Help File from within the IDE.

I have a couple of other ready references that I converted to standard Help File format and would also like to add to the EBasic IDE.

Thanks.

Logman
Education is what you get when you read the fine print.<br />Experience is what you get when you don't!

Ficko

Hi Logan,

Create a new "txt" file put your ".chm" parameters like this:


'*HELPFILE|My.chm,My Guide


into and save it as "your.incc" in the ebasic bin directory.

The ".chm" file you put into the "help" directory.

Regards,
Ficko

LarryMc

Logman

After you create your own *.incc file as Ficko described be sure to restart the IDE for the item to appear in the help menu in the IDE.

Larry
LarryMc
Larry McCaughn :)
Author of IWB+, Custom Button Designer library, Custom Chart Designer library, Snippet Manager, IWGrid control library, LM_Image control library

Logman

September 16, 2009, 10:22:00 AM #3 Last Edit: September 16, 2009, 10:43:57 AM by Logman
Larry, Ficko:

Thanks for the input. I was hoping there was a way to add our own help files. Being able to create and use our own references in EBasic will really add to its utility and my enjoyment.

I'm going to give it a shot as you suggested.

By the way, both of you have been great at helping me in the past as I wrestle with learning EBaisc. I appreciate your input and quick responses--thank you.

...holy mackerel, it worked like a charm. I can't believe I actually have working Help.chm files in the EBasic IDE--how wonderfully ingenious and useful.

You opened an entire Pandora's box though because my next project is going to be to write some Win API code, as soon as I figure out how, that will let me put the cursor on a key word in the program code I'm working on then press the [F1] key to bring up the topic in my Help file.

Logman
Education is what you get when you read the fine print.<br />Experience is what you get when you don't!

LarryMc

Quote from: Logman on September 16, 2009, 10:22:00 AM
...my next project is going to be to write some Win API code, as soon as I figure out how, that will let me put the cursor on a key word in the program code I'm working on then press the [F1] key to bring up the topic in my Help file.

Now that you have your help file where it shows in the EB IDE, highlight one of YOUR keywords and hit F1 to see what happens.
Make sure it is a keyword that is in your chm index.

I believe you already have what you want.

Larry
LarryMc
Larry McCaughn :)
Author of IWB+, Custom Button Designer library, Custom Chart Designer library, Snippet Manager, IWGrid control library, LM_Image control library

Logman

September 16, 2009, 02:34:57 PM #5 Last Edit: September 16, 2009, 02:39:56 PM by Logman
Larry:

No, doesn't work. I've ensured that the keywords in my Help File are indeed in the index--mmm.

On another note, if this were to work, does that mean that if I put my cursor on an EBasic keyword like "PRINT" and pressed [F!], would that take me to the EBasic Help Manual/File and bring up the appropriate Help File page? It doesn't and I haven't read anywhere in the documentation where the EBasic Help Files are linked to the IDE code page by pressing [F1].

Perhaps I'm not doing something right; sure would be neat if it worked without having to do a lot of coding, etc. I wonder if the key words have to be placed in my ".incc" file or somewhere else.

Logman
Education is what you get when you read the fine print.<br />Experience is what you get when you don't!

Ionic Wind Support Team

You have to select the word.  Double click on it.
Ionic Wind Support Team

Logman

September 16, 2009, 03:35:05 PM #7 Last Edit: September 16, 2009, 03:54:59 PM by Logman
Hi Paul:

Wow, double clicking on an EBasic keyword takes me to a "Topic Found" popup page where I can then select the subject and double click on it, which then brings up an actual Help Page with the topic on it. I didn't even know you could do this in the IDE--really neat because I thought this capability was missing from the EBasic IDE.

I wonder if I missed this in the manual and whether other new EBasic users know about this capability.

Anyway, the fact that highlighting the keyword and then pressing [F1] brings up a "Topic Found" page leads me to believe there is some interface that I have not set up somewhere. When I double click on one of the key words in the index of my .chm Help File, it gives me a "No Topics Found" error message box.

I can click on "Help" on the menu and then click on my Help File and it comes up perfectly well; no problems there. This in itself is cool. However, as soon as I can figure out what I'm not doing to be able to double click/[F1] on a key word in my Help File in order to bring up the topic, it'll be better than sliced bread. It might just be the layout of my Help File creation program. I can try another program to build my help files.

NOTE: Just took a look into the ebstd.incc file in the bin directory. I see that I have some work to do. I believe that I have to somehow replicate the type data found in the ebstd.incc file shown below--I just have to figure it out:

TYPE WINRECT
DEF left as INT
DEF top as INT
DEF right as INT
DEF bottom as INT
ENDTYPE
...

EXTERN @CLASS as UINT
EXTERN @QUAL as UINT
EXTERN @CODE as UINT
EXTERN @MOUSEX as UINT
...

'global constants
CONST NULL = 0
CONST TRUE = 1
CONST FALSE = 0
...

$command ABS(num as DOUBLE),DOUBLE
$command ACOS(num as DOUBLE),DOUBLE
$command FACOS(num as FLOAT),FLOAT
...

'Drag and drop messages
SETID "IDDRAGENTER",0xA000
SETID "IDDRAGOVER",0xA001
SETID "IDDRAGLEAVE",0xA002
SETID "IDDRAGDROP",0xA003
SETID "IDDRAGFEEDBACK",0xA004
...

/*** GetFolderPath Constants ***/
SETID "CSIDL_DESKTOP",                   0x0000:'    <desktop>
SETID "CSIDL_INTERNET",                  0x0001:'    Internet Explorer (icon on desktop)
SETID "CSIDL_PROGRAMS",                  0x0002:'    Start Menu\Programs
...

Of course, the CxmlLm.incc file only contains commented information:

'*NAME|CXmlLM Library
'*VERSION|2.06
'*REQUIRE|CXmlLM.lib
'*HELPFILE|CXmlLM Help.chm,CXmlLM Library

Logman
Education is what you get when you read the fine print.<br />Experience is what you get when you don't!

LarryMc

Quote...gives me a "No Topics Found" error message box....
That's why I said you have to make sure the keyword you are looking for has actually been indexed in your help file.
You can build chm files all day long that look great without having keywords indexed.

Quote...double clicking on an EBasic keyword takes me to a "Topic Found" popup page where I can then select the subject and double click on it, which then brings up an actual Help Page...
that's because there is more than one index entry for that particular keyword in the chm file.
if there is only one index entry for that keyword then it takes you directly to that page.

I just verified that with my LinkedList, my Custom Chart, and my Custom Button help files

So, if you are getting no topic found I suggest it is your help file since you are able to access your help file via the IDE help menu.

Larry
LarryMc
Larry McCaughn :)
Author of IWB+, Custom Button Designer library, Custom Chart Designer library, Snippet Manager, IWGrid control library, LM_Image control library

Logman

September 17, 2009, 04:27:41 AM #9 Last Edit: September 17, 2009, 04:33:42 AM by Logman
Larry:

By "index" you mean that my chm file must have an index of key words. If this is the case, my chm file has an index that I added while creating the chm file just like the index in the EBasic Help file.

If you are talking about a separate index outside the chm file, then I haven't done that. Also, I did go though it and removed any duplicate words that may be found in other chm files such as the one for EBasic.

I'm using a small "test" chm file to try to get it working in the IDE. I am going to rebuild it to ensure everything is copacetic, then I'll reinstall in the IDE using the guidance you and Ficko provided earlier. I just have to work with it for a bit; eventually I'll get it working. Right now, I'm just glad I can click on it from within the IDE Help menu and bring it up. Getting it fully functional will make working with EBasic that much better.

Thanks.

Logman
Education is what you get when you read the fine print.<br />Experience is what you get when you don't!

LarryMc

I'm talking about the index internal to the chm.

Larry
LarryMc
Larry McCaughn :)
Author of IWB+, Custom Button Designer library, Custom Chart Designer library, Snippet Manager, IWGrid control library, LM_Image control library

Logman

September 17, 2009, 06:10:40 AM #11 Last Edit: September 17, 2009, 06:42:04 AM by Logman
Larry:

That's what I thought. My chm file has an internal index. When I bring up my help file I can click on the index tab and show all the indexed words, and then click on any keyword in the index and go to the page with the keyword on it just like the EBasic help file.

I have even added three key words to my ".incc" file to be hilighted when typed in the IDE; and they hilight when typed in the IDE just as expected.

These are the contents of my PMzone.incc file, which is stored in the bin directory:


'*NAME|My Help File
'*VERSION|1.0
'*HELPFILE|PMzone.chm,My Help Guide

'internal commands to be hilighted
'{command}USAGE
'{command}CAPTION
'{command}GLOSSARY


So far I have included my PMzone.chm file in the IDE Help menu. I stored this file and its two associated files "PMzone.chw & PMzone.hsw" in the help directory. I can click on the Help Menu in the IDE and then click on "My Help Guide" and my help file pops open as expected.

I have added three "test" words: USAGE, CAPTION, and GLOSSARY to the PMzone.incc file as shown in the sample code above and they hilight and capitalize when typed in a program in the IDE.

When I double click on one of these three "test" words and press [F1], I still get a "Topic Not Found" error message box. I know I have a valid index in my chm file. It's there and I can use it. So, now I'm stumped. :P

NOTE: I do notice that I have the CXmlLM help file listed in the help menu directory. In the help subdirectory I see the CXmlLM.chm file and in the bin subdirectory I see the CXmlLM.incc file. When I click on the CXmlLM Library help file in the help menu, the CXmlLM window pops open. It has an index with several key command words used in programming applications using the CXmlLM library. When I use one of the key indexed words in the IDE, double click on it, and then press [F!], it also displays a "Topic Not Found" message box.

So now I'm wondering if there's more to it than just having an index in the .chm file.

Logman
Education is what you get when you read the fine print.<br />Experience is what you get when you don't!

LarryMc

Let me see if I can figure out what I did different in my CXmlLM.chm than what I did in my other help files.

BTW, I have no idea of what "PMzone.chw & PMzone.hsw"  are or do.

I'll get back with you in a minute on the difference in my help files.

Larry
LarryMc
Larry McCaughn :)
Author of IWB+, Custom Button Designer library, Custom Chart Designer library, Snippet Manager, IWGrid control library, LM_Image control library

LarryMc

I don't know what's going on on your end.

I just entered FileLoad in a program I'm working on and it brought up the help page in the xml help file.

I then tried AddPeerNodewData and it worked also.

Larry
LarryMc
Larry McCaughn :)
Author of IWB+, Custom Button Designer library, Custom Chart Designer library, Snippet Manager, IWGrid control library, LM_Image control library

LarryMc

Just found where .chw  is an index of a combined help file.

I don't use that.

My index is a .hhk file that is compiled into the chm file.

Note:  be careful using the .incc file to highlight keywords
shouldn't be a problem but if Paul changes how any of that works then the results might be unpredictable.

Larry
LarryMc
Larry McCaughn :)
Author of IWB+, Custom Button Designer library, Custom Chart Designer library, Snippet Manager, IWGrid control library, LM_Image control library

Logman

September 17, 2009, 07:41:52 AM #15 Last Edit: September 17, 2009, 07:44:18 AM by Logman
Larry:

Larry's Comment: I just entered FileLoad in a program I'm working on and it brought up the help page in the xml help file.

I tried the same and the program tried accessing the internet and then crashed.

Larry's Comment: Note: be careful using the .incc file to highlight keywords. Shouldn't be a problem but if Paul changes how any of that works then the results might be unpredictable.

Of course you are right on this. I was only using hilighting to ensure my ".incc", PMzone.chm, and IDE were communicating. I don't need the hilighting at all and will heed your advice on this.

It looks like I need to get onto another computer in my other office and use a different .chm file to determine whether I have a system problem with the XP setup on my current computer before I spend any more time trying to troubleshoot .chm file issues. I might be trying to solve the wrong problem. I need to eliminate and rule out XP/Vista configuration issues.

Thanks for your time on this Larry. I'm convinced that if the index is setup properly in the .chm file, the ".incc" file is created as per your instructions, and they are located in the help and bin directories respectively, all should work as you indicated. Let me try it out on other systems with different configurations in order to determine what's going on here.

Thanks

Logman
Education is what you get when you read the fine print.<br />Experience is what you get when you don't!

Logman

Eureka Larry;  ;D

It does in fact work just as you described. It appears that the XP system setup on my work PC is somehow interfering with my help file. It doesn't matter since I'm not developing programs on that particular system and the help file is for my own use. It works on all my other systems.

Thank you for the help. If you weren't so sure that it should work and if I had no clue how experienced you were, I would probably still be trying to fix "the problem." Once it dawned on me that you, Paul, and Ficko "wrote the book" on this stuff, I decided that it must be my system setup. Trust the experts ;)

Happy camper now!

Logman
Education is what you get when you read the fine print.<br />Experience is what you get when you don't!

LarryMc


Glad you got it sorted out and it was on a topic that I knew a little about from past experience.

I think over time you will become like me and be amazed at the power and capabilities of EBasic and the man who wrote it, Paul.

When it comes to programming Paul, Sapero, Ficko, and a few others are the brain surgeons.

I'm just a shade tree mechanic.

But I love it. ;D


LarryMc
Larry McCaughn :)
Author of IWB+, Custom Button Designer library, Custom Chart Designer library, Snippet Manager, IWGrid control library, LM_Image control library