Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
QBJS v0.10.0 - Release
#1
Hi All,

The latest version of QBJS (0.10.0) is now available: https://qbjs.org

Release Highlights
Language/Compatibility Enhancements
This release contains a number of important language support updates which should greatly enhance the compatibility of QBJS with QBasic/QB64.

Implicit Variable Declaration
One of the most significant updates included in this release is support for implicit variable declaration. It is no longer necessary to make sure that you DIM all of your variables in QBJS. This enhancement also includes support for the QB64 Option _Explicit and Option _ExplicitArray directives.

Integer Division Operator
This release also now includes full support for the integer division (\) operator. In previous releases integer division was treated identically to a normal division operator (/) and did not perform the expected rounding.

More Keywords
Support has been added for QBasic Mid$ statement as well as the QB64 Clipboard methods:
  • _Clipboard (statement)
  • _Clipboard (function)
  • _ClipboardImage (statement)
  • _ClipboardImage (function)
Numerous other compatibility enhancements and fixes can be found in the full release notes.

New Language Features
This release adds support for Method Pointers which provide the ability to define Functions and Subs as variable types. Pointers to existing subs or functions can be referenced with the new '@' operator. Also included is a new standard String library containing commonly used string operations (e.g. Replace, Split) as well as advanced regular expression matching.

IDE Updates
The QBJS IDE has also received a major refresh with this update. A "New Project" button has been added to the toolbar to allow convenient creation of a new, blank project when one is already open.

Code tabs have been added to make it easier to manage larger projects with multiple resources in the QBJS IDE. Users can now open additional files from the virtual file system for edit in separate code tabs. This includes syntax highlighting for a number of known text file formats:
[Image: code-tabs-1.png]

All other text files will be loaded in a plain text editor as shown below:
[Image: code-tabs-2.png]

Image formats will be loaded in an image preview tab:
[Image: code-tabs-3.png]

Sound file formats will be loaded in an audio preview tab:
[Image: code-tabs-4.png]

All other binary files will be loaded in a hex viewer tab.

New Theme
A new theme named Blackout has been added for those who like a very dark look but retains the same font and feel as the original QBasic IDE.
[Image: blackout.png]

Javascript Tab Syntax Highlighting
Syntax highlighting has been enabled for the Javascript tab in the console to aid in readability of the generated Javascript for troubleshooting:
[Image: js-tab.png]

You can view the full release notes here.

Special shout out to @FellippeHeitor for numerous contributions to this release:
Clipboard support, Mid$ statement, Print fixes, InKey$ fixes, EndIf, IDE new button and more!

As always, I am very interested in any feedback you have or issues that you may encounter.
Reply
#2
Quote:Implicit Variable Declaration
One of the most significant updates included in this release is support for implicit variable declaration. It is no longer necessary to make sure that you DIM all of your variables in QBJS. This enhancement also includes support for the QB64 Option _Explicit and Option _ExplicitArray directives.

Wow!

Quote:New Language Features
This release adds support for Method Pointers which provide the ability to define Functions and Subs as variable types. Pointers to existing subs or functions can be referenced with the new '@' operator. Also included is a new standard String library containing commonly used string operations (e.g. Replace, Split) as well as advanced regular expression matching.

Wow wow! This makes it better than QB64. Can we do arrays of a UDT yet?
  724  855  599  923  575  468  400  206  147  564  878  823  652  556 bxor cross forever
Reply
#3
(08-16-2025, 07:21 AM)bplus Wrote: Can we do arrays of a UDT yet?

You can create arrays of a user defined type.  That has been supported for a while.  However, like QB64, creating an array as a member of a user defined type is not yet supported.
Reply
#4
Thats what I meant arrays of "member". I learned the name "property" from VB or "element" of UDT.

Sorry it was early early morning when I was awakened by massive hip pain and started surfing Internet for distraction, forgive me for not saying the words exactly right but you did get to what I meant. Smile
  724  855  599  923  575  468  400  206  147  564  878  823  652  556 bxor cross forever
Reply
#5
Wow! Great update @dbox!
grymmjack (gj!)
GitHubYouTube | Soundcloud | 16colo.rs
Reply
#6
(08-16-2025, 01:42 PM)grymmjack Wrote: Wow! Great update @dbox!
Thanks @grymmjack!
Reply
#7
Oh man, this is supercool project I have missed totally.
Author of BazzBasic, hobby programmer and avid bass player
Reply
#8
(01-11-2026, 05:03 PM)EkBass Wrote: Oh man, this is supercool project I have missed totally.
Thanks @EkBass !
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  QBJS v0.9.0 - Release dbox 31 6,010 04-23-2025, 01:14 AM
Last Post: dbox
  QBJS v0.8.0 - Release dbox 11 2,332 02-13-2024, 10:11 PM
Last Post: grymmjack
  QBJS v0.8.2 - Release dbox 0 559 02-02-2024, 11:29 PM
Last Post: dbox
  BAM: Release notes in the works for upcoming release CharlieJV 6 1,411 10-12-2023, 01:42 AM
Last Post: CharlieJV
  QBJS v0.7.0 - Release dbox 19 4,097 06-12-2023, 07:48 PM
Last Post: dbox

Forum Jump:


Users browsing this thread: 1 Guest(s)