From: JGCASEY on

Betov wrote:
[...]

> Well, i did not not push RosAsm, when talking to you,

You are welcome to push RosAsm. I have looked at it
and the tutorial material. It is one of the possible
starting points and I will look at it again.

However I am not looking to become a Windows expert
only to learn enough to use DLLs, webcams, and things
like bitmaps. Much of Windows doesn't interest me.

It is a means to an end and I am a selective learner.

I am not planning to become a Windows guru or a
professional programmer. I just want to port the
things I could do with DOS, which are mostly OS
independent, to Windows or better still Linux.

I don't share your aversion to HLLs as I see them
as building a house out of prefabricated components.
But they do limit the kind of house you can build.
I developed a taste for assembler (building my own
bricks) and liked it. However Windows programming
is using Windows prefabricated APIs and you have
no option.

> because i do not want to behave like Master Randall
> Hyde, working at nothing but Self-Promotion, but,
> nevertheless, RosAsm _does_ exist, with Ports of
> Test Departement Tutorials and Iczelion Tutorials, the
> Interactive Visual Tutorials, that you can directly run
> from the Help Menu, Yeoh, Demos, and so on... Plus
> 2 Megas of regulary updated Integrated Documentation...
>
> And, for a start, it would really _stuck_ me, if you
> could say to me that the infos, materials and tools,
> that any Win32 beginner could ever wish would be
> missing you...
>
>
> Not considering its impressive Components list, the
> main advantage of RosAsm is its complete Integration
> of all these components. Taking your above example of
> "A simple window", with RosAsm, you click upon [File]
> /[New]/[Return], and you have it. Then you hit [F6],
> and it is executed through the Debugger. Want a Break-
> point somewhere, to see what is going on? Easy: You
> hit [F4]/[F4]/[F6], and you have the debugger offering
> stepping and all, in its Dialog, and so on... Want to
> learn the very first infos about Win32 Asm? Simple: [Help]
> /[Visual Tutorials] >>> Click >>> Run and so on... Want
> Info on something or anything? Simple: Right-Click and/or
> Double-Left-Click upon the thingie...
>
>
> What else would you want? That the program learn, instead
> of you, and store the knowledge directly into your brain,
> while you sleep?


Even if I never get good enough at this Windows API to
achieve some of my goals I see it as an intellectual
passtime, as a break from other things. My wife solves
cross word puzzles when bored, I like to program things
when I am bored. It is a part time hobby.

Cheers,
John Casey

From: randyhyde@earthlink.net on

JGCASEY wrote:
> >
> >
> > How about decent tutorials that teach you how to solve
> > problems rather than simply teach you what API functions
> > do?
>
>
> You have read me correctly Randy.
>
> While perusing your "Windows Programming in Assembly
> Language" I read,
> "Petzold estimates this (mastering the Win32 API set)
> at six months for an established C programmer" my
> heart sank and I thought, oh sh*t, I wonder how many
> hours per day that would be.

Full-time. Eight hours per day.

> And how long for an
> unestablished C programmer.

But take heart, you do not need to master the entire Win32 API (or even
a large percentage of it) to achieve useful stuff. The Iczelion
tutorials, for example, probably cover less than 1% of the entire Win32
API.

>
> Of course I may not need to *master* the Win32 API
> set only figure out how to use the ones relevant
> to my limited needs. I am not out to write large
> Window assembler programs. I am happy to use Java.

Exactly.
And even if you do want to write an assembly app or two, you'll be able
to get by using a tiny percentage of the total number if API calls.

Once you master some of the basic APIs (creating windows, passing
messages between windows, and stuff like that), then you can post
questions on a board like MASMForum, Win32Asm Community, CLAX, or even
here, when you want to do something but don't know the API to use.

Despite what some people may claim, just reading the MSDN doesn't help
that much (i.e., the "bottom-up" approach). With that approach, you
pretty much have to read the entire API list from start to finish every
time you want to achieve something whose API you don't know about.
That's why a good tutorial, or a book like Petzold's, is a good thing
to use. You can learn what you need to know by the type of
*functionality* you want, rather than in some unnatural (e.g.,
alphabetic by API name) ordering.


>
> ---------------------------------
> At the Win32ASM Community messageboard in Win32ASM Main
> a post from Bronty on Multiple Webcams
>
> http://www.scrontsoft.com/win32asm/webcamapp.zip
>
> How easy would that be to convert to a "readable"
> HLA source code?

I know both MASM and HLA pretty well. I could almost do a line-by-line
translation of the webcamapp from MASM to HLA and the result would be
roughly as readable as the original. YMMV, of course.

With a bit more work, you could make it more readable, of course.


>
> ---------------------------------
>
> This is the kind of stuff I would like to be able
> to understand and modify (or even write) for my own
> projects. I see myself writing some kind of generic
> shell in which I can develop a library of modules
> tailored to my personal interests.

Okay, sounds cool.

>
> I am not sure what skill level I must reach to
> do this. There are many things you can do in
> Windows that don't interest me.

This is true for everyone. I believe there are something like 2,000 to
2,500 API calls (I lost track at 1,500, back in the win2K days).
Clearly, most programmers only use a tiny fraction of these. If you
don't do networking, for example, the networking APIs probably won't be
of interest to you.

