Mirno,
I would not worry too much, assembler IS complicated stuff and any
who don't start from under the bonnet don't get much code written.
It can be done fast, slick and quick but the "slop it on a form"
generation will not get there, its like in motor racing, the bullshit
stops when the flag drops. :)
Basic help context depending logic...
Any style Win32Asm programmers need help,
the faster + the more convinient way the better.
I would name 3 major sorts of help:
Win32 API help
machine spec. help (opcodes ect.)
Asm spec. help (assembler derectives, macro help ect)
For big project programmers there is also 4th kind of help:
standart libs & macros help.
I say it again:
Fast and convinient way to get help on particular topic
is the need that already exist for any kind of asm programmers
(I mean asm programmers).
----------
To Hiro: BTW none of the above 4 fitures you proposed to vote for
is major fitures for ASM IDE.
Not to say none of them even conclude asm spec. tasks.
For any IDE of any language there always be 3 basis:
1. Fast help on what you wrote in source
2. Fast brousing in project files
3. Easy building\debuging with customisable build options
The three things affect speed and quality of programmer work more
than anything else.
Talking of asm spec IDE there are lots of spec. tasks wich can be eased
by IDE functions not to hide results but simply to ease typing
(for ex. comment\uncomment selected blocks func)
-------------
Excuse my limited ability to express myself in English, but
there is basic help functions and advanced help functions and
none of them(even basic) is not loading some help file with
some Exec function.
You may call "basic" help function for example loading help on topic
wich is equ to selected in the IDE text and "advanced" help functions
lookup (and/or paste) the numeric value representation of some Win32 constant
in one key stroke or something about what Ernie said of VB yellow boxis.
Last time I wrote ASM IDE for myself was somewhere back to 1998.
There were some basic and advanced help functions.
Unfortunatly I can not just submit pieces of code wich do the jub -
uncommented it would be no help for anybody less that Anger Fog and it's
too painful for me to comment it in English.
But I can try to show how to write it in imaginary case with more
"clear" style (though I'm afraid that again somebody will call it
"not clear enough" :))
Ok. Basic help func.
Let's take for example average MASM32 user.
We can assume he has Win32.hlp for help on API, opecodes.hlp for help on
mnemonics of Intel +386 intructions, Masm32.hlp for help on masm spec. topics
and he likes M32lib std procs so he needs masmlib.hlp too.
Task:
Load help file on topic using some text from source written in IDE as
definition for the topic.
Stage1
------
Lets add it in rc file with uninterruptive array of indexes:
...
uninter. array:
#define IDM_HELPMASML 9
#define IDM_HELP 10
#define IDM_HELPOP 11
#define IDM_HELPMASM 12
....
help group:
POPUP "&Help"
{
MENUITEM "&Win32Help",IDM_HELP
MENUITEM "OpcodeHelp",IDM_HELPOP
MENUITEM "MasmHelp",IDM_HELPMASM
MENUITEM "MasmLibHelp",IDM_HELPMASML
}
......
using accel. to load appropriate help
with F1 or F1 + control key (easy to memorize for an user - F1 accossiated with
help):
500 ACCELERATORS DISCARDABLE
{ ...
VK_F1,IDM_HELP,VIRTKEY
VK_F1,IDM_HELPOP,CONTROL,VIRTKEY
VK_F1,IDM_HELPMASM,SHIFT,VIRTKEY
VK_F1,IDM_HELPMASML,ALT,VIRTKEY
....
}
Stage2
------
Now we need to put some in data section so that
F1 would call Win32.hlp
F1+ctrl - opcodes.hlp
F1+shift - masm32.hlp
F1+alt -masmlib.hlp
.data
....
HelpName db 'Win32.hlp',0
HelpNameOp db 'C:\masm32\HELP\OPCODES.HLP',0
HelpNameMasm db 'C:\masm32\HELP\MASM32.HLP',0
HelpNameMasmL db 'C:\masm32\HELP\MASMLIB.HLP',0
...
;in order of indexes:
helptbl dd offset HelpName
dd offset HelpNameOp
dd offset HelpNameMasm
dd offset HelpNameMasmL
...
Now we can culculate appropriate address of help file name using menu item
index.
Stage3
------
Now we need to write code wich will retrive some text from text control and
load appropriate help file using retrived text as keyword searching for
topic.
We use WinHelp function for that it has to adventages:
1. It loads hlp file mush faster than any "exec" function
I just had a sudden thought.
An IDE that creates code for you is not that good, cause sometimes we need to know every bit of the program in order to make certain things work.
Suppose the IDE creates a ton of code: windows, toolbar, status bar, etc. I don't suppose that after that is done, you're going to bother to familiarize yourself with that code. Now, imagine that you need to make the window hold a few bytes in memory, the type you can access with GetWindowLong. If the program has a million windows, you won't have an easy time modifying the code to accomplish that, cause it's not your code.
In any case, that is not a really good example, but I hope it shows what I mean.
VisualASM 0.9.0020 pre release 2 was released last night, it's a patch on previous version.
new vwesion includes inteliisense for api calls via invoke.
I think VisualASM is the only asm ide one written in masm32, there may be one or two more by now ehe :)
anyway others have mentioned theirs on the list so why not mine :)
you can find new version on the "new-look" site @ visualasm.cjb.net
cheers
Entro-P
To Hiro: BTW none of the above 4 fitures you proposed to vote for
is major fitures for ASM IDE.
Not to say none of them even conclude asm spec. tasks.
For any IDE of any language there always be 3 basis:
1. Fast help on what you wrote in source
2. Fast brousing in project files
3. Easy building\debuging with customisable build options
that's your opinion against mine :rolleyes:, I would like a design a form and return it's code feature.
So what if it doesn't include ASM specific tasks (in this very limited list), that's not always the point of an IDE.To Hiro:
Of course, My friend, it's just our opinions :)
So let us all vote for your dreams!
"You may choose any of your favourite colors
but on one condition: if black is the color of your choice.."
(c) One kind dictator, who had his opinion too.
Vale!
The Svin.
are you calling me a dictator?
Because I said that the above poll was a very concise poll and that they reflect some of MY opinions that don't happen to be yours?
basically because I responded to a text in which you call my opinions futile
This message was edited by Hiroshimator, on 2/20/2001 10:24:49 PM
I think the 'dictator' he's referring to is Henry Ford.
Everyone look out...
Hiro's starting to answer his own posts!!
Hiro,
Henry Ford once said "You can have a Model-T in in color you want -- so long as it's black". When svin said 'dictator', at least as I read the post, it did not imply any negativity towrads anyone in this forum.
_Shawn
So let us all vote for your dreams!
then what do you call this? Friendly chatter?
(c) One kind dictator, who had his opinion too.
This implies that I'm the other kind.
I do not get agitated easily but there are some limits, and calling me a dictator goes too far.
This message was edited by Hiroshimator, on 2/21/2001 12:53:05 PMSo there's only two kinds of dictators?
That's news to me. Wow, you learn something new everyday.
I wouldn't know Ernie :rolleyes:
Hey, hiroshimator, how about putting a close to this thread. It's getting a bit annoying.
Guys,
This the "STORM IN A TEA CUP" syndrome. Everyone is welcome to
their opinion here but no-one has the market cornered. I am more
inclined to see value across the range of suggestions and the
room it has given different "Visual Assembler" creators to share
their particular version with the rest.
Accepting diversity among programmers is the only choice, some
will use the BIG pay for style of editors, others will use notepad,
REAL men will write binary in a hex editor (text mode only with no
mouse support) and many will yearn for a package that does it all
for you so you only have to play with the form editor and never
get your hands dirty with the code.
What in fact will survive is what suits the need of most people in
terms of what helps them to produce assembler code that works well
and is reliable. The trend to imitating other development environments
is doomed to fail as assembler is not a visual language.
Making the capacity available in the most understandable way with
convenient tools and toys is what will work well, the rest is
noise and an occasional source of humour.
Regards,
hutch@pbq.com.au
One kind dictator, who had his opinion too ...
I think it was interpreted wrong... not "one kind dictator" but "one dictator"... granted, a better analogy could have been used, but...... (not to take sides, as I don't care, but I do wish to clear up confusion)... ... ... moving along now to the next topic...
Hutch: you bring an interesting perspective... I think you bring a great point when you say people who want the IDE to do all the work for them. I feel this kind of mentality is why a lot of software is buggy and less efficient. Because by not "having" to know what you're doing, simply means you're not really doing anything. Dragging a button on a form is not programming. So what happens when a type 429 occurs and you can't run it??? How do you debug? Of course, one who knows what they're doing would simply know that they're a moron if they can't create a common control...
But you're point about people not wanting to do the work expresses a common sentiment in the industry. People want to do everything and don't want to "get their hands dirty" to get it. That's why we need 5GB for a spreadsheet and wordprocesor, and 256MB memory. I might be relatively new to assembly (sort of but not quite), but I'm not an idiot. What is immediately obvious to me is that assembly is not C++... is not VB... is not COBOL... it's assembly.
If people want to write in assembly, they have to think in assembly and understand it. Even with the best tools, they won't be nearly as productive unless they can "take the bull by the horns" and show 'em whos in charge. Like it or not, that's how it is.
Even in VB, 40% of my problem solving came from understanding how windows works, not in knowing VB... I'd say in win32 assembly, 80% will be knowing how windows works, and 90% knowing how assembly works, and 20% genius......
I like Hutch's sentiment, it's right on the point. Of course, one might say "to drive a car doesn't mean you have to know how the engine works"... no, but assembly isn't the same. You want to produce assembly, you need to know assembly. Simple.
_Shawn