ROOL Forum: Recent posts

ToolboxC++Lib Discussion

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 BASIC

Wed, 08 Oct 2025 19:46:33 +0000

Variables should all be lower case, and then they wouldn’t clash with keywords.

Learning BASIC

Wed, 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 Discussion

Wed, 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 Discussion

Wed, 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 BASIC

Wed, 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 BASIC

Wed, 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 BASIC

Wed, 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 BASIC

Wed, 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.

Hacktoberfest 2025

Wed, 08 Oct 2025 16:47:18 +0000

Nice Jean!

It’s a start, so well done! :)

ToolboxC++Lib Discussion

Wed, 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)