Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Releases: Galleondragon/qb64

Version 1.3

08 Apr 00:51

Choose a tag to compare

banner

What's new in QB64 v1.3?

Check out the full changelog at https://www.portal.qb64.org/version-1-3-changelog

Download links:

Download the right package for your Operating System:

  • macOS: qb64_1.3_osx.tar.gz
  • Linux: qb64_1.3_lnx.tar.gz
  • Windows 32-bit: qb64_1.3_win_x86.7z
  • Windows 64-bit: qb64_1.3_win_x64.7z

If you downloaded any of these packages before April 14th 2019, you got outdated help files. You can either go to Help->Update All Pages in QB64's IDE or replace the contents of the internal/help folder with the contents of the help_1.3.zip file below.

Version 1.2

23 Feb 19:22

Choose a tag to compare

QB64 1.2 Changelog (build 20180202/85):

  • IDE improvements:

    • C++ Compilation Error messages are now stored a log file that can be
      accessed from a link in the Status area, making it easier to debug
      your programs.
    • Syntax highlighter: keywords and numbers can now be highlighted with
      a different color, customizable via Options->IDE Colors.
    • Custom keyword highlighter: SUB and FUNCTION names also get highlighted,
      borrowing the same color from $Metacommands.
    • Multi-highlight for word selection: when you select a keyword, variable
      name or any other text, all other instances of the selected content are
      highlighted on screen, allowing a quick peek at all surrounding locations
      where you used the same program element.
    • Modifier keys (Alt, Ctrl, Shift) should no longer be detected by QB64
      (and compiled programs) when it's not the topmost window.
    • Integrates qarnos's QB45BIN, to allow conversion of QuickBASIC 4.5's
      binary file format.
    • IDE window resizing now repaints the interface in real time.
    • "Find and Verify" dialog (menu Find->Change) has been moved to the
      status area so as not to block view when performing selective
      search/change operations.
    • New shortcuts for common operations: Ctrl+N for new file, Ctrl+O to
      invoke the Open dialog, Ctrl+R to comment out a selected block of text
      (add apostrophes) and Ctrl+Shift+R to remove them ("R" is for REMark).
    • Contextual help (F1) for sub/functions is now provided (allows quick
      check of sub/function parameters).
    • You can now have multiple instances of the IDE open in Linux and macOS,
      just like in Windows.
    • Double-click on an $INCLUDE file name launches the file in a
      separate window.
    • Copy/paste reworked to allow empty lines to be copied.
    • Cursor size is now customizable (check internal/config.txt).
    • Alt+F4 can now be used in Windows to close the IDE and any program
      compiled with QB64.
    • You can now instruct the IDE to only warn about errors when you hit
      F5, Ctrl+F5 or F11 to start compilation. Just uncheck "Show compilation
      errors immediately" in the Options menu.
  • New functions and statements:

  • Overal fixes and improvements:

    • _SCREENCLICK now accepts a third parameter to specify what mouse
      button to emulate:
      https://www.qb64.org/wiki/index.php/SCREENCLICK
    • _SNDRAWLEN has been fixed to properly reset to 0 when no more _SNDRAW
      data exists in the buffer.
    • $EXEICON now automatically invokes _ICON so that the icon file embedded
      at compile time is immediately used for the program window.
    • A bug that would prevent command line compilation when a character
      was found before an ELSE statement has been fixed.
    • _MOUSEX and _MOUSEY now return an integer value in SCREEN 0.
    • Sound output has been reviewed:
      • _SNDBAL now accepts a third parameter for 3D sound, as well as a
        fourth parameter to specify which sound channel to adjust:
        https://www.qb64.org/wiki/index.php/SNDBAL
      • _SNDOPEN has been simplified so that now you no longer need to specify
        "SYNC, VOL, PAUSE", etc when opening a sound file, as all sounds opened
        support the same "capabilities":
    • A condition introduced after the upgrade to Xcode 9 that would prevent
      compilation in macOS has been addressed.

Many other minor fixes and adjustments have also been made, and you can
check the full change log at https://github.com/Galleondragon/qb64/commits/master

Version 1.1

02 Mar 15:47

Choose a tag to compare

The QB64 team proudly presents QB64 V1.1


