Hi all

Elisabeth wrote a very useful addin in Power Basic.

addin for radasm:

This addin is coded in power basic, because this way i could reuse a lot of code i had written
for a similar extension of hutch?s masm package for my own purposes.

It somehow combines the functionality of the msdnhelp addin and melt addin. The main difference
is, it can be made working with other assemblers than masm too and it does not use "black boxes"
you can chage everthing to your personal needs, if you wish. Melt and msdnhelp must be disabled
for this addin to work correctly!

What does it offer:
Pressing "F1" while the caret is on an error line in code window, will show a message box
containing the corresponding error text for this error number reported by masm (or other
assemblers) in output#1. If there is more than one error reported for this line, pressing "OK"
will show the next error text for the next error and so on. The file "error.txt" is assembler
specific and can be manually edited and extended and must be specified in the corresponding
.ini file. This package includes a file "error.txt" for masm including all common errors for
ml.exe, link.exe and rc.exe. You can easily write a similar error file for other assemblers or
linkers (format of error file see below). Doubleclicking the error number in output window will
also show the corresponding error text.

If the caret is not on an error line and not inside word boundaries radasm help is invoked.
If the caret marks a keyword, radasm?s keyword list for syntax highlighting in the
corresponding .ini file is used as a lookup list for the assembler help file. If the keyword
is found, assembler help for this keyword is invoked. If not, the opcodes keyword list is used
to lookup, if the keyword is an opcode. If so, opcode help for this opcode is invoked. If the
keyword doesn?t match both, assembler keyword list and opcode keyword list, win32api help is

If the current file is a .rc file, rc help and rc keywords list is used instead of assembler
help, if the keyword is not a rc keyword win32api help is invoked

Pressing "Ctrl+F1" invokes Msdn-help.

I added mousewheel support to all .hlp files (including those invoked by help menu)

Furthermore i coded a special feature for comments. The "tab" or "ctrl+k" key (this can be set
with addin manager) inserts a corresponding comment character (asm/rc file) into the current
line at a specific position and moves the caret to this position. If there is already a comment
in this line, the comment is repositioned, if it is not in correct position, and the caret is
moved to this position. "Tab" with listboxes in code window works as before. I chose the "tab"
key, because i don?t use tabs, when editing code. If you do not like this, choose "ctrl+k" or
disable this feature entirely. Addin manager allows for choosing between three comment positions.

how to install "error.txt"
add "Text" key to section in your assembler .ini file

;specify path + filename of your error file text

Format of error.txt:
error number (uppercase), space(s), short error description (only used, if there is no further
text output with the error number), new line, extended error description (may be one or more
lines but must not contain empty lines), empty line(s), next error number, ....
There is no specific order of error number required.

how to install your help files:
add this new section to your assembler .ini file

;assembler help file
;opcodes help file
;win32api help file
3=c:\tools\win-ide\docs\api reference\win32-help\win32.hlp
;msdn help file
4=C:\Programme\Microsoft Visual Studio\MSDN98\98VSa\1031\msdnvs6a.col
;rc help file
;radasm help file

special thanks to KetilO, who helped me a lot improving and debugging this addin !

Posted on 2003-11-17 02:34:08 by KetilO
Elisabeth has updated the e-help addin. It can now use CHM files for the assembler help file. It now supports HTML Help 2 format for the SDK or MSDN library (if you have the newer ones) and those can either be placed on F1 or Ctrl+F1. All in all an excellent AddIn.
Posted on 2003-12-03 11:17:31 by donkey