PureBasic Docs- Ideas/Help needed for a "We start" chapter!?

Everything else that doesn't fall into one of the other PB categories.
User avatar
Vera
Addict
Addict
Posts: 858
Joined: Tue Aug 11, 2009 1:56 pm
Location: Essen (Germany)

Re: PureBasic Docs- Ideas/Help needed for a "We start" chapt

Post by Vera »

Hello my friends ~ Guess what!

The translation is completed :D ... in such a short time 8)

... so we likely gonna have a triple-languaged-PB-UGuide soon
User avatar
Andre
PureBasic Team
PureBasic Team
Posts: 2056
Joined: Fri Apr 25, 2003 6:14 pm
Location: Germany (Saxony, Deutscheinsiedel)
Contact:

Re: PureBasic Docs- Ideas/Help needed for a "We start" chapt

Post by Andre »

@Vera: Voila and thanks! :mrgreen:

Now it's time to include this chapters in the Index etc. of the CHM reference manual. This is up to Fred! 8)

And maybe there are some more ideas/contributions for new chapters, which should be included in the beginners sections!?
Bye,
...André
(PureBasicTeam::Docs & Support - PureArea.net | Order:: PureBasic | PureVisionXP)
User avatar
Vera
Addict
Addict
Posts: 858
Joined: Tue Aug 11, 2009 1:56 pm
Location: Essen (Germany)

Re: PureBasic Docs- Ideas/Help needed for a "We start" chapt

Post by Vera »

Hello to all french-speaking members,

I have bundled a standalone preview of the new french UserGuide for everyone to take a look: - (update: typos - thanks to GG / fixes & enhancements)

enjoy :)
... and if you have specific hints or suggestion please let me know via pm for not to derail this thread.
Andre wrote:And maybe there are some more ideas/contributions for new chapters, which should be included in the beginners sections!?
Yes that would be nice.
Mesa suggested yesterday to include more smaller examples and add pictures ... making it 'more thrilling' (if I may say) to walk&work through the sections.

greets ~ Vera
Last edited by Vera on Fri Oct 02, 2015 8:58 pm, edited 1 time in total.
User avatar
GG
Enthusiast
Enthusiast
Posts: 257
Joined: Tue Jul 26, 2005 12:02 pm
Location: Lieusaint (77), France

Re: PureBasic Docs- Ideas/Help needed for a "We start" chapt

Post by GG »

Thanks a lot Vera !

I suggested a few corrections in the >> french forum in the right thread <<. Can I continue with this method (name of html file + correction) through the whole document ?
Purebasic 6.04 64 bits - Windows 11 Pro 64 bits 23H2
Fred
Administrator
Administrator
Posts: 16619
Joined: Fri May 17, 2002 4:39 pm
Location: France
Contact:

Re: PureBasic Docs- Ideas/Help needed for a "We start" chapt

Post by Fred »

Topic cleaned.
collectordave
Addict
Addict
Posts: 1309
Joined: Fri Aug 28, 2015 6:10 pm
Location: Portugal

Re: PureBasic Docs- Ideas/Help needed for a "We start" chapt

Post by collectordave »

I have not read the whole thread so please delete if allready mentioned.

The heart of any PB programme is the main event loop and how to process events. Not the individual events etc just how it all works.

Recent experience with PB has shown me that there is a lot of misunderstanding surrounding the event processing loop especially when it comes to programming multiple window applications.

A lot of programmers come from VB etc where they are shielded from the event loops, or use basics which do not expose the event loop so I feel this should be the first chapter.
Any intelligent fool can make things bigger and more complex. It takes a touch of genius — and a lot of courage to move in the opposite direction.
collectordave
Addict
Addict
Posts: 1309
Joined: Fri Aug 28, 2015 6:10 pm
Location: Portugal

Re: PureBasic Docs- Ideas/Help needed for a "We start" chapt

Post by collectordave »