To install, simply extract to a new directory (and for Linux/Mac, run the setup script). Extracting on top of a previous version is not supported, and you risk ending up with a broken compiler.

This version of QB64 no longer has any components under the GPL. Most components are under suitably permissive licenses to produce closed source programs, with the exception of the sound subsystem. See the LICENSE folder for more detail.

This release contains changes across the board, fixing bugs, adding useful new features, and even improving QB45 compatibility in some minor corner cases. Below is a (almost) complete changelog, as well as a list of all new commands.

Have fun!


IDE/Compiler frontend:

  • A new configuration system, with settings stored in internal/config.txt. This also comes with lots of new things for you to twiddle and customise the IDE just the way you like (take a look under the Options menu).
  • Resizing the window is handled more gracefully.
  • Several code-eating bugs (where chunks of code would disappear while being edited) have been fixed.
  • Mouse buttons can be swapped, for those who like to use left-handed mice.
  • SUBs/FUNCTIONs can be indented.
  • Current SUB/FUNCTION name and * (for unsaved changes) is shown in the program name bar.
  • Right-clicking in the source gives a menu with useful options.
  • Double-clicking in the source selects a word.
  • New shortcuts: Ctrl-S Save; Ctrl-G Goto line; Ctrl-F3 Find.
  • Pressing tab with selected code increases indentation (disable the auto-formatter to see it).
  • Typing _RGB( or associated function prompts you to press Shift-Enter to open a colour picker.
  • If enabled, executables will be saved in the same directory as the source file.
  • Add an option to pass command-line arguments when lauching via F5.
  • Add -o (output file), -s (settings), -h/-help command line options (see help output for more info).
  • Ctrl-Backspace erases an entire word, on platforms where such a key combination can be detected.

Compiler:

  • Some convenience substitutions (ENDIF -> END IF), auto-adding ; between PRINT items improve compatibility with old source, especially GW-BASIC programs.
  • Tightened syntax checking in several places to prevent more mysterious errors, such as internal compiler error or C++ compilation failed.
  • Allow variable names such as data.db for compatibility with QB45.
  • Add a precompiler for selective compilation: $LET, $IF, $ELSE, $ELSEIF, $END IF. Great for surrounding DECLARE LIBRARY blocks that are platform dependent.
  • Add _INCLERRORFILE$ and _INCLERRORLINE to return error information when it occurs in an include file.
  • Add _COMMANDCOUNT for number of commandline arguments and allow passing an integer argument to COMMAND$() to get a particular commandline argument.
  • Add SELECT EVERYCASE, which executes every CASE that matches, not just the first.
  • Add OPTION _EXPLICIT to give an error on implicitly declared variable names.
  • _PI now takes an optional multiplier as an argument.
  • Add $EXEICON to build an icon into the program itself (applicable to Windows only).
  • _ICON with no parameters now uses the one built in with $EXEICON.

Runtime:

  • Fix scrollwheel on Linux.
  • OPEN "SCRN:" FOR OUTPUT AS #1 now causes output to #1 to be printed onscreen.
  • Fix SHELL() to return correct exit codes on Linux.
  • VAL() can now parse binary numbers with &B.
  • VAL() handles very large numbers better.
  • Fix _EXIT on Linux.
  • PLAY correctly defaults to T = 120 on invalid value.
  • Fix loading of some PNG files that previously gave an error.
  • Make EOF read ahead one byte as per QB45.
  • Fix play speed of some audio files.
  • Fix TCP/IP on Linux.
  • Reimplement _MOUSEMOVE

New commands:

  • _SCALEDWIDTH
  • _SCALEDHEIGHT
  • _SCREENHIDE
  • _INCLERRORLINE
  • _INCLERRORFILE$
  • _MOUSEPIPEOPEN
  • _MOUSEINPUTPIPE
  • _MOUSEPIPECLOSE
  • _COMMANDCOUNT
  • _CWD
  • _STARTDIR
  • _DIR$
  • _ARCSEC
  • _ARCCSC
  • _ARCCOT
  • _SECH
  • _CSCH
  • _COTH
  • _SEC
  • _CSC
  • _COT
  • _SCREENICON

As well as a whole host of small corrections, regression fixes, fixed memory leaks, minor tweaks and under-the-hood changes.