[FR] [IT]


This document outlines the new features in FB^3 release 3 which are worked on for the next release.

New examples

HTML Rendering. Build your own browser!
Picture -> QT movies.
Frame grabber gets camera, VCR, etc. input.
QuickTime can opener - Open GIFF, TIFF, JPEG, Photoshop 2, BMP and a bazillion other types of graphic files.
Update a window with a picture too large to fit in memory. (It comes straight off of the disk!)
Appearance Manager controls (even the animated ones!)
Support for the WASTE engine.

Press release:
Paris, 06/09/2000
[return to top] New Runtime

Here's a blast from the past! A new runtime puts green text on a black background. It handles the display in a 80x25 grid. (Of course, all this is user modifiable!) It even has the old fashioned blinking cursor. This was done primarily for users of older BASICs (like NEC's N-88 BASIC) to have a familiar starting point when switching to FB^3.

[return to top] Containers

Containers were referred to as long strings in QuickBASIC. In FB^3, they have been modernized and expanded. A container may hold numeric or text data and may be as long as 2 gigabytes!
MID$$, LEFT$$, RIGHT$$ were added to operate on containers.
You can put the contents (the first 32K) of a container into an edit field.
You can fill a container with the contents of an edit field..
INSTR, CHR$(), LEN(), UCASE$() work with containers..
A new function FN FBcompareContainers will compare two containers.
A side effect of the comparison is that we also developed a function that compares handles called FN FBcompareHandles

[return to top] Nav Services

You can now use Apple's new Navigation Services to display the modern FILES$ dialogs.
There is a new version of FILES$ that lets you select a folder instead of a file.
[return to top] Enhanced EDIT$ statement

With a single instruction you will be able to:
get a line of text: t$ = EDIT$(fldID%,lineNum)
get a series of characters: t$ = EDIT$(fldID%,selStart,selEnd)
replace a line of text: EDIT$(fldID%,lineNum) = t$
replace some characters: EDIT$(fldID%,selStart,selEnd) = t$
append text: EDIT$(fldID%,_maxInt) = t$
insert at the beginning: EDIT$(fldID%,0,0) = t$
replace the current selection: EDIT$(fldID%,-1) = t$
insert styled text:
EDIT$(n) = text$,font,size,style,mode,red,green,blue
EDIT TEXT [#optionalFldRef%],font,size,style,mode,red,green,blue
[return to top] New Operators

x += 5 is the same as x = x + 5
x -= 5 is the same as x = x - 5
container$$ += string$
c++ I couldn't resist this. It's the same as INC(c) or c = c + 1
c-- This is what we really think of the competition. :)
[return to top] New PG Filters

PG now supports 3D panels and embossed text
[return to top] Debugging

The debugger now shows how many times a variable is used in your program!
[return to top] Status

While compiling, the status window now shows how many files, lines, and characters have been processed. An additional info window shows information like the number of files compiled per second and the size of the code.
[return to top] Error Checking

We have added array bounds error checking. You can turn this on and off from the editor's preference window.
[return to top] Warnings

If you fail to type class a variable, FB now assumes that you meant to use the integer symbol (EXAMPLE: rectPtr&.top). You can turn this warning off in the editor preferences if you don't need it. (Hey, we're all perfect anyway, right?)
[return to top] Math Precision

You can set the number of digits used for rounding floats. (PPC is still only accurate to about 16 digits.).
[return to top] Override

This is mondo-cool! You can build a function in one place, then override it in another place. Since the runtime is in source code, you can use one of the standard runtimes, but override specific functions. And you can do all of this without ever modifying the original file!
[return to top] New Folders

We have a folder named "User Libraries" where you can store often used includes. The editor and compiler automatically find these files when needed, so you don't have to have duplicate copies in every project. There is also a PG Libraries folder.
If you put an include in the User Libraries, it is taken instead of a copy in the normal Headers folder. It's like an override function on a much larger scale.
[return to top] Project Manager

New icons in the project window show the location (header, project, user library, etc.) of all files.
[return to top] Tools

We now provide drop-in tools which are full blown applications. (No more tricky DCODs and TOLZ to program.)
[return to top] Kill Resources

With multiple resource files came multiple complications. But the new KILL RESOURCES statement will automatically reject specified resources.
Even better, you can now place resources in a specific range and FB^3 will automatically renumber duplicates.
[return to top] Exit

New commands for:
[return to top] DIM AS

You can now specify multiple variables of a single type.
DIM AS LONG x,y,z DIM AS FSSPEC srcSpec,DestSpec
  © 2000 Pix&Mix  
  All Rights Reserved

  FutureBASIC is a registered trademark of Staz Software, Inc and is used with permission.