Author Topic: Christmas Wish - Hxi and Hxs to .hlp file  (Read 16435 times)

Magnum

  • Member
  • *****
  • Posts: 2354
Christmas Wish - Hxi and Hxs to .hlp file
« on: December 02, 2012, 10:07:19 AM »
It would be real nice if we could hit F1 when on InputBlock and get  popup info on the API.

But it probably would not be easy converting those Hxi and Hxs files to a big .hlp file.
Take care,
                   Andy

Ubuntu-mate-18.04-desktop-amd64

http://www.goodnewsnetwork.org

jj2007

  • Member
  • *****
  • Posts: 10543
  • Assembler is fun ;-)
    • MasmBasic
Re: Christmas Wish - Hxi and Hxs to .hlp file
« Reply #1 on: December 02, 2012, 10:19:21 AM »
Test it.
More than 7,000 entries - how many APIs do you regularly use? 20? 50?

CommonTater

  • Guest
Re: Christmas Wish - Hxi and Hxs to .hlp file
« Reply #2 on: December 02, 2012, 01:10:04 PM »
It would be real nice if we could hit F1 when on InputBlock and get  popup info on the API.

But it probably would not be easy converting those Hxi and Hxs files to a big .hlp file.

In which IDE?

I just finished an addin for Pelles POIDE which will let you do just that... directly launches the SDK's DEXPLORE.EXE program with keyword lookup...  You can get the addin ... HERE (also attached below)  Its C code but it's not complex, so it should be possible to take the way it's done and adapt it to other IDE's without too much trouble...  So long as you have access to the keyword under the cursor, it should work.
 
The command line is a pain but it's not unmanageable...
 
<path to dexplore.exe> /HELPCOL <location information> /LAUNCHFKEYWORDTOPIC <Keyword>
 
You can get a look at the /helpcol info for your installation by right clicking the SDK Documentation in your start menu and selecting properties...
 
In Canada/English it is ...  MS-Help://MS.W7SDK.1033 ... but it will be different in Europe, Asia, etc.
 
For Canada, on Win7 x64 ...
 
C:\Program Files (x86)\Common Files\microsoft shared\Help 9\dexplore.exe /helpcol MS-Help://MS.W7SDK.1033 /launchfkeywordtopic
 
So, when looking up FindFirstFile the complete command line is...
 
C:\Program Files (x86)\Common Files\microsoft shared\Help 9\dexplore.exe /helpcol MS-Help://MS.W7SDK.1033 /launchfkeywordtopic FindFirstFile
 
It shouldn't be too much trouble to cobble up a Tool, plugin, addon or whatever with this info in hand.
 
 
 

Magnum

  • Member
  • *****
  • Posts: 2354
Re: Christmas Wish - Hxi and Hxs to .hlp file
« Reply #3 on: December 02, 2012, 02:44:09 PM »
I would like to use it with Qeditor since I am most familiar with it.

I currently use Dexplore as a menu item where I have to manually look up APIs, etc.

Andy

I will look at your code.
Take care,
                   Andy

Ubuntu-mate-18.04-desktop-amd64

http://www.goodnewsnetwork.org

jj2007

  • Member
  • *****
  • Posts: 10543
  • Assembler is fun ;-)
    • MasmBasic
Re: Christmas Wish - Hxi and Hxs to .hlp file
« Reply #4 on: December 02, 2012, 07:24:46 PM »
All that is fine if you know already what you are looking for, i.e. if you know that the name of the API is FindFirstFile. But dexplore does a lousy job when, for example, you are trying to remember which API to use when trying to get host information with one of the WSA functions.

When launching the help system with "host WSA" as the search string, it takes ages and at the end you are greeted with a typical bulls**tty M$ message "the exploration of the website was cancelled. Possible operations: retype the URL" (do they never feel ashamed in Redmond??)

Do the same with xHelp, and you'll find what you are searching for. Promised.

