Still have a little proposal: It is about sbasicg.exe. Assume source code has setsize() command, for example:w = window()w.setsize(640, 480)Run the source code. Right-click. Select 'Back' in the menu. The source code page comes back. However, the source code page is still in 640x480. The source code page is not in the original size(maximum size). sbasicg.exe forgets changing the source code page's size back to the original size(maximum size).Thanks.
ox=xmax:oy=ymaxw = window()w.setsize(640, 480)?? "Click/key to close"pausew.setsize(ox,oy)end
REM SmallBASICREM created: 09/04/2020' create the window object, this provides access to a number of sub-commandsw = window()' select graphics mode screen 1 for outputw.graphicsScreen1()for i = 0 to 10 print "this is printed on screen 1"next iw.message("1 click to continue. ")pause' select graphics mode screen 1 for outputw.graphicsScreen2()color 1,3clsprint "this is printed on screen 2"w.message("2 click to continue. ")pausew.graphicsScreen1()print "back to screen 1"w.message("3 click to continue. ")pause' select the text mode for output' text mode can display more text but is slow ' also this is currently broken and will cause a crash 'w.textScreen()w.alert("This is an alert", "title")w.ask("Yes or no?", "Question")print "your answer was "; w.answerw.message("4 click to continue. ")pausew.menu("option1", "option2", "option3")' weirdly the result is sent to the keyboard handler' it should at least go to w.answer. also there is no option for placementselect case asc(inkey)case 0 print "one"case 1 print "two"case 2 print "three"case else print "unk"end selectw.message("5 click to continue. ")pause' this raises the virtual keypad on androidw.showKeypad()' set the font size ' arg1 = size ' arg2 = unit amount for size, "px" or "em"' px= pixels' em= emphasis - this is a multiplication factor for the current size' arg3= bold 1=on 0=off' arg4= italic 1=on, 0=off' this sets the font to be double in size with bold and italic' using pixels is likely to give an unexpected result in androidw.setFont(2, "em", 1,1)cls? "How does this look?"w.insetTextScreen(5,10,90,90)for i = 0 to 200 ? "This is in the text screen"next i' comment out the above cls to see the bugw.message("spot the bug (see comments)?")w.setFont(11, "px", 0,0)? "press a key to end..."pause
The window example on the website needs a little debugging, as it interprets the square brackets in things likew.message("[2] click to continue. ")wrongly and gives an error about arrays or something
I'm not sure resetting the window is going to be high on the todo list,
but in the meantime, you could do something like this:
Here's the window example (debugged, Win7), by the way.
Thus conversation is so important. I hope that the Author will spend more time on discussing with us(the community of SmallBASIC) about the direction of the development of SmallBASIC.
And then I worry it might not be maintained, as happened with a couple of my favourite languages in the past. I've sometimes been anxious to share suggestions and bug reports, here and elsewhere, because I hate to over-burden authors, and it can sometimes look like complaining. If I started to deliberately put a wish-list together, it might get quite long, but they're almost all that, just wishes
It might be good to put a pinned topic on the board with the link to the issues list. Can you add sections? It could really help to have a section for suggestions, bug reports, general chit chat, etc., rather than all of the threads being in one list.
It's a pity it's not a dedicated forum.
At this stage I'm just making minor incremental changes, mostly from suggestions such as this one!
At this stage I'm just making minor incremental changes, mostly from suggestions such as this one!Do you mean that the development of SmallBASIC nearly stopped? Oh....
Adding a pinned topic is an excellent idea, but I don't seem to have permissions. I guess I could work something out with the forum maintainers, but it would be more awesome for people to create an account with git-hub.Then you could register your suggestions and bug reports and they'd never be lost or forgotten:https://github.com/smallbasic/SmallBASIC/issues
My ulterior motive is for people to help improve the documentation. Here's how:1. Navigate to the documentation page:https://github.com/smallbasic/smallbasic.github.io2. Click clone to create your own copy.3. In your clone, navigate to any of the poorly documented SUBs/FUNCsFor example:https://github.com/smallbasic/smallbasic.github.io/blob/master/_build/reference/569-data-data.markdown4. Click the edit link to make some improvements.
Since this is BASIC, in a lot of cases there's already some other place that could be used for "inspiration" for example;https://www.c64-wiki.com/wiki/DATA
5. Commit and raise a pull request.Click "Create a new branch" for this commit and start a pull request. Click "Learn more about pull requests."Click "commit"You don't need any special software to do any of this, just a web browser
I am not familiar with SmallBASIC. Chrisws is also busy for making the next version of SmallBASIC better. You are familiar with SmallBASIC. You are very enthusiastic, too. Would you mind being the moderator of the SmallBASIC sub-forum? If you don't mind being the moderator, then we need to suggest in this thread:https://www.syntaxbomb.com/index.php/topic,43.210.html
QuoteIt's a pity it's not a dedicated forum. Ha.....then I will not come frequently. Many official forums of BASIC languages are dead forums or inactive forums. Basic4GL, NaaLaa, etc. Visiting them once per several months is enough. I frequently come to SyntaxBomb forum because it is active and I can get information or news of different BASIC dialects.
a=[3,2,1,-42]? absmin(a),absmax(a)end
It may also seem a backward step to put every keyword together in alphabetical order, but one of the things that slowed down my introduction to sB was the sections, since it's not immediately obvious which section a keyword might be under. This is especially true when you don't know what you're looking for, but is actually just a logical problem with any tree or discrete section structure. It leads to repetitions, like PEN, which is listed under Console with barely any information, and under Graphics with the full list of parameters. What's ARC, or PTDISTLN, maths or graphics - so it goes on, slowing you down looking stuff up every time you write a new line of code as a newbie. Where should PRINT be, since it can be to the console or a file? It could be useful in an alphabetical list to indicate those categories with each keyword, but they're more like tags than sections.
I also think absmin and absmax are the wrong way round:Code: [Select]a=[3,2,1,-42]? absmin(a),absmax(a)end-> 42 1