PlanetSquires Forums

Support Forums => Other Software and Code => Topic started by: Roger Garstang on December 30, 2008, 09:31:27 PM

Title: Newbie want-a-be question....
Post by: Roger Garstang on December 30, 2008, 09:31:27 PM
I am considering taking advantage of the sale price.....but had a few concerns :-)

What would be the easiest way to learn and get up to speed with Firefly? The whole API thing still scares me, because I know nothing about it. Could anyone recommend a "API for dummies" book? Something elementary enough to understand for a newbie? I never understood callbacks and all of that stuff. I am not opposed to learning something new....just been comfortable using another product that shielded me from all of that stuff ;-)

I have been following the thread on the PB forums and the sale price is a steal! Regular price is still a good deal! I have been a fan of Jpro for years, so I know what Paul is capable of. Also used Cheetah for quite a while in the past.

Thanks in advance,
Gary
Title: Re: Newbie want-a-be question....
Post by: TechSupport on December 30, 2008, 11:18:01 PM
Hi Gary,

Happy to hear that you are considering FireFly. The easiest way to learn is to jump in with both feet and start by creating a small, utility type of program. I wouldn't start by trying to make a one-to-one conversion of a large existing project. It could be done but you might get more frustrated than anything.

There are many resources for Windows API. However, with FireFly you really only need to learn the functions that deal with manipulating the Form and Controls. Lots of the deeper stuff like window classes and message pumps is taken care for you. Also, sites like Jose's is a treasure trove of information.

There is no such thing as callbacks in FireFly. Well, actually, the "callbacks" are handled internally by FireFly through using message handlers. This helps separate the majority of important messages out into their own distinct functions. Also, FireFly subclasses the standard controls for you so you automatically have access to messages like WM_MOUSEMOVE.

My suggestion: Start coding and ask plenty of questions here, on Jose's forum, and even on the PB forum. The best types of questions are ones where you state the problem that you're having or the effect that you're trying to achieve. That way I/we can suggest the best algorithm or api functions to use. For example, the best way to move controls (i.e. in the WM_SIZE message handler using SetWindowPos....).  :)

Maybe I should start another subform to discuss the major api functions and provide FireFly specific examples.

When you start to get into more advanced things like owner draw, custom draw or even simple paint effects then ask.

Oh, and if you liked Cheetah then you should also like SQLitening. Check out all of the work that Fred has done on the project. Also, check out the posts by Joe Byrne and Mike Doty. Lots of good information there. I use SQlitening as my database system of choice these days.
Title: Re: Newbie want-a-be question....
Post by: Jean-Pierre LEROY on December 31, 2008, 05:42:50 AM
Hello Gary,

I use FireFly since March 2005 and I've written dozens of programs; I know almost nothing about Windows API; in my programs I use mainly the "FireFly Functions" created by Paul Squires and / or other third party DLL (SiGrid, PowerTree, RMChart, Win2PDF and more recently SQLitening).

The "FireFly Functions" are very easy to understand and to use; Paul provides a separate help file with all the "FireFly Functions" by domain and/or by control:


So I want to insist on this point: you can use FireFly without knowing the Windows API or if you prefer you don't have to learn the Windows API to use FireFly: you just have to use the very well documented "FireFly Functions".

I know that behind the scene, FireFly use Windows API for code generation; it is a very important point for me, because I know that the Windows API are native code for Windows and the most efficient for Windows Applications.

So in my opinion FireFly+PowerBasic is the best combination that I know so far for Windows Programming:

1. FireFly is the easiest tool to design and create Window Applications; in that sense we can compare FireFly to a RAD tool and/or L4G programming language (just my opinion).
2. FireFly+PowerBasic generate the most efficient code for Windows in terms of size and execution speed.

PS1: in some very specific areas I use some Windows API: only when there is no FireFly function available.
PS2: for Paul: could it be a good idea to publish the "Firefly Functions" on your WebSite ? like the on-line manuals we have on the PowerBasic website.

Just my two cents.

Happy new year to you and to all the members of this forum.
Jean-Pierre
Title: Re: Newbie want-a-be question....
Post by: Roger Garstang on December 31, 2008, 12:14:46 PM
Paul & Jean-Pierre,

Thanks for the replies! I am taking the plunge and gonna give it a whirl.  ;D