Wed, 08 Oct 2025 21:14:15 +0000
By the way, to make the library future proofed, apart from the bodge, changes can be made in the ToolboxEvents.h file by end users. Gadgets can be added making a wrapper extending ToolboxGadget.
Learning BASICWed, 08 Oct 2025 19:46:33 +0000
Variables should all be lower case, and then they wouldn’t clash with keywords.
Learning BASICWed, 08 Oct 2025 19:04:46 +0000
Thanks all for the helpful replies. I’ve got StrongED and StrongHelp installed and running and am primarily thinking of full screen single tasking.
The Gerph examples look helpful for later and the links to other materials are much appreciated.
As for the Mac, the caps lock doesn’t seem to stick so it’s defaulting to lower case regardless. I will be putting 30 Hour BASIC to the bottom of the list :)
ToolboxC++Lib DiscussionWed, 08 Oct 2025 19:00:27 +0000
I’ll check later, but I seem to recall the event numbers match the SWI chunk?
ToolboxC++Lib DiscussionWed, 08 Oct 2025 18:34:41 +0000
Just uploaded todays changes to GitHub. As suggested by @Piers, modifying the large switch/case block in ToolboxCoreObj, it now calls fewer methods which can be overloaded by the end user who then creates their own dispatch switch/case blocks to call their own overloaded methods. However, there is one pure virtual which the end user has to implement:
void toolboxEventHandler(int event);
such as in the !MinProg example:
void MinProg::toolboxEventHandler(int event) {
event = event;
}
I have had to bodge the ToolboxCoreObj event dispatcher a bit because the events for the ToolAction, ScrollList, TreeView and Tabs do not actually fall into the range for what would be ReservedToolboxModuleEvent, if anyone has a better list of allocations I would be able to sort that part of the code.
Still to do is the WIMP dispatcher to modify the code so there is a smaller switch/case block.
By the way, please don’t hold up the examples as good programming, I’m just using them to test the library code works.
Learning BASICWed, 08 Oct 2025 18:14:59 +0000
non-standard bits of BBC BASIC
Entertainingly the first example in 30 hour BASIC by Clive Prigmore, 1981 page 11 is :-
INPUT FIRST INPUT SEC LET SUM = FIRST + SEC PRINT SUM END
That gives a syntax error after the two numbers are input.
Fortunately StrongED’s syntax colouring came to my rescue showing that SUM is a keyword in BBC BASIC. All these years with BBC BASIC and I didn’t know that.
An Italian version of the ZX81 version of this book sidestepped the issue neatly :-
LET SOMMA = PRIMO + SECONDO
A bit more googling found that there is, or was, a BBC Micro variant of the book after all. BBC Micro BASIC does not have SUM as a keyword. 30 hour BASIC, BBC Micro variant, is still a risky choice for the BBC BASIC of now.
Learning BASICWed, 08 Oct 2025 17:42:32 +0000
Hi
At a RiscOS show I bought a book called “The Giant Book of Applications” from Drag N Drop, which is writing Applications Tutorials and Listings book, providing multitasking WIMP programs for RiscOS written in BBC BASIC.
https://www.dragdrop.co.uk/shop.php
A nicely written book, but assumed that the reader can program in BBC BASIC
They also do other books and magazines.
Learning BASICWed, 08 Oct 2025 17:23:07 +0000
True, but
If you’re leaning BASIC in 2025, you probably want to be using all of the non-standard bits of BBC BASIC that make it tolerable for anything other than Hello World…
Learning BASICWed, 08 Oct 2025 16:52:44 +0000
I would be wary of that. BASIC is not universally defined and varies between platforms.
True, but…
When I wrote an Olivetti word processor format to Wordstar 6 format converter in BBC Basic, it didn’t take much modification to produce a version that worked in the GW Basic on the x86 DOS machines of the era.
Wed, 08 Oct 2025 16:47:18 +0000
Nice Jean!
It’s a start, so well done! :)
ToolboxC++Lib DiscussionWed, 08 Oct 2025 16:35:15 +0000
@ Bill,
C ++ encapsulation is a very good thing.
I have rebuilt your demonstration programs, with DDE C ++ and OSLIB for comparison. I will try to make them available after cleaning them, to have only the DDE (I also use the STL)