Here is a batch file for testing that. Replace D: with your Masm32 drive. The term %commonprogramfiles% makes sure it works with non-English Windows versions, too.
MS.LHSMSSDK works on my XP SP3, for other installations M$ offers you the fascinating game "find out where my help sits". Have fun :biggrin:

@echo off
"%commonprogramfiles%\Microsoft Shared\Help 9\dexplore.exe" /helpcol ms-help://MS.LHSMSSDK.1033/MS.LHSWinSDK.1033  /launchfkeywordtopic "host WSA"
echo.
echo Now the same search with xHelp:
D:\Masm32\help\xHelp\JNotes.exe s=host WSA

CommonTater

  • Guest
Re: Christmas Wish - Hxi and Hxs to .hlp file
« Reply #5 on: December 02, 2012, 09:06:35 PM »
All that is fine if you know already what you are looking for, i.e. if you know that the name of the API is FindFirstFile. But dexplore does a lousy job when, for example, you are trying to remember which API to use when trying to get host information with one of the WSA functions.

Open Dexplore ... Open the index ... type WSA ... instant list...

Really... I get that you're proud of your project ... and it is pretty good... but constantly bashing other help systems is not going to make yours look any better.


CommonTater

  • Guest
Re: Christmas Wish - Hxi and Hxs to .hlp file
« Reply #6 on: December 02, 2012, 09:11:22 PM »
I would like to use it with Qeditor since I am most familiar with it.

I currently use Dexplore as a menu item where I have to manually look up APIs, etc.

Andy

I will look at your code.

Andy ... is there a link for Qeditor?...  I googled it and there's a mess of them...
Maybe I can help....
Never mind ... found it. 

It looks like you should be able to fetch the highlighed text from the editor and use that as a search keyword...
Not too difficult.


jj2007

  • Member
  • *****
  • Posts: 10543
  • Assembler is fun ;-)
    • MasmBasic
Re: Christmas Wish - Hxi and Hxs to .hlp file
« Reply #7 on: December 02, 2012, 10:38:41 PM »
Open Dexplore ... Open the index ... type WSA ... instant list...

That is not exactly context-sensitive help - even if it worked, and even if it was fast...

Quote
Really... I get that you're proud of your project ... and it is pretty good... but constantly bashing other help systems is not going to make yours look any better.

The help system that I used previously is called "Google". They are the only big software company who really have understood what the user wants when he writes "help me with find file".

Microsoft had a reasonable product with *.hlp, made a horrible mistake with *.chm, and now they are testing dexplorer on the customer. I guess it's fine for a professional programmer who absolutely needs the latest and most exotic API calls, but for the beginner it's like using a helicopter to get cigarettes...
 ;)

Magnum

  • Member
  • *****
  • Posts: 2354
Re: Christmas Wish - Hxi and Hxs to .hlp file
« Reply #8 on: December 03, 2012, 12:01:57 AM »
I had problems with Xhelp. Maybe I didn't install it right.

It kept prompting to download the help file again, then I could not pick anything from the code column in Qeditor.

Later when I have more time, I will check it out more.

Andy
Take care,
                   Andy

Ubuntu-mate-18.04-desktop-amd64

http://www.goodnewsnetwork.org

dedndave

  • Member
  • *****
  • Posts: 8827
  • Still using Abacus 2.0
    • DednDave
Re: Christmas Wish - Hxi and Hxs to .hlp file
« Reply #9 on: December 03, 2012, 12:35:58 AM »
Tater -
the QEditor we talk about in here was written by Hutch and is included in the masm32 package   :P

jj2007

  • Member
  • *****
  • Posts: 10543
  • Assembler is fun ;-)
    • MasmBasic
Re: Christmas Wish - Hxi and Hxs to .hlp file
« Reply #10 on: December 03, 2012, 02:36:56 AM »
I had problems with Xhelp. Maybe I didn't install it right.

It kept prompting to download the help file again, then I could not pick anything from the code column in Qeditor.

It probably means the download was blocked by a firewall or AV or whatever. Check if \Masm32\HELP\XHELP\Sdk32OLE.jno or \Masm32\HELP\XHELP\~FrLocal.exe are present.

