From: JGCASEY on 29 Aug 2005 18:29 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 29 Aug 2005 18:40 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 29 Aug 2005 18:43 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 29 Aug 2005 20:38 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 30 Aug 2005 04:08
"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 > |