Wishlist for PureBasic v4.0

Got an idea for enhancing PureBasic? New command(s) you'd like to see?
Kale
PureBasic Expert
PureBasic Expert
Posts: 3000
Joined: Fri Apr 25, 2003 6:03 pm
Location: Lincoln, UK
Contact:

Post by Kale »

Dare2 wrote:A command like GroupGadgets would be nice. This command would associated clumps of gadgetry and allow some actions to then be applied to all gadgets in a group. Gadgets should also be allowed to belong to more than one group.

It could be used for HideGadget, DisableGadget, etc, to do block actions.
eg:

Code: Select all

...
  OptionGadget(#Option1,X,Y,40,20,"ONE")
  OptionGadget(#Option2,X,Y,40,20,"TWO")
  OptionGadget(#Option3,X,Y,40,20,"Whee")
...
  ButtonGadget(#ButtonA, etc)
...
  ComboBoxGadget(#ComboZ, etc)
...
  GroupGadgets(#Group1, #Option1,#Option2,#Option3[, ...])
  GroupGadgets(#Group2, #ButtonA,ComboZ,#Option3[, ...])
...
  HideGadget(#Group2,#True)
  SetGadgetState(#Group1,1)
Some of this can be done in other ways (eg a procedure that does all the hiding/disabling/etc of a clump of gadgetry) but it would be neat.

For OptionGadgets it is a very intuitive way of lumping associated radio buttons together. So if one is chosen others in the group are unselected.
? I dont get this! PB can already do this with container gadgets and the option gadgets unselect others automatically. I dont get what else you need? :shock:
--Kale

Image
Dare2
Moderator
Moderator
Posts: 3321
Joined: Sat Dec 27, 2003 3:55 am
Location: Great Southern Land

Post by Dare2 »

Hi Kale,

True, however containers are rectangular gadgets. Stick a container on, say, a skinned window and you see it. Scatter items around the window and some skinning issues can happen. (As an example)

Whereas a grouping is a "nothing" (not a gadget or object). It is just a list of gadgets that the compiler (versus the final executable) understands. A sort of macro-ish thing, if that makes sense.

So, for example, with HideGadget(#group1,#True) the compiler could generate "n" hide commands, one per gadget in that group.

Also with grouping, gadgets could belong to more than one group.

Just a wish. I think it would be nice, and I think it would make some concepts (like associated OptionGadgets) more obvious.
@}--`--,-- A rose by any other name ..
Straker
Enthusiast
Enthusiast
Posts: 701
Joined: Wed Apr 13, 2005 10:45 pm
Location: Idaho, USA

Post by Straker »

REM. This is a standard BASIC command that can just be used as a optional synonym for ";". Before I get flamed by suggesting two additional keystrokes for a comment, my reasoning is that this is standard in almost every other BASIC language and if PureBasic claims "All Standard BASIC keywords: If-Else-EndIf, Repeat-Until, etc", then adding it would be prudent for completeness.

But my real reason for this post is that I would like to see a comment-start/comment-end structure. For example, another BASIC language I used has:

REMSTART
comment 1
comment 2
comment 3
REMEND

and other languages have:

/*
comment 1
comment 2
comment 3
*/

just a suggestion....
va!n
Addict
Addict
Posts: 1104
Joined: Wed Apr 20, 2005 12:48 pm

Post by va!n »

the idea to have not only the ";" sign isnt bad! but i really think commands like REM are really very old skool basic syntax i dont like to see in future for purebasic!

futuremore i would like to have the old ";" sing and creating commented lines and commneted blocks same as in C/C++ !! That would be nice but its not a must to have for me..., :wink:
va!n aka Thorsten

Intel i7-980X Extreme Edition, 12 GB DDR3, Radeon 5870 2GB, Windows7 x64,
dracflamloc
Addict
Addict
Posts: 1648
Joined: Mon Sep 20, 2004 3:52 pm
Contact:

Post by dracflamloc »

Dare2 wrote:I wish I might I wish I may have the wish I wish today

It would be nice to be able to link object and lib files. This could perhaps be done with new command-line parameters (and with the ability to set this in the IDE) and a declaration. Example:

LINK [filelist]
or
LINK:file LINK:file
or
whatever format turns people on.

And in the source:

External procname.type ( par.type ....)
or
LinkedProc procname.type ( par.type ....)
or
whatever syntax presses the right buttons.
Would be nice to be able to link to C compiled obj files directly.

Also the idea of a "tailbite" built into PB which produces a encrypted but not compiled file that could be included would be a great idea, so that libs can be created to work in future versions even if the auther doesnt want to release the source code.
Nik
Addict
Addict
Posts: 1017
Joined: Fri May 13, 2005 11:45 pm
Location: Germany
Contact:

Post by Nik »

Is better Network support planned for pb 4.0 I would love native getClientIP() and other cool Stuff. As some of you know I am working on an Instant Messenger completley written in PB and IT IS POSSIBLE. But Database functions and some Network Stuff could be optimised.
On the other Hand my Server written in PB is really fast 4 Users and more can login within a milli second wich is really cool.
bye Nik
User avatar
Psychophanta
Always Here
Always Here
Posts: 5153
Joined: Wed Jun 11, 2003 9:33 pm
Location: Anare
Contact:

Post by Psychophanta »

Another petition:
Allowing a pointer as parameter for Restore command instead a label name, it should be easy to access to any part of the data, else we must to cross datas using Read command repeatedly or use a label for each memory position into the datasection :roll:
http://www.zeitgeistmovie.com

while (world==business) world+=mafia;
Dr. Dri
Enthusiast
Enthusiast
Posts: 243
Joined: Sat Aug 23, 2003 6:45 pm

Post by Dr. Dri »

Code: Select all

DataSection
  
  Functions:
  Data.l @MyFunction1(), @MyFunction2()
  
  Labels:
  Data.l ?MyLabel1, ?MyLabel2, ?MyLabel3
  
EndDataSection
Dri
Killswitch
Enthusiast
Enthusiast
Posts: 731
Joined: Wed Apr 21, 2004 7:12 pm

Post by Killswitch »

I'd like the compiler to automatically exit when it encounters an error. Well, this may be an IDE issue - but when an error occurs and the line is highlighted you have to manually kill the program befrore editing the source. It's a bit annoying.
~I see one problem with your reasoning: the fact is thats not a chicken~
Fred
Administrator
Administrator
Posts: 18162
Joined: Fri May 17, 2002 4:39 pm
Location: France
Contact:

Post by Fred »

There is preference for this IIRC.
Shannara
Addict
Addict
Posts: 1808
Joined: Thu Oct 30, 2003 11:19 pm
Location: Emerald Cove, Unformed

Post by Shannara »

Straker wrote:REM. This is a standard BASIC command that can just be used as a optional synonym for ";". Before I get flamed by suggesting two additional keystrokes for a comment, my reasoning is that this is standard in almost every other BASIC language and if PureBasic claims "All Standard BASIC keywords: If-Else-EndIf, Repeat-Until, etc", then adding it would be prudent for completeness.

But my real reason for this post is that I would like to see a comment-start/comment-end structure. For example, another BASIC language I used has:

REMSTART
comment 1
comment 2
comment 3
REMEND

and other languages have:

/*
comment 1
comment 2
comment 3
*/

just a suggestion....
The thing is, PureBasic has removed itself from the basic family sort to speak. It has quite a few commands and ideas that are not in the BASIC family that it might be a good idea of renaming PureBasic all together.
Killswitch
Enthusiast
Enthusiast
Posts: 731
Joined: Wed Apr 21, 2004 7:12 pm

Post by Killswitch »

I always seem to suggest things that are already there! I can't seem to find this option, can you point me to it?
~I see one problem with your reasoning: the fact is thats not a chicken~
Num3
PureBasic Expert
PureBasic Expert
Posts: 2812
Joined: Fri Apr 25, 2003 4:51 pm
Location: Portugal, Lisbon
Contact:

Post by Num3 »

Psychophanta wrote:Another petition:
Allowing a pointer as parameter for Restore command instead a label name, it should be easy to access to any part of the data, else we must to cross datas using Read command repeatedly or use a label for each memory position into the datasection :roll:
This would be neat...
We could load data from files loaded into memory!
Straker
Enthusiast
Enthusiast
Posts: 701
Joined: Wed Apr 13, 2005 10:45 pm
Location: Idaho, USA

Post by Straker »

@Shannara

You are right. I was merely point out what PureBasic claims to be:
PureBasic is a new "high level" programming language based on established "BASIC" rules. It is compatible with any other "BASIC" compiler, whether its for the Amiga or PC format.
That's from the introduction.

I personally think PureBasic is truly its own dialect, plus I have never before used a "basic" language that requires a working knowledge of ASM and C.

Anyway, regardless of REM or not, my main suggestion was and is the ability to block out comments instead of a line-by-line basis.
Fred
Administrator
Administrator
Posts: 18162
Joined: Fri May 17, 2002 4:39 pm
Location: France
Contact:

Post by Fred »

killswicth: try in the preferences/debugger/kill the program after an error.
Post Reply