Magnum

  • Member
  • *****
  • Posts: 2354
Re: Christmas Wish - Hxi and Hxs to .hlp file
« Reply #11 on: December 03, 2012, 02:40:55 AM »
No dl was blocked and those directories were present.

Andy
Take care,
                   Andy

Ubuntu-mate-18.04-desktop-amd64

http://www.goodnewsnetwork.org

CommonTater

  • Guest
Re: Christmas Wish - Hxi and Hxs to .hlp file
« Reply #12 on: December 03, 2012, 03:02:37 AM »
Open Dexplore ... Open the index ... type WSA ... instant list...

That is not exactly context-sensitive help - even if it worked, and even if it was fast...

And neither is looking for "something or other that starts with WSA" ...  If you don't even know that go into the table of contents ... Win32 ... Networking...    Worst case, use the built in search tool....

Quote
Quote
Really... I get that you're proud of your project ... and it is pretty good... but constantly bashing other help systems is not going to make yours look any better.

The help system that I used previously is called "Google". They are the only big software company who really have understood what the user wants when he writes "help me with find file".

Microsoft had a reasonable product with *.hlp, made a horrible mistake with *.chm, and now they are testing dexplorer on the customer.

Yes the .hlp format was good for the end user... but a hair pulling bad experience for writers.
The .chm system was beyond cool for either users or programmers.  Ebooks use html help format quite nicely...

Desplore.exe aka Help9 is NOT for us as programmers.  It is Microsoft's inhouse means of providing SDK level help to programmers... with this tool we ARE the users and it's to our advantage to treat it that way.

Quote
I guess it's fine for a professional programmer who absolutely needs the latest and most exotic API calls, but for the beginner it's like using a helicopter to get cigarettes...

Oh come on, it's not that bad... It's a big old reference book with a keyword index, table of contents and a very powerful search tool built right in...  All you gotta do is stop  hating it long enough to learn how to actually use it ... Just like C or C++.

And FWIW... Yes I do --absolutely-- want the latest and most exotic API calls at my disposal.  The Windows API is some 30,000 functions and I can't think of a single reason why I should ignore even one of them...

CommonTater

  • Guest
Re: Christmas Wish - Hxi and Hxs to .hlp file
« Reply #13 on: December 03, 2012, 03:05:14 AM »
No dl was blocked and those directories were present.

Andy

Hi Andy... I had problems with it the first time ... Win7 x64 ... the database install was blocked by Windows Defender... I temporarily suspended it and got it working.  It was fine after I re-enabled Defender.  Neither the program nor the sfx database have manifests in them so the UAC was freaking out all over it.   

jj2007

  • Member
  • *****
  • Posts: 10543
  • Assembler is fun ;-)
    • MasmBasic
Re: Christmas Wish - Hxi and Hxs to .hlp file
« Reply #14 on: December 03, 2012, 03:22:27 AM »
Oh come on, Help9 is not that bad... It's a big old reference book with a keyword index, table of contents and a very powerful search tool built right in...  All you gotta do is stop hating it long enough to learn how to actually use it ... Just like C or C++.

And FWIW... Yes I do --absolutely-- want the latest and most exotic API calls at my disposal.  The Windows API is some 30,000 functions and I can't think of a single reason why I should ignore even one of them...

Get one of your fat sources, and count how many different API calls you used. Probably no more that 500. And yes, it's good to have the other 29,500 "at your disposal", and why not wait ten seconds until Help9 is ready to answer, in case you really, really need something completely new and exotic?

But for the 50 bread-and-butter functions that we really use, the response time should be in the milliseconds range (a toolhelp bubble would be fine...), and the info should be delivered as elegantly as Google does it.

Neither the program nor the sfx database have manifests in them so the UAC was freaking out all over it.

Thanks for reminding me, maybe I should try that one day. Although I never had problems on my Win7-64 installation (maybe they have realised that virus coders can write manifests, too  :greensml:)