Software-update: QB64 2.0

QB64 logo (79 pix)QB64 is een moderne versie van de programmeertaal BASIC. De code wordt gecompileerd naar machinetaal en is daardoor snel en kan er worden gelinkt naar externe C- en C++-programmeerbibliotheken. Het is nagenoeg volledig compatibel met QBasic 4.5 en biedt ondersteuning voor extensies, zoals OpenGL. QB64 is verder opensource, beschikbaar voor Windows, Linux en macOS, heeft een goede wiki en support forum. In versie 2.0 treffen we onder meer nieuwe debug features in de IDE. De changelog voor deze uitgave ziet er als volgt uit:

New features

All platforms
  • New $Debug metacommand, with added breakpoint/step abilities and real-time variable watching to the IDE.
  • Quick reference for commands is now shown in the status bar when syntax errors are detected.
  • _Source is now also set to _Console when $Console:Only is used.
  • Allows Ctrl+\ to be used as a shortcut to repeat search (legacy QBasic shortcut).
  • Functions _MK$ and _CV can now deal with _OFFSET values.
  • New "View on Wiki" button on help panel (launches equivalent wiki page using the default browser).
  • New _EnvironCount function to show how many environment variables are found.
  • Color schemes can now be set/saved individually for each running instance of the IDE.
Windows
  • Automatically embeds a manifest file when compiling an exe with $VersionInfo, so that Common Controls v6.0 gets linked at runtime.
  • Adds the %TEMP%, Program Files and Program Files (x86) directories to _Dir$() folder specifications.

Fixes

All platforms
  • Improved wiki parser.
  • Contextual menu would crash when right-clicking a series of high-ascii characters.
  • Fixes an issue with passing an array as a Sub/Function argument (missing parenthesis now properly detected).
  • Fixes Clear making $Console mode invalid.
  • Fixes a syntax highlighter issue regarding scientific notation.
  • Fixes an issue in Windows Vista and up with incorrect resolution returned on a scaled desktop.
  • Fixes Const parser accepting unsupported string functions and failing with some very specific const names.
  • Explicitly sets x87 fpu to extended precision mode.
  • Removes 255-character limit for Input/Line Input with strings.
  • Fixes Data commands failing to compile in some circumstances.
  • $NoPrefix, Option _Explicit and Option _ExplicitArray can now be placed anywhere in a program, no longer having to be the first statement.
  • Fixes MEM reverting to _MEM as a sub parameter in $NoPrefix mode.
  • Fixes case adjustment of array names in UBound/LBound calls.
  • Prevents users from creating self-referencing Type blocks.
  • Fixes issue that prevented loading file names beginning with numbers.
  • Fixes file open/save dialogs issue with path navigation.
  • Complete rewrite of the internals for Environ$().
  • Fixes evaluation of valid var/flag names for $Let/$If - same rules for variable names now apply.
  • Fixes incorrect parsing of Type blocks with multiple elements using the AS type element-list syntax.
  • Fixes issue with Put # and variable-length strings in UDTs (Binary files).
  • Fixes issue with recursive functions without parameters.
Windows
  • Allows $Console:Only programs to return _WindowHandle.
  • Saving a file to the root of a drive would display double backslashes in the Recent Files list.
  • Allows the "move" mouse icon to be set with _MouseShow.
macOS
  • Flushes the console output so Print can properly display text even while retaining the cursor.
  • Allows the "cycle" mouse icon to be set with _MouseShow.
Linux
  • xmessage added to dependency list (setup script).
  • Fixes InKey$ acting too slow.
  • Fixes compilation error with Data statements on gcc 11.
  • Detects non-x86 based architectures.
  • Flushes the console output so Print can properly display text even while retaining the cursor.
  • Allows the "cycle"/"move" mouse icons to be set with _MouseShow.

QB64

Versienummer 2.0
Releasestatus Final
Besturingssystemen Windows 7, Linux, Windows XP, macOS, Windows Vista, Windows 8, Windows 10, Windows 11
Website QB64
Download https://github.com/QB64Team/qb64/releases/tag/v2.0
Bestandsgrootte 77,39MB
Licentietype GPL

Door Bart van Klaveren

Downloads en Best Buy Guide

10-10-2021 • 21:47

13

Submitter: zaadstra

Bron: QB64

Reacties (13)

13
13
10
1
0
3
Wijzig sortering
Als je het ombouwt naar FUNCTION dan wel?
Zie ook Keywords currently not supported by QB64

[Reactie gewijzigd door zaadstra op 22 juli 2024 22:56]

Ombouwen is niet compatibiliteit, dat is omschrijven.

In dit soort simpele voorbeelden/gevallen gaat het wel, maar als je een gigantisch oud programma aan de praat moet krijgen, dan is dit een ramp. Je moet gaan modificeren voor je überhaupt kan testen of de originele sources het doen/compleet zijn.

[Reactie gewijzigd door marcovtjetje op 22 juli 2024 22:56]

Doet Gorilla.bas het dan eindelijk? Die deed het vroeger niet vanwege DEF FN gebruik.
Je had meerdere versies van qbasic, had ik het idee. De versie die bij DOS zelf zat, en de versie die je van vriendjes op diskettes kreeg. Die laatste kon het bij mij wel.
Was die versie die bij DOS zat niet GWBasic?
Inderdaad, dat was gwbasic, en dat was een interpreter, erg traag. QB64 heeft een compiler, dus als het goed is veel sneller dan gwbasic.
Het commerciele product heet QuickBasic (typisch v4.5), met o.a. een compiler. .Qbasic was een afgeslankte versie (alleen interpreter) en zat vziw alleen bij dos.

GWBasic (Dos 3 en 4)was een ouder Basic product dan QBasic(Dos5+) . Mogelijk is Q(uick)basic een doorontwikkeling van GWBasic, maar dan zitten er generaties tussen.
Memories. De verloren middagen met gwbasic en qbasic :)
Hier een voorbeeld van (gratis kassa) software in qbasic, en de auteur is het aan het porten naar qb64: http://keyhut.com/qb64.htm
Ik weet niet waarom ik verrast was dat er een opensource variant van qbasic bestaat :) natuurlijk bestaat dat. Ik heb zelf alleen met max basic gewerkt en toen ik lang geleden zag dat er een basic was zonder regel nummers moest ik daar erg aan wennen.... Sweet memories
Hier nog een schowcase van alle nieuwe functies: Youtube
Grappig, ik kwam vorige week in mijn archief een zip file tegen met daarin de sourcecode van qbasic zelf plus de tools/buildomgeving om het te bouwen. Geen idee waar ik het destijds vandaan heb, zal wel niet de bedoeling zijn geweest dat het op internet terecht kwam…
ah, memories. Ons hele kassa en reserverings systeem van mijn studenten baan was destijds gebouwd in basic(q of gw, dat weet ik niet meer), nog in de 80286 tijd.
Dat spul heeft tot eind jaren negentig gedraaid, eigenlijk omdat alle alternatieven destijds niet voldeden aan de snelheid en robuustheid van ons eigen systeem.
Pas daarna kwamen er betere systemen die gelinked konden worden aan online reserveringen en telefoon reserveringen.

Op dit item kan niet meer gereageerd worden.