> I just want to
> write small stand alone code, like the example
> above, that makes use of things like a webcam
> and the GUI image display. The rest of the code
> doesn't need any other Window stuff and could
> just as easily run in DOS. Indeed if you don't
> want the GUI you don't even need Windows. When
> a computer is used to run a single application
> with text i/o DOS is good enough... until you
> need to hook up to hardware, or other software,
> that only supports Windows!

You *can* write console apps in Windows, you know.
Particularly if you've got a decent library like the HLA stdlib, you
can avoid most of the API stuff. GUI, of course, isn't all the API
calls you'll want, but at least you can eliminate that set. And if
you're not doing GUI apps, a lot of the complex event-oriented
programming paradigm (another big educational block if you've not done
that kind of programming before) goes away.


>
> I noticed that here, in Australia, that many of
> the retail outlets have what appears to me to
> be DOS text displays. Of course the supermarkets
> have the fancy graphic displays which they use
> to advertise products at the checkout.
>
> I call it all dross and gloss :)

:-)

Yes, console apps are *far* easier to write. Though VB and Delphi have
made the development of GUI apps far simpler, for many embedded apps
(like supermarket check-out registers; can you see the cashier saying
"can you wait while Windows reboots?") Windows just isn't a reasonable
choice.
Cheers,
Randy Hyde

From: randyhyde@earthlink.net on

Betov wrote:
> "randyhyde(a)earthlink.net" <randyhyde(a)earthlink.net> écrivait
> news:1125337077.531477.297450(a)f14g2000cwb.googlegroups.com:
>
> > Regardless of what a few people around here believe, bottom-up
> > education is *not* natural for most people.
>
> Not natural for you, of course, as you never wrote
> anything real,

Nor is it natural for most of the students learning assembly out there.
The Wolfgang/Herbert approach of "hand them the Intel manual and that's
all they need" just doesn't cut it.

But until *you've* actually *taught* a bunch of students, you'll only
have your own personal experiences on which to base your comments.
Given that beginners are not flocking to your product or your approach
to learning assembly language, I suggest that you rethink your beliefs
about what's best for beginners.
Cheers,
Randy Hyde

From: randyhyde@earthlink.net on

Frank Kotler wrote:
>
> You'll hear that RosAsm "doesn't have library support". True... but
> "library support" is no business of an assembler.

Frank, I think you're confusing the term "library support" to mean that
the assembler includes lots of library routines. This isn't the meaning
of that term. NASM, FASM, even MASM do *not* provide such libraries.
What they provide, and the thing that is lacking in RosAsm, is the
ability to *use* library routines (or other statically linked objects).
And that *is* the business of the assembler to support, as that *vast*
majority of assembly code out there is linked against other code (e.g.,
HLLs).

"Library support" is simply shorthand for saying "it can produce OBJ
files that you can link with other code, and it has the ability to
reference objects appearing in other OBJ files." RosAsm fails on both
of these accounts with the exception of DLL support. And it's one of
those funny dichotomies that RosAsm supports *dynamic* linking, and
that's "compatible with assembly" while it doesn't support *static*
linking, which Rene claims is "incompatible with assembly." What Rene
really seems to be saying is that if he can't implement something in
*his* assembler, then it's "incompatible with assembly." :-)
Cheers,
Randy Hyde

From: Betov on
"JGCASEY" <jgkjcasey(a)yahoo.com.au> ýcrivait news:1125376540.549564.117090
@z14g2000cwz.googlegroups.com:

> I have some idea of this from playing with VB
> and VC++ after reading those "teach yourself in
> 21 days" type of books. However I couldn't find
> the "teach yourself Window Assembler programming
> in 21 days" book :)

Ah! I think i understand your problem, now...

The Win32 Api are not something that you could
_learn_. This would not mean a thing. NOBODY
knows "the Win32 Api". These are thousands and
thousands of sophisticated Functions, envolving,
often times, complicated Data Structures, and/or
Methods, orders, imbrications, return values,...

Nobody _knows_ this. At best, you will recall that
the "MessageBoxA" Function has 4 Parameters, that
the second one is the Message String, and that the
third one is the Box Title... But this is not, at
all this way, that we all work with the Win32 Api.

The time to learn the Win32 Functions is exactely
equal to zero and anyone who would tell you otherwise
would be a liar, having never written anything real.

For each need, we simply _search_ inside "Win32.hlp",
for the function doing what we need. Then each Param
description says to us what to implement, and how.

Do you expect that, for example, having a ToolBar
with BitMaps and TipTools associated, is something
that we could keep in our poor memory? No. Unless
you would write ToolBars everydays, you do never
memorize any of these details. You just read the
Doc, and/or Copy Paste some Template similar to
what you want.

Now, one another difficulty is with succeeding to
point out the required informations, inside such
a big informations base, as a Win32.hlp. I recall
having already explained this to you. This is the
only real thing you could learn about this subject,
and this capacity at pointing out the info, is,
mostly a matter of experience that you will acquire
in a couple of weeks.


Betov.

< http://rosasm.org >