No reply so wrote a little tutorial of my own.

had to post here:-

http://www.codeinbasic.com/index.php?topic=260.0

As I cannot upload a zip file to this forum.

Hope all newbies enjoy
Any intelligent fool can make things bigger and more complex. It takes a touch of genius — and a lot of courage to move in the opposite direction.
User avatar
TI-994A
Addict
Addict
Posts: 2512
Joined: Sat Feb 19, 2011 3:47 am
Location: Singapore
Contact:

Re: PureBasic Docs- Ideas/Help needed for a "We start" chapt

Post by TI-994A »

collectordave wrote:...wrote a little tutorial of my own.
http://www.codeinbasic.com/index.php?topic=260.0

Hope all newbies enjoy
Based on this little excerpt from that tutorial, some words of caution for the newbies:

Image

PureBasic recommends against doing so:
PureBasic Manual wrote:Indexed numbering
The static, indexed way, allows you to reference an object by a predefined numeric value. The first available index number is 0 and subsequent indexes are allocated sequentially. This means that if you use the number 0 and then the number 1000, 1001 indexes will be allocated and 999 (from 1 to 999) will be unused, which is not an efficient way to use indexed objects. If you need a more flexible method, use the dynamic way of allocating objects...
While this may not be evident in the size of the compiled binary, it could be clearly seen in the memory footprint that the executable occupies; simply assigning a large static object number would increase the memory usage by 100Kb.

Furthermore, it should be noted that when utilising dynamic object numbering, the allocated object number should be assigned to a variable, as it would invariably be required further down the execution.

The perils of vanity publishing. :lol:
Texas Instruments TI-99/4A Home Computer: the first home computer with a 16bit processor, crammed into an 8bit architecture. Great hardware - Poor design - Wonderful BASIC engine. And it could talk too! Please visit my YouTube Channel :D
collectordave
Addict
Addict
Posts: 1309
Joined: Fri Aug 28, 2015 6:10 pm
Location: Portugal

Re: PureBasic Docs- Ideas/Help needed for a "We start" chapt

Post by collectordave »

Hi All

As you read more of the tutorial chapters 1 to 5 you will see that I agree with this.
Furthermore, it should be noted that when utilising dynamic object numbering, the allocated object number should be assigned to a variable, as it would invariably be required further down the execution.
I abandoned using enumerations and assigning my own numbers to windows and gadgets in favour of assigning the allocated object number to variables for use later down the line. This can also become a pain trying to invent variable names for all the allocated object numbers so also started to use the module feature of PB to keep variable names isolated. Just imagine using five windows, each with Ok and Cancel buttons. Using modules you can use btnOk and btnCancel as variables for each and all the Ok and Cancel buttons on all windows no need to think of btnOk1,btnOk2 etc. This is explained in the tutorial.
Any intelligent fool can make things bigger and more complex. It takes a touch of genius — and a lot of courage to move in the opposite direction.
User avatar
Keya
Addict
Addict
Posts: 1891
Joined: Thu Jun 04, 2015 7:10 am

Re: PureBasic Docs- Ideas/Help needed for a "We start" chapt

Post by Keya »

TI-994A thats interesting thankyou for pointing that out. I too wrongly assumed we could use any value without performance penalty

Code: Select all

hFile1 = CreateFile(0, "file1.tmp")           <-- Process memory=1,756kb 
hFile2 = CreateFile(50000000, "file2.tmp")    <-- Process memory=197,492kb    = 4 bytes reserved for each handle in the array on my Win32 (double that for handles on 64?)
Hopefully nobody has created their own GetFreeHandle function that returns a random value up to $7FFFFFFF heehee :)
Last edited by Keya on Sun Nov 15, 2015 9:17 am, edited 1 time in total.
User avatar
TI-994A
Addict
Addict
Posts: 2512
Joined: Sat Feb 19, 2011 3:47 am
Location: Singapore
Contact:

Re: PureBasic Docs- Ideas/Help needed for a "We start" chapt

Post by TI-994A »

collectordave wrote:
TI-994A wrote:Furthermore, it should be noted that when utilising dynamic object numbering, the allocated object number should be assigned to a variable, as it would invariably be required further down the execution.
I abandoned using enumerations and assigning my own numbers to windows and gadgets in favour of assigning the allocated object number to variables for use later down the line. This can also become a pain trying to invent variable names for all the allocated object numbers so also started to use the module feature of PB to keep variable names isolated. Just imagine using five windows, each with Ok and Cancel buttons. Using modules you can use btnOk and btnCancel as variables for each and all the Ok and Cancel buttons on all windows no need to think of btnOk1,btnOk2 etc. This is explained in the tutorial.
I have absolutely no idea what you mean, but I was referring to this (the second highlighted block):

Image

Dynamic object numbering should be formatted like so:

Code: Select all

winNumber = OpenWindow(#PB_Any, 0, 0, 270, 280, "Fruit & Veg", #PB_Window_SystemMenu)
Without the variable, winNumber, there's no way to refer to the window after it is initialised.
Texas Instruments TI-99/4A Home Computer: the first home computer with a 16bit processor, crammed into an 8bit architecture. Great hardware - Poor design - Wonderful BASIC engine. And it could talk too! Please visit my YouTube Channel :D
collectordave
Addict
Addict
Posts: 1309
Joined: Fri Aug 28, 2015 6:10 pm
Location: Portugal

Re: PureBasic Docs- Ideas/Help needed for a "We start" chapt

Post by collectordave »

Without the variable, winNumber, there's no way to refer to the window after it is initialised.
That is correct and as you read through the tutorial chapters that is also explained.
Any intelligent fool can make things bigger and more complex. It takes a touch of genius — and a lot of courage to move in the opposite direction.
User avatar
VB6_to_PBx
Enthusiast
Enthusiast
Posts: 617
Joined: Mon May 09, 2011 9:36 am

Re: PureBasic Docs- Ideas/Help needed for a "We start" chapt

Post by VB6_to_PBx »

TI-994A ,
would my Code below be OK to use ?? ... any problems with it ??

Code: Select all

   
     #Window_0 = 4800         ;~~~~~ Main Program Window

    wFlags = #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_ScreenCentered
    WinX = 0 : WinY = 0 : WinWidth = 1028 : WinHeight = 740
    OpenWindow(#Window_0, WinX, WinY, WinWidth, WinHeight, "", wFlags )
 
PureBasic .... making tiny electrons do what you want !

"With every mistake we must surely be learning" - George Harrison
User avatar
TI-994A
Addict
Addict
Posts: 2512
Joined: Sat Feb 19, 2011 3:47 am
Location: Singapore
Contact:

Re: PureBasic Docs- Ideas/Help needed for a "We start" chapt

Post by TI-994A »

VB6_to_PBx wrote:TI-994A ,
would my Code below be OK to use ?? ... any problems with it ??

Code: Select all

#Window_0 = 4800
Although you could technically use large numbers as object identifiers, it simply isn't recommended.

Barring that, the snippet looks fine to me. :wink:
Texas Instruments TI-99/4A Home Computer: the first home computer with a 16bit processor, crammed into an 8bit architecture. Great hardware - Poor design - Wonderful BASIC engine. And it could talk too! Please visit my YouTube Channel :D
collectordave
Addict
Addict
Posts: 1309
Joined: Fri Aug 28, 2015 6:10 pm
Location: Portugal

Re: PureBasic Docs- Ideas/Help needed for a "We start" chapt

Post by collectordave »

#Window_0 = 4800
You answered that yourself!

Plus read the tutorail and I do not recommend it so why post?
Any intelligent fool can make things bigger and more complex. It takes a touch of genius — and a lot of courage to move in the opposite direction.
Post Reply