Caractéristiques
Nouvelle version FB5
- IDE gratuit
- Éditeur (Universal binaries)
- Traducteur C intégré (FBtoC)
- Compilateur GCC ou clang au choix
- Gestionnaire de Projets boosté
- Nouveaux fichiers headers améliorés
- Intégration de code et headers C
- Runtime nettoyé et peaufiné
- Nouvelle documentation (en cours)
- Centaines d'exemples
- Compilation Carbon
Ancienne version FB4
- IDE gratuit
- Editeur supportant
les plug-ins
- Compilateur intégré super rapide
- Gestionnaire de Projets
- Débogueur
- Profileur
- Program Generator (CASE tool pour PPC & 68K)
- Support des fichiers .nib d'I.B. via programmation
- Riche documentation
- Profusion d'exemples
- Runtimes en Open Source:
- Console
- Standard BASIC
- Appearance
- Toolbox
- BASIC-88
- Applications universelles via FBtoC & compilateur GCC
- Compilation Carbon
- Assembleur PPC & 68K en ligne
- Accès Toolbox et Shared libraries
- Appli mini: 28 Ko
- Appli maxi: 2 Go
- Système mini: Mac OS 7.6 pour FB^3
- Système mini: OS X 10.2 pour FB4
Édition Européenne :
- Il n'y a plus d'édition européenne officielle
- La localisation est ouverte à tous
Site maintenu par
Friendly links:
|
Avril 2013
FutureBASIC et FBtoC deviennent "open source".
Voici l'annonce publiée par Brian Stevens dans la liste de diffusion de FutureBASIC :
"Hello fellow FBers,
As of FutureBasic version 5.7.6, the FBtoC team has decided to make the source code for the FutureBasic and FBtoC executables "open source" under the standard GPL license. This is effective 25-April-2013. The link may be found here but may be found via the "FBtoC Source Code" link on the main page.
Happily, Staz and the FBtoC team* have given their permission to open source FB, so if FBers are inclined to improve FB for their own use or the community, the current source code ( both editor/project manager and FBtoC ) is available for download on the FBtoC site.
Please note:( most of the following is aimed at the non-FB community since FBers understand our situation )
[a] FB/FBtoC source code downloaders are responsible for making their own changes and sharing the changes with the list and/or FB community.
[b] Complete source code for any changed version** should be made available to those who want it via a download link from their own publicly accessible web site or from an unrestricted public download site.
[c] Former team members remain individuals on the list but the "FB5" team is dissolved.
[d] Any product based on any of the FutureBasic and FBtoC source code provided should be made available under the GPL license[http://www.gnu.org/licenses/gpl.html] scheme as an "open source" product.
[e] Team maintenance of FB is now discontinued but everyone is encouraged to give it a try.
[f] GPL open source license applies to FutureBasic and FBtoC source code only and not the the corresponding version 5.7.6 executables which have been freeware for several years.
[g] N.B. Applications/products created with FutureBasic and/or FBtoC ( i.e. a developer’s new creations ) are not covered by GPL or any other license and the developer using FB/FBtoC has complete control and unrestricted use of their own ( i.e. code a developer writes using FutureBasic/FBtoC ) source code and any executables generated from their own source code while using FB/FBtoC. In other words, the addition of a GPL license[http://www.gnu.org/licenses/gpl.html] for FB/FBtoC source code does not change the policy for apps created with FB/FBtoC.
* For the editor: 18-Nov-2012 Staz said in a private email "...you...are welcome to do as you wish with the editor"
For FBtoC: Bernie, Brian, Deep and Michele give their permission as FBtoC developers and on behalf of past developers. Thank you RP - you are missed.
** "changed version" means a version of FutureBasic or FBtoC with a developer’s own improvements.
We sincerely hope the release of source code encourages folks to improve FB. Good luck on future development!
Bernie, Brian, Deep and Michele."
Novembre 2012
FB 5.7.6
FB 5.7.6 requires OS X 10.5 or higher.
:: FB5 changes ::
| # |
Type |
Description |
| 718 |
Error |
Missing commas between function params not flagged |
| 197 |
Error |
Malformed date/time in editor build log. |
:: New/Updated Headers/Runtime file(s) ::
FBLog.incl: C printf commands are redirected to FBLog’s window.
Minor FB Help updates for dialog function
:: New/Updated examples ::
(1) FB_5_7_6_Examples/Miscellaneous/FBLog_and NSLog/printf test
Demonstrates the redirect of printf with FBLog.incl
(2)FB_5_7_6_Examples/Cocoa/FBNS
Demonstrates Cocoa calls in FB. Both .incl files and FB project version included.
(3)FB_5_7_6_Examples/Files/Bookmarks
Demonstrates bookmarks. Bookmarks are the successor to Alias Manager
(4)FB_5_7_6_Examples/Text/Scrolling text views/YAST folder
YAST( Yet Another Scrolling Text ) uses Apple core code to build scrolling text fields.
Notes:
(a) Note the other scrolling text demos in YAST’s parent directory
(b) Scrolling text demos in general are, in part, aimed at shortcomings in FB5’s Scroll Button
(c) YAST uses Carbon’s MLTE which is not recommended by Apple.
(5)FB_5_7_6_Examples/Cocoa/CocoaShell.bas
A basic Cocoa shell( no FB code but can run from FB )
Note: Steve Van Voorst has posted( on fbcocoa but some on the main list ) a series of Cocoa/Objective-C demos which are effectively a shell/template. Those exploring Cocoa should check out Steve’s demos too.
(6) FB_5_7_6_Examples/Graphics/CoreGraphics (Quartz)/Quartz 1.12
Downloading here: 4toc.com/fb4/
Septembre 2012
FB 5.7.5
FB 5.7.5 requires OS X 10.5 or higher.
:: FB5 changes ::
| # |
Type |
Description |
| 716 |
Error |
Util_EUTCKeyFilter.incl misidentified as a resource |
| 717 |
Error |
Symbol table overflow. Table size increased by 8k. |
:: New/Updated Headers/Runtime file(s) ::
FUtil_FileDirectoryII.incl:
This new include updates the runtime code for the special directory calls by replacing the now deprecated FSFindFolder() calls. The special directory ( e.g. FD_SpecialDirectoryGetXXXXX ) parameters have changed slightly. Please see the new example for details. The old include is still available.
:: New/Updated examples ::
FB_5_7_5_Examples/Files/File_Directory examples/FileDirectory-SpecDirsUpdated.bas
Downloading here: 4toc.com/fb4/
Août 2012
FB 5.7.4
FB 5.7.4 requires OS X 10.5 or higher.
Please note: FB 5.7.4 is required for use with OS X 10.8 (see bug #196)
:: FB5 changes ::
| # |
Type |
Description |
| 196 |
Crash |
Clicking on project window icons causes crash in OS X 10.8 |
| 713 |
Error |
Appending pascal string in 'end fn = ' fails |
| 714 |
Error |
Error message for non-terminated '#if' is poor |
Downloading here: 4toc.com/fb4/
Juillet 2012
Triste nouvelle
Bien que je n'aie jamais rencontré Robert Purves dans la vie réelle, sa disparition en juillet dernier m'a profondément touché. Sans doute savez-vous que Robert était le fer de lance de l'équipe FB. C'était un puits de science dans divers domaines, et pour ce qui nous concerne, un maître en programmation. Plus encore, j'ai souvent pensé qu'il avait une bien meilleure connaissance des entrailles de FutureBASIC que celle de ses propres concepteurs.
Après le retrait de Andy Gariepy, suivi plus tard par celui de Chris Stasny, c'est-à-dire les pères originels de FB, Robert avait repris la barre de l'esquif vacillant. Qu'ils en soient conscients ou pas, tous les utilisateurs de FB, lui doivent de pouvoir continuer à programmer avec FutureBASIC encore aujourd'hui..
Même si Robert vivait en Nouvelle-Zélande, j'ai pu travailler à distance avec lui en maintes circonstances, plus particulièrement pendant le développement de l'IDE, et j'ai pu en ces circonstances apprécier l'homme aussi bien que le scientifique qu'il était. Il était attentif aux autres, toujours réactif et prêt à apporter son aide. J'étais espoustouflé en permanence non seulement par ses incroyables connaissances mais également par sa volonté d'aider les autres à réussir dans leurs projets.
La mort de Robert Purves m'a laissé sans voix pendant quelque temps, et j'envisage toujours en ce moment-même d'arrêter toute activité en relation avec FutureBASIC en laissant ce site retourner lentement à la poussière. De toute façon, je n'y faisais plus que publier les annonces des nouvelles versions du logiciel, sans y apporter de contributions personnelles. Tandis que l'équipe FB poursuit le travail, je crois que ce site ne manquera à personne avec de telles pitoyables mises à jour.
Où que soit l'esprit de Robert à présent, je souhaite qu'il ait rencontré la paix. Je vous remercie Monsieur pour tout ce que vous avez fait pour nous.
Pendant que mes pensées se tournent vers sa famille, je vais laisser le soin à Ted Spencer de prononcer les derniers mots de vérité de ce billet. Ted du Canada a écrit le message suivant dans la liste de diffusion FutureBASIC :
"We are in a time when we feel close to people with whom we have
spoken no word; whom we'd not recognize on the street, but who, by
their presence have filled a basic human need: kinship. However
esoteric our connection, many of us feel connected to many others on
this list, through their contributions, their forbearance, and their
sly hints at humanity.
Our computers are replete with that modest 'rp' seen in so many files.
Eternity, or heaven, in one of its many forms, is to be found there.
Bless you on your journey, 'rp', as you have blessed us."
Mai 2012
FB 5.7.3
FB 5.7 requires OS X 10.5 or higher.
:: FB5 changes ::
| # |
Type |
Description |
| 704 |
Error |
Changes in FBtoC.h not propagated for clang+pch builds |
| 706 |
Cleanup |
When save button clicked, fix common user mistakes for 'Path to Developer folder' |
| 708 |
Error |
Long variable(symbol) names generate translation and compiler errors |
| 709 |
Error |
Make Xcode Project -> Warning: '/*' in block comment |
| 710 |
Cleanup |
Remove '_A' suffix from translated array names |
| 711 |
Error |
Using 'double’ variable type with Input fails in FB 5.7.2+ |
| 712 |
Error |
Cursor not changing from arrow to I-Beam and back in some cases. |
:: New/Updated Headers file ::
New - FBLog.incl
Updated - Util_EUTCKeyFilter.incl
Updated - Util_CE.incl
:: New/Updated examples ::
FB_5_7_Examples/Miscellaneous/FBLog_and NSLog/NSLog Demo
Downloading here: 4toc.com/fb4/
Mars 2012
FB 5.7.2
FB 5.7 requires OS X 10.5 or higher.
:: Editor changes::
| # |
Type |
Description |
| 190 |
Cosmetic |
Icons drawn out of place in Errors and Project windows |
| 191 |
Feature |
Compiler warnings/errors jump to FB code |
:: FBtoC changes ::
| # |
Type |
Description |
| 670 |
Nicety |
C files should have UNIX LF line endings only, not mixed with CR |
| 690 |
Feature |
Provide FB line info with compiler warnings/errors |
| 691 |
Feature |
'Unused function' warning should jump to definition |
| 692 |
Error |
Window title corrupted |
| 695 |
Feature |
dialog(-1) returns wndNum for all window events [including _preview] |
| 696 |
Nicety |
'Debug Last App' should attempt to open Xcode 3 |
| 701 |
Cleanup |
-DDECARBONATE should require -m64 |
| 702** |
Feature |
Support Xcode 4.3 |
| 703 |
Error |
Frozen menus from 'window output 0' in DoDialog |
Notes:
* The new feature affects warnings and errors listed in the Errors window.
[1] Icons for messages from the compiler are now badged with a tiny gear-wheel.
[2] Double-clicking a compiler message now jumps directly to the corresponding line of FB source, if one exists, otherwise the translated .c file is opened in Xcode.
The new behaviour is especially convenient when you're inspecting a long list of compiler messages, for example from clang analysis.
** Xcode 4.3 is installed in the Applications folder. To use with FB 5.7.2, Settings > Advanced must indicate the new location. Path to Developer folder: /Applications/Xcode.app/Contents/Developer The checkbox 'Use compiler from developer folder' checkbox should be ON.
:: Updated headers file ::
Tlbx CFByteOrder.incl
:: New examples ::
FB_5_7_Examples/Graphics/CoreGraphics (Quartz)/CGGradient_demo
FB_5_7_Examples/Graphics/CoreGraphics (Quartz)/RoundRect+CGGradient
FB_5_7_Examples/Graphics/CoreGraphics (Quartz)/UserPaneGrids
Downloading here: 4toc.com/fb4/
Janvier 2012
FB 5.7.1
FB 5.7 requires OS X 10.5 or higher.
:: Editor changes::
| # |
Type |
Description |
| 184 |
Cosmetic |
Source code drawn in project window |
| 185 |
Error |
void functions don't show in function pop-ups |
| 186 |
Cleanup |
Bad horiz scrolling of background window by mouse wheel |
:: FBtoC changes ::
| # |
Type |
Description |
| 343 |
Error |
gcc error from pointer.offsetConst$ arg to toolbox Str255 param |
| 505 |
Error |
internal error from dim a as ^Point, b& |
| 558 |
Error |
Compiler error from block comment in BeginC...EndC |
| 566 |
Error |
Comment ending in opt-L eats next line of code |
| 617 |
Error |
inc( p ) and p++ are different if p is ^Type |
| 619 |
Error |
Make Xcode Project strips main() from command-line tool |
| 666 |
Error |
'dim as ..FooType bar' is pointer but should be Handle |
| 667 |
Error |
Can't cast address arguments freely and correctly |
| 669 |
Error |
Repeated 'clear local' gives internal fatal error |
| 672 |
Error |
Build error 'no include path in which to search for Carbon/Carbon.h' |
| 673 |
Error |
Default compiler in OS X 10.7 should be clang |
| 674 |
Error |
'void clear local fn Foo as long' should be error |
| 675 |
Feature |
Allow spaces in path to Developer folder |
| 676 |
Error |
Can't cast to (float) |
| 677 |
Error |
Record assignment wrongly disallowed |
| 678 |
Error |
Return value from function of type float treated as integer |
| 679 |
Error |
'not( a binop b )' wrongly translated |
| 680 |
Feature |
Maximum number of dynamic arrays doubled to 64 |
| 681 |
Error |
Allow record field as file specifier in 'open' statement |
| 682 |
Feature |
Add 'Crash' button to all error alerts |
| 683 |
Error |
Buffer overflow when linking huge project |
| 684 |
Error |
Generate Localizable Strings fails when compiled as Objective-C |
| 686 |
Error |
Unsigned function type wrongly disallowed |
| 687 |
Error |
Crash from invalid syntax for 'button', 'appearance button' and 'appearance window' |
| 688 |
Error |
FD_SpecialDirectoryXxxx() should create directory if absent |
Note:
Projects and standalone builds that used clang with the precompiled header option will encounter an error when first built with FB 5.7.1
Error: clang:
redefinition of 'gFBDynArrayInfo' with a different type [line 115:14 of...]
The simplest workaround is to trash the build_temp folder. An alternative is to switch temporarily to another compiler.
:: New examples ::
FB_5_7_Examples/Graphics/CoreGraphics (Quartz )/SelfCenteringHIImageView
Downloading here: 4toc.com/fb4/
Novembre 2011
FB 5.7
FB 5.7 requires OS X 10.5 or higher.
:: Editor changes::
| # |
Type |
Description |
| 140 |
Error |
Tab key moves focus to toolbar and prevents subsequent editor window typing |
| 142 |
Error |
'REM' slider in document window's toolbar misbehaves |
| 162 |
Error |
Wrong indentation from opt-space between end and fn|select|record... |
| 174 |
Error |
Edit menu first item is always Can't Undo |
| 088 |
Feature |
Allow mouse wheel/trackpad scrolling of background window |
| 177 |
Feature |
Headers ('H') button in doc window's toolbar |
| 179 |
Feature |
Adding file to project should make copy if not in project folder |
| 180 |
Feature |
Project menu item: New Project File... |
| 181 |
Feature |
Help menu item: Search Apple Headers.app |
:: FBtoC changes ::
| # |
Type |
Description |
| 656 |
Error |
Hang from missing right parenthesis in 's$ = edit$( 1' |
| 650 |
Cleanup |
Deprecate type-identifier suffices (except '$') on function names |
| 651 |
Cleanup |
Deprecate same name for scalar and array variable: 'dim as long a, a(100)' |
| 652 |
Cleanup |
Deprecate vars with same base-name but different type-identifier suffices: 'dim a%, a#, a$...' |
| 653 |
Cleanup |
Deprecate FB 16-bit 'int' type |
| 657 |
Cleanup |
Passing pointer instead of record argument should be warning |
| 654 |
Feature |
New keyword 'float' as synonym for 'single' |
| 658 |
Cleanup |
Allow pass-by-value records in user-defined functions |
| 665* |
Feature |
Allow C's dereferencing syntax for typed pointers |
| 647** |
Feature |
New 'if.../else.../endif' syntax |
| 671 |
Nicety |
Add Bundle identifier to default Info.plist |
:: New Headers file ::
Tlbx CFURLEnumerator.incl
:: Updated Headers files ::
Tlbx CFURL.incl
Tlbx Controls.incl
Tlbx MacWindows.incl
Util_Containers.incl
:: New functions in Console runtime ::
fn ConsolePrintCFType( typeRef as CFTypeRef )
fn ConsolePrintCFString( string as CFStringRef )
:: New examples ::
FB_5_7_Examples/Files/CFURLEnumerator
FB_5_7_Examples/Files/NSOpenPanel & NSSavePanel
FB_5_7_Examples/Files/Search Apple Headers
FB_5_7_Examples/Graphics/CoreGraphics (Quartz)/ImageEdit skeleton
* The new '*' dereference syntax in FB 5.7:
local fn Foo( flagP as ^Boolean, ioCount as ^long, ioAmount as ^double )
*flagP = _zTrue
*ioCount = 41
*ioCount = *ioCount + 1
*ioAmount = *ioAmount * *ioAmount
end fn
The new '*' dereference also works with pointers to records:
dim as ^Rect srcRectP, destRectP
srcRectP = ...
destRectP = ...
*destRectP = *srcRectP
** The new syntax:
if ( 1 == 1 )
beep
else
stop
end if
is equivalent to the traditional (and still supported) syntax:
long if ( 1 == 1 )
beep
xelse
stop
end if
Downloading here: 4toc.com/fb4/
Septembre 2011
FB 5.6.2.
This release is earlier than expected, owing to the recent discovery of long-standing bugs in dynamic array support.
:: Major bug-fixes ::
| # |
Type |
Description |
| 641 |
Error |
Crash from DynamicNextElement() |
| 642 |
Error |
DynamicRemoveItems() attempts to remove non-existent items |
:: Feature introducing type safety to FB ::
| # |
Type |
Description |
| 621 |
Feature |
Allow compiler to warn of some type-mismatched pointer assignments |
:: Cleaning up FB ::
| # |
Type |
Description |
| 636 |
Cleanup |
Deprecate shorthands & % | for poke |
| 637 |
Cleanup |
Deprecate enterproc ... exitproc |
| 638 |
Cleanup |
Disallow 'def' and 'usr' function declarations and calls |
:: Improvements in translated C code ::
| # |
Type |
Description |
| 622 |
Cosmetic |
Better translation of if ( pointerVar ) ... |
| 627 |
Cosmetic |
Pointers to scalar types should not be void* |
| 628 |
Cosmetic |
Fewer parentheses in expressions with bitwise operators |
| 634 |
Cosmetic |
Translate ++ as such, not += 1 |
| 640 |
Cosmetic |
Translate rec = ptrVar as rec = *ptrVar; |
:: Feature allowing improvement in translated C code ::
| # |
Type |
Description |
| 635 |
Cosmetic |
Void keyword for functions (void local fn Foo...) |
:: Minor bug-fixes and other changes ::
| # |
Type |
Description |
| 620 |
Error |
Function type mistranslated when ^Type or ^^Type |
| 625 |
Feature |
Allow include "BarFolder:foo.c" |
| 626 |
Error |
Arguments to variadic functions should not be cast |
| 639 |
Feature |
Use of fn ToolboxProcedure as rval should be error |
| 645 |
Cleanup |
Warn against fn CFSTR( stringVar ) |
:: New examples ::
FB_5_6_2_Examples/Controls//Custom text browser
Downloading here: 4toc.com/fb4/
Août 2011
FB 5.6.1.
:: FBtoC general changes ::
New menu item Tools > Open Headers Folder
:: FBtoC bug-fixes and features ::
| # |
Type |
Description |
| 599 |
Feature |
Optional translation of _constants to symbols, not magic numbers |
| 600 |
Feature |
New directive: compile [as] "Objective-C" |
| 601 |
Feature |
New 'select switch' statement |
| 603 |
Feature |
NULL keyword |
| 615* |
Nicety |
Warn of long var dereferenced as though pointer |
| 616† |
Nicety |
Warn of implied addition of _constants |
* Until now, longs and pointers were treated almost interchangeably.
local fn bar( @foo& )
foo.nil& = 0
end fn
This abuse is now deprecated.
¿¿ Warning: long var 'foo' used as pointer in line 4 of ...
† he weird syntax '_foobar = _foo_bar' is now deprecated.
¿¿ Warning: implied addition of constants; suggested form: '_foo + _bar' in ...
:: FBtoC fixes and changes relating to Make Xcode Project ::
| # |
Type |
Description |
| 604 |
Error |
Resource files copied as empty data-fork by Make Xcode Project |
| 607 |
Feature |
Warn of 'include library' framework not passed to Xcode project |
| 609 |
Error |
Xib files wrongly converted to nib by Make Xcode Project |
| 611 |
Feature |
Warn of library linker commands not passed to Xcode project |
| 613 |
Error |
Nibs give ibtool error in Xcode 4 after Make Xcode Project |
:: Updated header ::
Tlbx CarbonEvents.incl [fixes RegisterEventHotKey()]
Tlbx CFCharacterSet.incl [fixes CFCharacterSetXxxx constants]
Others too numerous to list.
:: New examples ::
FB_5_6_1_Examples/Menus/CFStatusItem FB_5_6_1_Examples/Miscellaneous/CalCalendar
:: Updated examples ::
Too numerous to list.
:: Deleted example ::
FB_5_6_x_Examples/Text/SpellCheck [crashes mysteriously]
Downloading here: 4toc.com/fb4/
Juillet 2011
Note by Robert Purves about FB 5.6 and OS X 10.7 Lion
OS X 10.7 'Lion' has several differences from 10.6 that affect FutureBasic programmers.
Although it is possible to use earlier FB versions, FB 5.6 is strongly recommended because it prevents errors resulting from the removal of QuickDraw headers in 10.7.
:: Scenario 1 ::
Starting point: OS X 10.6 with Xcode 3.
Obtain Lion from App Store and install it.
What happens: Lion installation removes all the system compilers from /usr/bin, but leaves your existing Developer folder intact.
Probable error building with FB:
The compiler specified by build settings could not be found:
/usr/bin/gcc-4.0
Fix: in FB settings (Advanced drawer) turn ON the checkbox 'Use compiler from Developer folder'. All builds should now work normally.
:: Scenario 2 ::
Starting point: As scenario 1, plus download Xcode 4 from App Store and install it (via Install Xcode.app, which appears in the Applications folder).
What happens: Xcode installation renames your existing Developer folder to Developer-old, adds a new Developer folder, and installs system compilers gcc 4.2, llvm-gcc 4.2 and clang in /usr/bin. gcc 4.0 is gone from /usr/bin.
Possible error building with FB:
The compiler specified by build settings could not be found:
/usr/bin/gcc-4.0
Fix 1: in FB settings (Advanced drawer) set the textfield path to /Developer-old, and turn ON the checkbox 'Use compiler from Developer folder'. All builds should now work normally.
Fix 2: in FB settings change the Compiler pop-up to anything but gcc 4.0.
Possible error building with FB:
The SDK corresponding to 'Base SDK' could not be found:
/Developer/SDKs/MacOSX10.5.sdk
Fix 1: in FB settings change the Base SDK pop-up to 10.6 (Xcode 4 has no SDKs before 10.6).
Fix 2: in FB settings (Advanced drawer) check that the path is valid.
Possible error building with FB:
gcc-4.2: error trying to exec '/usr/bin/powerpc-apple-darwin11-gcc-4.2.1': execvp: No such file or directory
lipo: can't figure out the architecture type of: /var/folders/52/jjd30gq/T//ccDkhj.out
Compilation failed
Fix: in FB settings change the Architecture pop-up to Current Mac or Intel (Xcode 4 has no PPC support).
:: Scenario 3 ::
Starting point: A new Mac with Lion.
Download Xcode 4 from App Store and install it (via Install Xcode.app, which appears in the Applications folder).
Possible error building with FB:
The compiler specified by build settings could not be found:
/usr/bin/gcc-4.0
Fix: in FB settings change the Compiler pop-up to anything but gcc 4.0.
Possible error building with FB:
The SDK corresponding to 'Base SDK' could not be found:
/Developer/SDKs/MacOSX10.5.sdk
Fix: in FB settings change the Base SDK pop-up to 10.6 (Xcode 4 has no SDKs before 10.6).
Possible error building with FB:
gcc-4.2: error trying to exec '/usr/bin/powerpc-apple-darwin11-gcc-4.2.1': execvp: No such file or directory
lipo: can't figure out the architecture type of: /var/folders/52/jjd30gq/T//ccDkhj.out
Compilation failed
Fix: in FB settings change the Architecture pop-up to Current Mac or Intel (Xcode 4 has no PPC support).
Problem with nib files: Interface Builder.app has gone, and Carbon nibs cannot be edited in Xcode 4.
If you are unhappy with these limitations, copy a Developer folder (containing Xcode 3) from another machine to the new one. From here on, see Scenario 2 (except that the path /Developer-old would be /wherever/it/is/Developer). Note that you can't formally install Xcode 3 on Lion, but you can copy the Developer folder over; Xcode 3 and Interface Builder both work.
FB 5.6
:: New Editor Feature ::
New menu item Tools > Open Headers Folder
:: FBtoC bug-fixes and features ::
| # |
Type |
Description |
| 591 |
Nicety |
Default compiler should be gcc 4.2 |
| 592 |
Nicety |
Show compiler path in error message when it cannot be found |
| 593 |
Cosmetic |
Increase ConsoleWindow's height and font size |
| 594 |
Feature |
Complex arithmetic, variables and functions |
| 595 |
Error |
Wrong formatting of signed zero by 'using' |
| 597 |
Cosmetic |
Change 'Max OS features' to 'Base SDK', matching Xcode |
| 598 |
Error |
Crash after multiple 'input' in ConsoleWindow |
:: New Headers files ::
Tlbx CFCalendar.incl
Tlbx complex.incl
Tlbx MDItem.incl
:: Updated header ::
Tlbx CoreGraphics.incl now has CGDisplayFade functions
Util_CFPrefsCFStrings.incl now has CFPrefsGet/SetCGRect()
:: New examples ::
FB_5_6_Examples/Calculations/complex arithmetic
FB_5_6_Examples/Cocoa/CocoaControls_noNIB
FB_5_6_Examples/Files/Metadata demo
FB_5_6_Examples/Miscellaneous/CFCalendar demo
FB_5_6_Examples/Miscellaneous/Fade screen to black
FB_5_6_Examples/Text/Print Columnar Data
:: Updated examples ::
FB_5_6_Examples/CoreFoundation/CFArray of Dicts Proj
FB_5_6_Examples/Miscellaneous/FBLog/
Downloading here: 4toc.com/fb4/
Avril 2011
FB 5.5.1
:: Editor bug-fix ::
| # |
Type |
Description |
| 167 |
Error |
Strange beep on double-clicking symbol preceded by option-space |
:: FBtoC bug-fixes and features ::
| # |
Type |
Description |
| 584 |
Error |
Freeze with 'Wrong number of arguments' error |
| 585 |
Nicety |
More compact representation of 'data' strings |
| 586 |
Error |
Crash on multi-line strings > 255 chars |
| 587 |
Feature |
Advanced settings in drawer |
| 588 |
Feature |
'system long' should allow comma-separated variable list |
:: Updated header ::
Tlbx CoreGraphics.incl now includes CGImageSource functions
:: New examples ::
FB_5_5_1_Examples/Cocoa/NoNib_FBtoCocoa
FB_5_5_1_Examples/Cocoa/NSTableView_FBtoCocoa
FB_5_5_1_Examples/Controls/bmpImage_btn/
FB_5_5_1_Examples/Controls/HICustomView
FB_5_5_1_Examples/Controls/ThumbnailButton/
FB_5_5_1_Examples/Games/Connect4
FB_5_5_1_Examples/Graphics/CoreGraphics (Quartz)/CGPathContainsPoint
FB_5_5_1_Examples/Graphics/CoreGraphics (Quartz)/Floodfill
FB_5_5_1_Examples/Graphics/CoreGraphics (Quartz)/ImageResizer
FB_5_5_1_Examples/Text/CoreText styled text
FB_5_5_1_Examples/Text/CoreText with CGColor
:: Updated example ::
FB_5_5_1_Examples/Games/Spandrel_1_4/
Downloading here: 4toc.com/fb4/
Janvier 2011
FB 5.5
:: Major changes ::
- FutureBasic 5.app is now a self-contained IDE; its supporting file objects (FBtoC.app and the folders build_goodies and editor_support) are inside the app bundle.
- An Xcode project is created in the project source folder instead of build_temp as previously. This change makes it less liable to inadvertent deletion. The Xcode project is contained in a folder named <project_name>_XcodeProject.
- The User Libraries folder has moved to ~/Library/Application Support/FutureBasic/, alongside Scripts and Style Files.
:: FBtoC bug-fixes and features ::
| # |
Type |
Description |
| 573 |
Error |
Hangs when parsing conditional with @nonexistent_var |
| 574 |
Feature |
Make Xcode project in source folder, not build_temp |
| 575 |
Error |
FlushWindowBuffer doesn't |
| 576 |
Error |
apndstr() wrongly byte-swaps the count field |
| 578 |
Error |
val() and val&() return wrong value for 16-digit hex strings |
| 579 |
Error |
'read' gets wrong value for 16-digit hex numbers in 'data' statement |
| 581 |
Error |
Link error from Xcode project containing Objective-C code |
| 582 |
Error |
NavDialog() releases saveFileName and message wrongly |
:: New examples ::
FB_5_5_Examples/Cocoa/DotView_FBtoCocoa
FB_5_5_Examples/Cocoa/GaussianBlur_demo
FB_5_5_Examples/Cocoa/SndPlayer_FBCocoa
FB_5_5_Examples/Controls/HISegmentedView
FB_5_5_Examples/Graphics/CoreGraphics (Quartz)/HIImageView_swipe
FB_5_5_Examples/Text/Programmatic HITextView
:: Updated example ::
FB_5_4_9_Examples/Games/Spandrel_1_3
Downloading here: 4toc.com/fb4/
Novembre 2010
FB 5.4.8
:: Editor bug-fix ::
A long-standing 'dangling handle' bug has been found, that could cause a variety of crashes.
:: FBtoC bug-fixes ::
| # |
Type |
Description |
| 570 |
Error |
Resources not passed to Xcode project |
| 571 |
Error |
Make Xcode Project gives error 'FBtoC_Placeholder_RETURN' undeclared |
| 572 |
Cleanup |
Code inflation by numerous gosub/returns* |
:: New examples ::
FB_5_4_7_Examples/Sound/Record_sound_with_QuickTime
[*] : The new implementation of gosub/return does not support optimized compilation. If your code uses gosub/return and needs optimization, you will have to replace every subroutine by an ordinary local fn.
Downloading here: 4toc.com/fb4/
Octobre 2010
FB 5.4.7 and FB2C 1.4.7
:: FBtoC bug fixes and new features ::
| # |
Type |
Description |
| 536 |
Cleanup |
Redundant files copied to XcodeProject |
| 556 |
Cleanup |
Editor Errors window garbles multiple errors/comments on same line |
| 557 |
Error |
gosub/return broken |
| 559 |
Error |
route _toBuffer does not work with ConsoleWindow |
| 560 |
Feature |
Support llvm-gcc 4.2 compiler |
| 561 |
Error |
_controlkey constant missing |
| 563 |
Feature |
Preference setting to control source-file combining [*] |
:: New Headers file ::
Util_NibCFStrings.incl
:: New examples ::
FB_5_4_7_Examples/Sound/Record_sound_with_QuickTime
:: Updated examples ::
FB_5_4_7_Examples/Games/Spandrel_1_2 (chess)
FB_5_4_7_Examples/Sound/Play Sound file
[*] : A pop-up button ('Source-file combining') in the settings window controls the number of .c (and .h) files produced by translation.
Off: each FB file leads to a .c file.
Medium: the same as previous versions of FBtoC.
Maximum: all FB files are combined in one .c file.
Downloading here: 4toc.com/fb4/
Juillet 2010
FB 5.4.6
:: Editor changes ::
Two new features mean that you will no longer lose your scripts and style files on updating to new versions of FutureBasic 5.
- Scripts now reside in ~/Library/Application Support/FutureBasic/Scripts. When the editor starts it looks for this folder. If the folder does not exist, it is created and the sample scripts are copied from the current editor_support folder.
- Style files now reside in ~/Library/Application Support/FutureBasic/Styles. When the editor starts it looks for this folder. If the folder does not exist, it is created and the style files are copied from the current editor_support folder.
:: FutureBasic 5 Help ::
This now includes most of the material formerly contained in the FBtoC Help Book. The latter is largely obsolete.
:: FBtoC bug fixes and new features ::
| # |
Type |
Description |
| 400 |
Error |
preprocessor bug for comments with quote char |
| 463 |
Feature |
pass comments on to C source |
| 519 |
Error |
Misleading error for missing project |
| 522 |
Feature |
Strip unused FB runtime and C runtime functions during Make Xcode Project |
| 527 |
Nicety |
Cleaner translation of simple if conditions |
| 535 |
Nicety |
Make Xcode Project should set optimization -O0 |
| 538 |
Feature |
Send runtime errors to console.log instead of showing fatal alert |
| 539 |
Cleanup |
Compiler warning from A$ = "(??)" |
| 540 |
Cleanup |
Warnings from Subs Quick Event Loop.Incl |
| 541 |
Error |
write# stringVar gives strange results |
| 542 |
Error |
line input # should terminate on <lf> as well as <cr> |
| 543 |
Feature |
Allow casting e.g. x = (double)y |
| 544 |
Error |
instr() treats chr$(0) and chr$(1) alike |
| 545 |
Feature |
Allow 64-bit integer literals such as 1ULL, -1LL |
| 548 |
Error |
'Warn of unused functions' sometimes didn't |
| 549 |
Error |
FSCatalogInfo.permission wrongly defined in Headers |
| 550 |
Error |
LP64 types should have size 8 in static expressions |
| 553 |
Error |
inkey$ for command line tool not implemented |
| 554 |
Error |
Use precompiled header breaks with clang 1.5 |
| 555 |
Feature |
Allow static string expression (_foo$ + "bar") as 'output' filename |
:: New Headers file ::
Tlbx CFNumberFormatter.incl
:: New examples ::
FB_5_4_6_Examples/Controls/CustomShapedControl
FB_5_4_6_Examples/Controls/CustomDrawnControl (Quartz)
FB_5_4_6_Examples/CoreFoundation/PrintCFString
FB_5_4_6_Examples/Files/FileObjectPermissions
:: Updated examples ::
FB_5_4_6_Examples/AppleScript/LaunchMailPressSendII
FB_5_4_6_Examples/Controls/CustomDrawnControl (QuickDraw)
FB_5_4_6_Examples/Files/Droplet apps/Accept folder drop
FB_5_4_6_Examples/Files/Droplet apps/FinderInfo
FB_5_4_6_Examples/Files/Droplet apps/FinderInfo replacement
FB_5_4_6_Examples/Games/Spandrel 1.1 (chess)
Downloading here: 4toc.com/fb4/
Avril 2010
FB 5.4.5 & FBtoC 1.4.5
:: Editor changes ::
- 'Find in Next File' item (Command-option-G) in Edit menu.
- A crash from typing '#if def _someLongConstant' is fixed.
:: FBtoC bug fixes ::
| # |
Type |
Description |
| 510 |
Error |
edit$( without closing parenthesis crashes FBtoC |
| 516 |
| Dim syntax error not flagged |
|
| 521 |
Error |
Function declared as Str63 is unusable |
| 522 |
Feature |
Strip unused FB runtime and C runtime functions during Make Xcode Project |
| 523 |
Nicety |
Insert spaces around '*' in C translation of typed pointer parameters |
| 524 |
Nicety |
Symbolise boolean constants in C translation |
| 525 |
Nicety |
C translation should have NULL instead of (void*)(0) |
| 526 |
Cleanup |
Remove trigraphs and their support |
| 528 # |
Feature |
Option to build command line tool instead of app |
| 530 # |
Feature |
Allow 64-bit compilation of command line tool |
| 531 |
Feature |
Bounds checking should work for record fields that are arrays |
| 532 |
Error |
Hang when parsing call to undefined function |
| 533 |
Feature |
Allow dereference of pointer that is a record field and a pointer to another record |
| 537 |
Cleanup |
Remove thousands of obsolete predefined constants |
# see the 'tool' example below. Also see FB5 Help: Appendix J - Command Line Tools.
:: Function change ::
GetFormattedDateTimeAsString() has been replaced by DateFormatCreateStringWithAbsoluteTime().
Note the difference in parameter order:
//toolbox fn GetFormattedDateTimeAsString( CFAbsoluteTime at, CFStringRef formatString ) = CFStringRef
toolbox fn DateFormatCreateStringWithAbsoluteTime( CFStringRef formatString, CFAbsoluteTime at ) = CFStringRef
:: Revised Headers file ::
Tlbx HIView.incl [fixes definition of HIViewContentInfo]
:: New examples ::
FB_5_4_5_Examples/Command Line Tool/tool
FB_5_4_5_Examples/CoreFoundation/CFString left, right, mid
FB_5_4_5_Examples/CoreFoundation/CFArray of Dicts Proj
FB_5_4_5_Examples/CoreFoundation/CFStrings in FB console
FB_5_4_5_Examples/Miscellaneous/CFDateFormatter test
FB_5_4_5_Examples/Dialogs and Windows/ImageView as window backgound
:: Updated examples ::
FB_5_4_5_Examples/Miscellaneous/DateExample
FB_5_4_5_Examples/CFPrefs Demos/CF string version/Prefs w/Nib & CE
FB_5_4_5_Examples/CoreFoundation/CFAdditions
FB_5_4_5_Examples/Games/Spandrel 1.0 (chess) [replaces RChess 3]
Downloading here: 4toc.com/fb4/
Février 2010
FB 5.4.4 & FBtoC 1.4.4
:: Editor changes ::
- Document windows are now live-resizing.
- The text of items in the Errors window can now be copied with Command-C.
- A text selection bug is fixed. It occurred when the mouse was dragged into the left margin. (Thanks to Robert C.)
- Navigation arrows in the Help Book now work as expected.
:: FBtoC bug fixes ::
| # |
Type |
Description |
| 414 |
Nicety |
'Make Xcode Project' leaves stray .proj in build/NewProjectTemplate/ |
| 513 |
| Mouse clicks in compositing window with FB Events and 'on mouse' vector not detected |
|
| 514 |
Error |
Orphan 'case' statement not identified as error |
| 515 |
Error |
Xcode project template not deleted after Xcode project created |
| 517 |
Error |
mki$ function can return wrong values |
| 518 |
Error |
edit$( ef ) crashes if the field has not been created |
| 520 |
Error |
Linker warning shows as pseudo error |
New date$ and time$ functions:
These are now implemented via Core Foundation. They can optionally retrieve both the date and time in one call, and format it in almost any conceivably useful way. See FutureBasic 5 Help for details. The runtime code for date$/time$ may be called directly to format any date/time (not just the current one). See DateExample below.
:: New examples ::
FB_5_4_4_Examples/Miscellaneous/DateExample
FB_5_4_4_Examples/Miscellaneous/DockTileBadge
FB_5_4_4_Examples/Files/EnumerateDirectory
FB_5_4_4_Examples/Files/Alias demo
FB_5_4_4_Examples/Text/CFAdditions
FB_5_4_4_Examples/Text/CFAdditions/CFScanner
:: Updated examples ::
FB_5_4_4_Examples/Nib to FB wndNum & btnNum
FB_5_4_4_Examples/App with icon
FB_5_4_4_Examples/Games/RChess_3.0 [replacing RChess_3.0a2]
Downloading here: 4toc.com/fb4/
Décembre 2009
FB 5.4.3
Important Changes for 5.4.3 ( note: minor bug fixes and other internal fixes are not shown ):
| Type |
Description |
| New |
new xib format support added. This is the newer XML nib used in Xcode.
|
| New |
BeginCCode, BeginCFunction, BeginCDeclaration and EndC are improved methods for including C source directly.
Many examples & documentation updated to use the new BeginCCode/BeginCFuntion/BeginDeclaration keywords.
|
| New |
.c, .h, .m files are now selectable in "Add to project" file dialog.
|
| New |
_FBConsoleWndNum constant allows Console window customization. The user may modify the default window in useful ways, for instance:
include "ConsoleWindow"
window _FBConsoleWndNum, "My tall debug stuff", (5,47)-(500, system( _scrnHeight ) - 5 )
See new console application demo in Examples/Games.
|
| Fix |
open "A" and open "R" now create the file if it does not exist.
|
| Fix |
Menu items ending with '!' or '^' or '<' or '/' no longer crash the app.
|
| Fix |
Linker errors are now passed to editor.
|
:: New examples ::
FB_5_4_3_Examples/CarbonEvents/EventMonitorTarget
FB_5_4_3_Examples/Games/RChess_3.0a2
Téléchargement ici : 4toc.com/fb4/
Novembre 2009
FB 5.4.2 & FBtoC 1.4.2
This release is being made early, because of the severity of bug #506 (introduced in 5.4.1).
:: Editor ::
Unchanged
:: Bug-fixes and minor features in FBtoC 1.4.2 ::
323 Error input "prompt"; x does not work in console mode
422 Error dim as long a$ should be an error
467 Error gCntr = edit$( 1 ) should work for > 255 chars
471 Error missing '"' gives bad C code
484 Error bad C code from @"\"
493 Error str$( "should be translation error" )
498 Nicety include "ConsoleWindow" (alternative to include "FBRuntime.incl")
499 Error str$( fpNum ) and print fpNum give different results
500 Error prevent clang Universal build with <10.5 deployment
501 Error in Console Window, print fpNum ignores gFBFloatMaxDigits
502 Error can't access 3D array in record
503 Error prevent array declaration with >4 dimensions
506 Error can't type upper-case letters in edit fields
:: New examples ::
FB_5_4_2_Examples/Calculations/fast sin() and cos()
FB_5_4_2_Examples/Calculations/Expression Evaluator
FB_5_4_2_Examples/Calculations/Measurement of code performance
Téléchargement ici :4toc.com/fb4/
Octobre 2009
FB 5.4.1 & FBtoC 1.4.1 released
Les nouveautés principales de cette version sont les suivantes : Accès aux fichiers volumineux à travers les commandes basiques de FB, implémentation de la commande open "N" pour les accès partagés, obsolescence des préfixes usr et def pour les routines intégrées (remplacés par fn), possibilité de choisir le compilateur clang à la place de GCC.
Voici l'annonce complète faite par Robert Purves dans la liste de diffusion officielle de FB :
:: Main changes in FB 5.4.1 ::
1. Warnings for a common mistake: forgetting to assign a return value (end fn = someValue) to a function whose value is used elsewhere in the program.
local fn bar
dim as OSStatus err
err = _paramErr
end fn // oops, should have '= err'
dim as OSStatus err
err = fn bar
if ( err != _noErr ) then stop "bar() failed" // oops, never get here
¿¿ Warning: Returned value of bar() is always 0 in line 9 of test.baq
¿¿ Warning: Function should have explicit return value: bar()
2. Choice of compiler. Build settings window has a pop-up menu with four options.
- gcc 4.0 is the default.
- gcc 4.2 is available on 10.5 and 10.6. It cannot build apps to run on 10.3 or 10.4.
- clang is available on 10.6 only. Very fast but somewhat flaky. Best used for development only (change to gcc 4.0 for release build).
- clang (analysis) performs static analysis of your code, giving interesting warnings; nothing is actually compiled..
:: Minor changes in Editor 5.4.1 ::
1. The menu item Project/Remove Item has been deleted.
2. Bug-fixes in the following areas: text drawing, menus, Find/Replace window.
:: Bug-fixes and minor features in FBtoC 1.4.1 ::
476 edit field with filter fn receives Cmd-chars
486 default MinOS deployment 10.4; remove 10.2 target from UI
490 >1-dimension array parameter wrongly translated
492 warn of unused fn prototypes as well as unused fns
494 allow fn instead of def and usr function calls
495 deprecate usr and def function calls
496 terabyte file access; lof(), loc() and rec() return SInt64
497 implement open "N" to give shared access
:: New examples ::
FB_5_4_1_Examples/Graphics/QuickDraw/Image dithering
FB_5_4_1_Examples/Graphics/QuickDraw/Ray Tracing
FB_5_4_1_Examples/Graphics/CoreGraphics/CGGlyphs
Téléchargement ici :4toc.com/fb4/
Septembre 2009
FB en version 5.4
Cette mouture de FB apporte deux améliorations attendues de longue date et une ouverture simplifiée sur le monde d'en-face qui devrait donner de nouvelles perspectives aux programmeurs chevronnés.
Les projets sont enfin sauvegardés avec les réglages du compilateur. Finis donc les incessants va-et-vient dans le panneau des préférences du compilateur lorsqu'on devait gérer simultanément plusieurs projets nécessitant des réglages différents. Le partage des projets en sera facilité également.
Enfin doit-on dire là aussi, FB accepte désormais le typage des pointeurs. Ce n'est certes pas une révolution essentielle, mais FB nous forçait à utiliser des pointeurs génériques rendant du même coup le code source un peu moins lisible et pas très élégant.
Même s'il était déja possible d'inclure du code source en C dans un listing FB traité par FBtoC en signalant par la directive _PASSTHROUGHFUNCTION que telle partie de code source devait être interprétée comme du C, le processus était quelque peu disgracieux, sans compter que le code en C perturbait l'affichage dans l'Editeur FB. Avec cette nouvelle version, le Gestionnaire de projets accepte des fichiers externes écrits en C, Objective-C et C++. La déclaration FutureBASIC Toolbox fn sera mise à contribution pour déclarer et pouvoir appeler les fonctions depuis votre code source FB. Nul doute que cette amélioration va ouvrir de nouveaux horizons pour beaucoup de programmeurs, y compris ceux qui n'ont jamais programmé en C. Voir le projet Calling C Code un exemple élémentaire mais très parlant qui est inclus dans l'archive des exemples à télécharger.
Voici l'annonce complète faite par Robert Purves dans la liste de diffusion officielle de FB :
:: Main changes in FB 5.4 ::
1. Project-based build settings, accessed by 'gear' toolbar item in project window. Project-based settings override FBtoC's preference settings.
2. Improved support for C and Objective-C code, and (new) support for C++. Source and header files with extensions .c, .m, .cpp, or .h may be included either by adding them to the project window, or with the 'include' statement. Including source files is intended to replace the clumsy embedding with _PASSTHROUGHFUNCTION. See: FB_5_4_Examples > Calling C code.
:: Editor ::
1. Antialiased text.
2. Improved Help book.
3. Help menu items include Builtin Constants.rtf, Error Codes.app and FB5 Reference Manual.pdf.
4. Recent Files and Recent Projects menu items have help tag showing path.
5. A Temp Project file is no longer created for standalone file builds.
6. The arrow keys now work to navigate through a project window's items.
7. File 'aliases' are no longer supported. You can use a Finder alias instead.
8. The menu item Project > Reset Search Paths has been removed.
9. The menu item New Project has been moved to the File menu.
:: FBtoC bug-fixes and minor changes since FB 5.3 ::
465 Error array bounds error from mismatched #endif
468 Cleanup remove runtime support for animated cursors
469 Error edit$( btnNum, lineNum ) various bugs
474 Nicety translate 'for' loops more elegantly
475 Error crash from tekey$ statement
477 Error def fn Thing$ = "string stack bug"
478 Feature fully implement '#define MyRecordPtr as ^MyRecord'
479 Nicety make error caret point to end of code, not end of comment
485 Error can't edit print dialog 'From' and 'To' fields
:: New Headers files ::
Tlbx HITheme.incl
Tlbx Pasteboard.incl
Tlbx UTCoreTypes.incl
:: New Headers files ::
CFPrefs.incl renamed to Util_CFPrefs.incl
Minor changes too numerous to list
:: New examples ::
Calling C code
Graphics/CoreGraphics (Quartz)/Hit Testing CG objects
Graphics/CoreGraphics (Quartz)/Quartz 1.11
Graphics/CoreGraphics (Quartz)/How to print CoreGraphics
Miscellaneous/Mouse Hit in HIView
Téléchargement ici :4toc.com/fb4/
Juillet 2009
FB 5.3 et FBToC 1.3 disponibles
Fin juillet, l'équipe FB nous a délivré FutureBASIC 5.3 qui dispose d'un nouvel éditeur s'exécutant nativement sur Intel. L'application étant basée sur l'ancien code source de l'éditeur, qui a subi un lifting au passage, les anciens programmeurs FB ne seront pas dépaysés par cette toute récente version.
Voici l'annonce faite par Robert Purves :
:: Notable changes from FB 5.2 ::
1. Universal binary editor runs native on Intel.
2. Editor's Build Log shows progress of translation and subsequent build steps.
3. Editor doc windows are useable when toolbar hidden.
4. Editor has Help Book that in part describes FB5, not FB4.
5. New icons for editor, FBtoC, and FB documents (log out/in to see).
6. Find/Change window is resizeable.
7. Source code text is drawn with the casing in which it was typed.
8. New projects have extension .fbproj.
Note that FutureBasic 5.3 editor requires FBtoC 1.3 and vice versa; you can't mix and match with earlier versions.
:: Bug fixes and minor features in FBtoC ::
421 Error setting gFBQuit true in DoDialog() doesn't quit
443 Error unhelpful error msg from malformed _constant
444 Error string[pointer] should be translation error
445 Error *.m files not copied during Make Xcode Project
446 Error string stack bug from 'input z'
447 Feature 'Hide on suspend' preference checkbox
448 Error Objective-C source files become *.m.m
450 Error flag missing commas in argument list
452 Error 'Bad case statement' error could force recompilation
453 Feature allow constants to start with numeral
455 Error nested index with 'Check array bounds' gives various bugs
456 Feature change 'Use DWARF' radio button to 'Put line # in app'
457 Error .c, .m and .h files could open in FB when double-clicked
458 Error edit$( btnNum ) returns nothing if text len > 255
459 Feature Save Log As...
460 Nicety 'More warnings' should not include -Wunused-parameter
462 Feature @"somestring" --> CFSTR( "some string" )
464 Error output window wrong for _btnClick in floating window
470 Nicety explicit error for protoype illegally in local fn
:: New Headers files ::
Util_CFUN.incl
Util_Nib.incl
:: New examples ::
FB_5_3_Examples/Carbon in Cocoa
FB_5_3_Examples/Graphics/CoreGraphics (Quartz)/AceOfHearts, ImageMask and ColorMask
FB_5_3_Examples/Files/Accept folder drop
:: Some old kludgy declarations in Toolbox CFDate.incl have changed to match the offical Apple declarations ::
CFGregorianDateIsValid()
CFGregorianDateGetAbsoluteTime()
CFAbsoluteTimeGetGregorianDate()
CFAbsoluteTimeAddGregorianUnits()
CFAbsoluteTimeGetDifferenceAsGregorianUnits()
Téléchargement ici : 4toc.com/fb4/
Avril 2009
FB est toujours en vie et se porte bien
En dépit des mises à jour extrêmement rares sur ce site, l'équipe FB continue d'arrache pied son travail d'amélioration de l'Éditeur FB et de l'application FBtoC. Aussi, à la place d'une longue note personnelle, je vous propose ici toutes les annonces (de la plus récente à la plus ancienne) publiées par Robert Purves dans la liste de diffusion FB et que, bien sûr, j'aurais dû publier sur cette page à mon tour (anglophobes encore un petit effort) :
21 mars 2009 : FutureBasic 5.1.5 et FBtoC 1.1.10
:: Editor changes ::
1. An unsaved standalone file can now be built and run (Command-R); see note 1 below.
2. Compile Info window shows progress of both translation and compilation.
:: Bug fixes in FBtoC 1.1.10 ::
426 Closed: inkey$ does not return
427 Closed: val&( "01" ) and val&( " 1" ) should return 1
428 Closed: spurious error from 'if...then edit$(1) = "" else stop'
429 Closed: 'text' statement with no parameters hangs FBtoC
430 Closed: Tlbx glu.incl could not be included
:: New example ::
FB_5_1_5_Examples/Text/HITextView+FontPanel/HITextView
An HITextView with the FontPanel allows multistyled text with shadow, colour, double-underline and other eye-candy.
:: Note 1 ::
This is a normal Run in every way, except that the various files required by FBtoC are in your TemporaryItems folder, which (in OS X 10.5) is somewhere like:
/private/var/folders/88/88AKX+F62RWmdU+++TI/++8ZOxBkTemporaryItems.
16 février 2009 :
FutureBasic 5.1.4 et FBtoC 1.1.9
:: Editor 5.1.4 changes ::
1. Scripts '#if 1/#endif' and '#if 0/#endif' fixed.
:: FBtoC 1.1.9 changes ::
1. Typed functions without a suffix are allowed, for example
local fn Name as Str255
end fn = "Ann"
2. FB4 kludges removed from toolbox declarations (see below).
3. The setting 'Use precompiled header' works for universal builds.
4. The build system determines which pieces of a large program need to be compiled, and compiles only those pieces.
:: Bug fixes ::
415 Closed: Make Xcode Project wrongly quotes/escapes nib names
417 Closed: dropping file on FBtoC spoils log window position
420 Closed: Allow files with no OSType to be opened.
424 Closed: input # bug
425 Closed: record # should set file mark when extending
:: FB4 kludges removed ::
The Carbon C definition of these five functions includes a 64-bit parameter, which in FB4 had to be split into two 32-bit halves:
HIViewFindByID()
HIViewSetID() // rarely used
CreateMouseTrackingRegion()
HIViewNewTrackingArea()
HIViewChangeFeatures() // rarely used
You will have to change your code from, for example:
fn HIViewFindByID( fn HIViewGetRoot( w ), myHIViewID.signature, myHIViewID.id, @myView ) // old syntax
to the simpler correct form:
fn HIViewFindByID( fn HIViewGetRoot( w ), myHIViewID, @myView ) // FB5.1.4 syntax
9 janvier 2009 :
FutureBasic 5.1.3 et FBtoC 1.1.8
:: Editor 5.1.3 ::
Unchanged from 5.1.2.
:: FBtoC 1.1.8 changes ::
'on FinderInfo fn Xxxx' implemented [see FB_5_1_3_Examples > Files > FinderInfo]
The Headers file Util_CE.incl has been extensively commented for easier use.
:: New Headers files and examples ::
Util_EUTCKeyFilter.incl [see FB_5_1_3_Examples/Text/EUTC Key filter]
Util_Toolbar.incl [see FB_5_1_3_Examples/Carbon Toolbar/The easy way]
Tlbx HITheme.incl [see FB_5_1_3_Examples/Controls/HITheme_demos]
Tlbx CoreText.incl [see FB_5_1_3_Examples/Text/CoreText xxxx]
:: CoreGraphicsheaders changes ::
The special FB4 syntax for a handful of CG functions (CGRectMake, CGRectOffset, CGContextGetCTM ...) has been discarded. You will need to change the way you call these functions in your source code. For example:
fn CGRectMake( r, 0.0, 0.0, 10.0, 20.0 ) // old FB4 syntax
r = fn CGRectMake( 0.0, 0.0, 10.0, 20.0 ) // new FB5 syntax similar to C
:: Additions to the CG headers ::
CGDataProvider.incl
CGError.incl
CGFont.incl
CGGradient.incl
CGPath.incl
CGPDFArray.incl
CGPDFDictionary.incl
CGPDFDocument.incl
CGPDFObject.incl
CGPDFPage.incl
CGPDFStream.incl
CGPDFString.incl
The FB4 'local fn' wrappers have been removed from all CoreGraphics functions. This change makes 'fn' optional when calling CG procedures (functions that do not return a value).
fn CGContextFillRect( ctx, r ) // 'fn' formerly required; now optional
CGContextFillRect( ctx, r ) // new simpler syntax
:: Bug-fixes ::
370 Closed: button statements uncheck a checked checkbox
404 Closed: scroll button mishandles Rect param at creation
406 Closed: key chars with high bit set are negative in _evKeys dialog event
409 Closed: I-beam cursor persists after click in FBtoC Log window
410 Closed: gcc error from struct/record field named 'index'
412 Closed: gcc error from pi if prefs 'Allow dim a#,a$,a%'
413 Closed: val&() should return 0 if first char is alphabetic
17 novembre 2008 :
FutureBasic 5.1.2 et FBtoC 1.1.6
:: Important change in HandleEvents ::
The default behaviour of HandleEvents is now to block (i.e. not return) unless an event is dispatched.
It is no longer necessary (but is harmless), to suppress null events with:
poke long event - 8, 0xFFFFFFFF // no null events
The original behaviour of returning 30 times a second, if required for old polling code, can be restored by:
poke long event - 8, 2 // null events every 2 ticks, like FB4
do
fn PollForSomething
HandleEvents
until gFBQuit
:: Editor (FutureBasic 5.1.2) changes ::
Fixes to text display in the Errors window.
A bug has been fixed that caused the cursor to change to an arrow over the Scripts Palette even when the latter was hidden.
:: FBtoC 1.1.6 changes ::
1. Default behaviour of HandleEvents changed.
2. The rarely-used 'system' statement is no longer equivalent to 'end'. Please change your code to use 'end'.
3. The 'menu' statement now allows an optional 5th parameter (commandID).
4. New/revised Headers files:
Tlbx CFBase.incl
Tlbx CFString.incl
Tlbx CFArray.incl
Tlbx CFData.incl
Tlbx CFDate.incl
Tlbx CFNumber.incl
These header files are more complete than previously; if you get redefined function errors for your own CFxxxx declarations, just comment out your declarations.
5. New Headers file:
Util_Containers.incl [for use see FB_5_1_2_Examples/Containers/Util_Containers example].
6. New Headers file:
Util_Toolbar.incl [for use see FB_5_1_2_Examples/Carbon Toolbar/Toolbar Example].
7. FB_5_1_2_Examples > Sorting [FB3/FB4 CD examples updated for FB5]
8. build_temp folders created by FBtoC are excluded from Time Machine backups.
:: Bug fixes ::
390 Closed: left$$, mid$$, right$$ give _zTrue when comparing chars
391 Closed: mid$$( c, 1 ) gives "comma expected error"
392 Closed: scrollbar of console app lacks down-arrow
393 Closed: garbled error from proc "NoSuchFunction"
394 Closed: prHndl..prInfo.rPage fields are byte-reversed on Intel
396 Closed: default edit field is _framedNoCR instead of _framed
398 Closed: can't access 2-D array inside record
399 Closed: def apndstr has endian bug (on Intel)
401 Closed: crash from print after front window closed
402 Closed: 'Array bounds error' alert shows as 'Quit'
20 octobre 2008 :
FutureBasic 5.1.1 et FBtoC 1.1.5
:: Editor (FutureBasic 5.1.1) changes ::
1. Script Palette replaces Script submenus.
2. Project window has Headers button, which opens the Headers folder in the Finder.
:: FBtoC 1.1.5 changes ::
1. New File menu item: Make Xcode Project.
2. New feature and setting: Warn of unused functions.
3. Domain and folder type constants (_kUserDomain, _kApplicationSupportFolderType...) are now defined.
4. New Headers file Util_CE.incl provides a simplified method to implement Carbon Events in your code; for demos see FB_5_1_1_Examples/CarbonEvents.
:: Bug fixes ::
314 Closed: make strings in *.c runtime localizable
378 Closed: elided error message from include library "NoSuchFile"
381 Closed: editor ignores some translation errors
382 Closed: aliased source file prevents translation of main
383 Closed: editor's Stop button does not affect build by FBtoC
384 Closed: I-beam cursor stays after click in Prefs 'More gcc options'
385 Closed: unusable CreateMouseTrackingRegion() in Tlbx CarbonEvents.incl
386 Closed: 'picH = picture' gives translation error
387 Closed: _useWFont fails for some appearance buttons
24 septembre 2008 :
FutureBasic 5.1 et FBtoC 1.1.4
:: Important change in FBtoC ::
Until now, the build process would automatically copy every nib (*.nib) from the source folder into the built app package. This greedy and surreptitious copy risked the inadvertent inclusion of files like "OldRubbish.nib" and "embarrassingly bad.nib". Now, nibs are ignored unless specified in an 'include resources' statement or in the editor project window (see below).
This means that every project or standalone file that uses a nib interface needs modification. The most straightforward fix is to add a line of code resembling this:
include resources "main.nib"
for each nib used by your project.
:: Editor (FutureBasic 5.1) changes ::
1. New menu items give better integration with FBtoC

2. FBtoC preferences are also accessible from a pane in FB preferences.
3. Project window allows files of any type to to be dragged and dropped, including nib, sound and image files.

Such files are copied during the build to <AppName>/Contents/Resources or <AppName>/Contents/Resources/en.lproj as appropriate, as though they had been specified in an 'include resources' statement in source code.
:: FBtoC 1.1.4 changes ::
1. gFBFloatMaxDigits implemented
2. New file and directory utilities available in Headers file Util_FileDirectory.incl. See FB_5_1_Examples/Files/File_Directory examples.
:: Bug fixes ::
372 Closed: bad factor when input# used with var instead of constant
375 Closed: 'line input #serialPort, s$' gets no chars
377 Closed: open "A"... doesn't work with FSRef or CFURLRef
380 Closed: close #e... etc mistranslated
12 septembre 2008 :
FutureBasic 5 et FBtoC 1.1.3
:: Bug fixes in FBtoC 1.1.3:
365 Closed: Can't access App menu's MenuRef before building a menu
367 Closed: rnd(x) produces same number on repeated runs
368 Closed: _cursEvent, _cursOverBtn … not implemented
369 Closed: appearance button statement should support graphics content
371 Closed: print using gives wrong string for 0.0
373 Closed: Stackable Nav sheets
374 Closed: Infinite error loop: if a then text a else text b
Téléchargement ici : 4toc.com/fb4/
Septembre 2008
FutureBASIC 5 est arrivé !
FutureBASIC 5.0 est sorti accompagné de FBtoC 1.1.3 des mains de l'équipe FBtoC (en version US uniquement). Mais qu'est-ce que c'est au juste ?
FB5 est simplement l'Editeur FutureBASIC quelque peu modifié pour travailler de concert avec FBtoC uniquement. Il ne s'appuie plus sur le Compilateur FB d'Andy Gariepy pour produire des applications, en conséquence certaines options ont disparu de ses menus et le dossier Extensions n'existe plus, éliminant du même coup les différences qui pouvaient exister entre le dossier Headers utilisé par le Compilateur FB et celui dédié à FBtoC.
Pour l'heure, FB5 est toujours une application PPC, mais il pourrait devenir une application universelle dans un futur proche. De plus, les préférences du compilateur GCC doivent être réglées depuis l'application FBtoC, cela pourrait également changer dans les mois à venir pour correspondre au comportement de FB4 associé avec l'ancien Compilateur FB.
Pour ceux qui ont besoin de maintenir d'anciennes applications conséquentes ou qui doivent supporter les anciennes machines d'Apple et leurs divers systèmes (68K, PPC, Carbon Classic/OS X, système 9) FB4 est toujours disponible et opérationnel.
Le téléchargement c'est par ici : 4toc.com/fb4/
Mars 2008
Petit progrès
Les francophones seront ravis d'apprendre que FutureBASIC 4 Release 4.4.2 ainsi que FBtoC sont disponibles à présent en français à l'URL suivante (à conserver dans leurs signets) : 4toc.com/fb4/. Cette nouvelle version a été adaptée afin d'autoriser une transition plus fluide vers FBtoC. L'IDE localisé pesant 50Mo se présente sous une unique archive contenant les manuels et les fichiers d'exemples. FBtoC doit être téléchargé séparément. Les plus curieux auront noté que la manuel de référence en français a été mise en ligne.
Février 2008
Puisqu'on en parle
Comme on pouvait le supposer, l'annonce récente de Staz Software a entraîné un regain d'activité parmi les programmeurs FB, autant grâce aux nouveaux arrivants qu'aux vieux briscards. C'est en effet un signe positif. Maintenant, il reste à espérer que cette excitation se répande encore davantage et surtout qu'elle dure dans le temps.
Une conséquence de ce nouvel engouement est que j'ai commencé à recevoir des courriels d'un peu partout demandant un support technique, et bien que j'apprécie la confiance qui m'est faite, je me dois de rappeler à mes correspondants que je ne suis plus officiellement en charge du support technique et que pour ce qui me concerne FutureBASIC n'est plus qu'un passe-temps à présent. Autrement dit, je ne peux répondre aux courriels que lorsque le temps me le permet. J'en profite pour dire que l'anglais n'étant pas ma langue native, cela m'oblige à consacrer encore plus de temps pour mes réponses. C'est pourquoi, pour un meilleur support technique, je vous invite avec insistance à souscrire sans hésitation à la liste de diffusion officielle de FB (malheureusement pour les francophones, il faut communiquer en anglais). C'est vraiment là que les programmeurs FB doivent se retrouver à présent.
Dans une récente contribution, j'ai écrit que MacWise de Carnation Software avait été compilé en tant qu'application Universal à l'aide de FBtoC. C'était inexact. Je dois maintenant m'excuser pour cette information qui s'est avérée fausse. En réalité, la version disponible avait été mise à jour pour s'exécuter sans problème sous Leopard, ce qui n'est pas du tout la même chose. Mon affirmation n'était toutefois que prématurée, car à présent c'est chose faite.
Dernièrement, j'ai travaillé à la localisation en français de FBtoC en collaboration avec l'équipe de développement, et cela leur a donné l'occasion de mettre en œuvre une fonction du programme qui devrait faciliter la localisation des applications que vous-même créez. Tenez-vous informé.
Notez que les versions françaises les plus récentes de FB et de FBtoC bien que prêtes pour la distribution ne sont toujours pas disponibles pour le téléchargement. Je suis en train de négocier un arrangement avec Staz Software pour régler ce problème dans les plus brefs délais. Par ailleurs, je n'ai pas d'information concernant la version italienne, tout ce que je sais c'est que Michele Neri travaille dur actuellement sur l'application FBtoC elle-même, ce qui ne doit pas lui laisser beaucoup de temps pour des travaux de traduction. Enfin, si vous souhaitez localiser l'environnement FutureBASIC dans votre langue native (autre que l'anglais, l'italien, le japonais et le français, évidemment), vous pouvez entrer en contact avec les membres de l'équipe FBtoC via la liste de diffusion FB, car il ne semble pas y avoir de formulaire de contact sur leur site web.
Janvier 2008
Mise en garde
Un certain nombre de programmeurs (moi-même y compris) ont utilisé la librairie DataBrowser For Dummies dans leurs applications, et bien que j'en sois honoré, je me dois de dire maintenant que ce n'est pas une véritable bonne nouvelle. À l'origine, cette librairie avait pour but l'apprentissage du DataBrowser, un des nombreux contrôles du bestiaire d'Apple particulièrement riche en fonctionnalités et qui par conséquent était assez difficile à mettre en œuvre, surtout en première approche. Cependant, la librairie exploitait éhontément le faible typage intrinsèque au langage FutureBASIC, et de plus, le mécanisme soujacent pour parvenir à la simplicitié vis à vis de l'utilisateur final (c'est à dire vous en tant que programmeur) était quelque peu complexe, pour ne pas dire alambiqué.
Maintenant, le problème est que cette façon de programmer est totalement inadéquate pour la compilation avec GCC via FBtoC, et pire encore, la librairie ne peut même pas être traficotée pour autoriser la compilation en binaire universel. Il n'y a en réalité qu'une seule alternative si vous avez utilisé la librairie DBFD : la réécriture du code pour implémenter le DataBrowser dans vos applications, si votre objectif est de les faire s'exécuter en mode natif sur les Macintosh Intel. Pas cool !
Cela étant, une bonne partie du code et des fonctions de la librairie peuvent vous servir de modèle comme point de départ pour le travail nécessaire d'adaptation à vos besoins particuliers. Vous pouvez préférer aussi démarrer à partir de l'exemple de Bernie Wylde relatif au Databrowser qui est livré avec FBtoC.
FB gratuiciel : bonne ou mauvaise nouvelle ?
Certains d'entre vous se posent la question : est-ce une bonne ou une mauvaise chose que FutureBASIC soit maintenant distribué en freeware ?
Très franchement, je n'ai pas d'info sur les objectifs de Staz Software, d'ailleurs cela fait un bon moment que je n'ai correspondu en privé avec Chris Stasny, mais je ne pense pas que ce soit une bonne nouvelle pour lui, hormis le fait qu'il va pouvoir enfin se décharger d'un fardeau. De plus, je suppute que les dégâts causés par l'ouragan Katrina ont joué un rôle non négligeable dans sa décision. Suite à ce désastre, nous avons tous remarqué le ralentissement dans la fréquence des mises à jour du logiciel, au point que le temps semblait s'être presque arrêté à Diamonhead. C'est triste. Quelles qu'en soient les vraies raisons, nous devons rendre un sérieux hommage à Chris pour son support indéfectible tout au long de ces vingt dernières années. Un merci si grand que les mots ne sauraient traduire.
Toutefois, si l'on en juge par la dernière contribution de Chris sur son site Web, FutureBASIC n'est pas mort. Au contraire, cela pourrait bien être l'aube d'un nouveau départ. D'abord, je crois qu'en répandant cette fraîche nouvelle, les anciens clients qui hésitaient à payer leur abonnement annuel pour les mises à jour vont revenir au bercail. Ensuite, plus rien ne retient ceux qui seraient tentés par un environnement de développement qui a fait ses preuves depuis les débuts du Macintosh. Ce dernier point est sans doute le plus important à mes yeux, car c'est un nouvel élan de cette sorte qui peut garantir une survie décente pour FB.
Bien que la communauté des programmeurs FB soit l'une des plus chaleureuses que l'on puisse trouver sur le Web, y adhérer relevait plus de l'allégeance à une tribu, une survivance du passé, insensible aux grands mouvements qui parcouraient la communauté des programmeurs au sens large. Ainsi, ce brusque changement de paradigme pourrait donner un coup de pouce dans la bonne direction. FB est sur le point de passer en open source. Si ce n'est pas là la clef du succès per se, au moins, cela devrait en toute logique augmenter les chances de voir FB bien vivant pour les années à venir.
Pour le moment, nous devons compter sur la petite équipe qui s'est attelée au labeur de fond, en lieu et place de Staz Software. Le travail fourni par ces talentueux programmeurs a débuté voilà presque deux ans, et aujourd'hui nous pouvons profiter de ses fruits avec la première sortie officielle de FBtoC. Pour autant, l'équipe n'en a pas moins planifié de nouveaux objectifs : en ligne de mire, la conversion de l'éditeur pour en faire une application universelle, et plus important encore, l'intégration de FBtoC avec l'éditeur afin de rendre la programmation pour MacIntel avec FB une expérience sans douleur.
En bref, il est un peu tôt pour se forger une opinion sur le sort de FB. Sommes-nous face à une bonne nouvelle ou une mauvaise en la matière ? À ce moment précis, seul l'avenir détient la réponse.
Le Père Noël est passé
Hier, je mettais ce site à jour pour souhaiter à tous mes
meilleurs vœux pour l'année qui débute. Aujourd'hui,
me revoilà au charbon pour vous apporter la bonne nouvelle. FutureBASIC
est devenu un gratuiciel depuis hier. Cela signifie que tout le monde
peut le télécharger et l'utiliser gratuitement. Alors, si
vous ne possédez pas encore la dernière version du logiciel,
il est temps d'aller visiter le site
Web de Staz Software.
Voici l'annonce de Staz Software :
NEWS! FB is Freeware!-- January 1, 2008
FutureBASIC is now freeware! Starting January 1, 2008, FB will become
freeware. Does this mean that work on the product will come to a halt?
Absolutely not. For starters, you will be able to download a revised editor
that addresses problems with OS X, System10.5. Later, you will be able
to download the exciting new translator under construction by the FBtoC
team that will allow FB code to be compiled by the GCC compiler.
Bonne et heureuse année 2008 !
C'est un fait, l'année qui vient de s'écouler a été
très calme sur le front FB : pas d'annonces fracassantes, ni de
versions indispensables à se mettre sous la dent. Cela ne signifie
pas qu'il ne s'est rien passé durant ce temps-là, mais maintenant
la communauté des programmeurs FB attend avec impatience, la prochaine
grande étape pour ce qui concerne la programmation avec FutureBASIC,
si ce langage veut garantir sa pérennité.
La bonne nouvelle, c'est que les choses sont en bonne voie. Il y a quelque
temps, une petite équipe emmenée par Robert Purves a commencé
à travailler sur un outil conçu pour produire du code binaire
universel et générer des applications s'exécutant
en natif sur MacIntel. Ce projet est aujourd'hui bien avancé, au
point que l'on peut légitimement espérer sa première
sortie officielle dans un futur très proche.
Évidemment, aucune date n'a encore été avancée,
toutefois des beta testeurs ont déjà affirmé qu'ils
ont réussi à compiler quelques-unes de leurs applications,
y compris commerciales. Par exemple, MacWise,
est présentement vendu en version compatible MacIntel. C'est plus
qu'encourageant.
L'outil appelé (pour le moment) FBtoC, lit les projets FB et, comme
son nom l'indique, convertit le code en langage C pour ensuite demander
au compilateur GCC (livré avec l'installation du système
OS X) de générer l'application résultante. Le
processus est direct, du moins sur le papier, et idéalement il
devrait être transparent pour le programmeur.
En réalité, les choses ne sont pas aussi aisées,
simplement parce que le processus contourne entièrement le compilateur
FB. Cela signifie qu'il faut faire son deuil de certaines méthodes
propres à la programmation en FutureBASIC. En effet, FB réalisait
des exploits pour émuler certaines méthodes devenues obsolètes
depuis bien longtemps dans l'univers Apple. Par exemple le working directory
reference number, un fossile maintenu en vie par FB alors que la Toolbox
ne le gère plus depuis plus d'une décade. Est-il utile de
dire que le compilateur GCC ne se laissera pas berner ? Alors pour
ceux encore à la traîne, il est vraiment temps de bouger.
Ainsi, la force de FB qui autorisait de vieux morceaux de code BASIC à
fonctionner encore sur la plate-forme Macintosh est terminée. C'est
un fait incontournable, et si vous n'avez pas suivi les conseils avisés
des gourous de FB tout au long des années, attendez-vous à
devoir consacrer du temps pour mettre vos applications en conformité
et au goût du jour. Pour l'instant, le conseil que je donnerai de
mon côté est de souscrire, si ce n'est déjà
fait, à la liste
de diffusion FutureBASIC chez associate.com. Vous y trouverez là
non seulement des programmeurs prêts à vous aider, mais aussi
les annonces concernant les dernières versions de FBtoC accompagnées
de sa documentation et d'un lien de téléchargement qui vous
permettra de pouvoir le tester.
Février 2007
DataBrowser For Dummies 3.1.1
Oops ! La plupart des exemples de la version française n'avaient
pas été mis à jour et refusaient tout simplement
de compiler. Désolé !
Vous pouvez télécharger DBFD ici
QuiXample 1.7.4
Cette release de maintenance
corrige un bogue qui survenait dans les versions italienne et française
et qui empêchait certains menus de fonctionner correctement. Le
code a été très légèrement modifié,
mais QuiXample a été compilé avec les fichiers headers
les plus récents qui accompagnent la dernière version beta
de FB.
Vous pouvez télécharger QuiXample ici
DataBrowser For Dummies 3.1
Le support
de la molette de la souris, qui a été désactivé
par inadvertance, a été réintroduit dans cette release.
Vous pouvez télécharger DBFD ici
Janvier 2007
Bonne Année à Tous !
Décembre 2006
QuiXample 1.7.3
De récentes
modifications dans la librairie DataBrowser For Dummies que QuiXample
utilise ont introduit un bug sévère qui provoquait un crash
de l'application quand l'utilisateur cliquait sur certaines cases à
cocher. Cette nouvelle version, compilée avec la dernière
release de FB, devrait corriger ce problème.
Vous pouvez télécharger QuiXample ici
DataBrowser For Dummies 3.0
Malgré
son numéro de version prétentieux, cette nouvelle release
ne contient rien de nouveau, si ce n'est qu'elle est censée corriger
un bug sérieux relatif à la gestion des CF strings.
Vous pouvez télécharger DBFD ici
Novembre 2006
FutureBASIC 4 Release 4 est maintenant disponible
Cette release de maintenance est proposée
avec une offre spéciale de renouvellement pour les souscripteurs
actuels. La nouveauté principale de FB4 R4 concerne son compilateur
qui est plus rapide et plus petit et qui ne fonctionne que sous OS X.
Il produit, presque à l'identique, le code PPC que la Release 3
générait. Il n'inclut plus dans les applications construites
un certain nombre de ressources devenues obsolètes ['CODE', 'Tara',
'Gigi', 'Andy', 'Staz' 1997] . Son interface utilisateur a été
légèrement remaniée pour autant que cela ait une
importance.
Il y a de très petits changements dans l'Editeur : il utilise maintenant
moins de temps CPU et a subi quelques légères modifications
cosmétiques dans sa fenêtre de Préférences.
Il y a un nouveau fichier header intitulé CFIndex.incl qui peut donner une nouvelle jeunesse à vos tableaux Index$. De nouvelles commandes ont été introduites pour la gestion
des tableaux dynamiques : Def DynamicInsertItems, Def DynamicRemoveItems and Usr DynamicItemSize.
(Voyez le manuel de Référence pour plus d'informations).
En savoir un peu plus à propos de cette release, ici.
Avril 2006
Un nouveau départ ?
Certains
d'entre vous ont peut-être suivi la saga de FutureBASIC depuis le
début de l'ère Macintosh, un record de longévité
pour un environnement de développement sans équivalent sur
cette plate-forme, à ma connaissance. Mais, nous le savons tous,
les temps sont bien connus pour changer, et bien que FB soit toujours
aussi adulé par ses aficionados -- parmi lesquels je me compte
toujours -- je dois, à un niveau personnel, me libérer de
cette addiction. Non, je n'abandonne pas le navire, mais pour être
franc, depuis la disparition de Pix & Mix, j'ai simplement besoin
de gagner ma vie, et c'est pourquoi je viens d'embarquer sur un autre
bateau. Dès lors, il est clair que j'aurais moins de temps à
consacrer à FB, ce qui ne m'empêche pas de continuer le travail
de traduction pour les francophones, d'ailleurs je reste officiellement
en charge du master de l'édition européenne du CD et j'essaierai
de garder ce site à jour du mieux que je pourrai (voyez, j'ai même
devancé Staz Software dans la publication des nouvelles caractéristiques
de la dernière release).
La chose amusante est que je me suis impliqué dans le projet mogWerks,
qui est en fait une toute nouvelle société de développement
pour le Web fondée par un autre programmeur FB que j'ai connu dans
les années 2000 grâce à la liste de diffusion FutureBASIC
à associate.com. Certains d'entre vous le connaissent déjà
pour ces dons de programmeur ou alors sans le savoir parce que c'est aussi
lui qui a relooké ce site il y a un moment déjà.
Jonathan (alias the gnome) pendant de nombreuses années a été
une des figures éminentes de la communauté FB.
mogWerks a très peu de choses à voir avec FB, si tant est
qu'il y en ait, en conséquence je vais devoir gérer les
tâches relatives à FutureBASIC dans mon temps libre, aussi
ne vous attendez pas à recevoir une réponse immédiate
quand vous m'enverrez un e-mail, et pour ceux qui ont pris l'habitude
de me joindre par téléphone, je leur demanderai d'être
indulgents si je dois écourter nos conversations.
Si vous êtes curieux de savoir ce que propose notre nouvelle société,
allez visiter notre site commercial à : mogwerks.com,
mais en tant que programmeur, vous serez probablement plus intéressé
par l'autre site Web que nous avons monté pour tous nos projets
Open Source à : mogwerks.net.
Ai-je besoin de vous dire que votre soutien est le bienvenu ?
Enfin, je ne voudrais pas terminer sans des remerciements très
spéciaux, mais je suis embarrassé parce que je ne trouve
pas de mots assez forts pour exprimer ma gratitude à l'égard
de Michele Neri (alias Mich the Great), le traducteur italien de FB. Tout
au long de ces dernières années il m'a apporté un
incroyable soutien, une aide précieuse et aussi mais surtout il
a fourni un travail phénoménal sans jamais, ne serait-ce
qu'une misérable fois, demander quelque chose en contrepartie.
Ma dette envers lui est incommensurable. Et dire que nous ne nous sommes
jamais rencontrés dans la vie réelle ! J'ai comme le
sentiment parfois de passer à côté d'un être
humain rare. Mais l'aventure avec lui ne s'arrête pas non plus aujourd'hui,
puisque Michele s'est proposé tout récemment de nous rejoindre
sur notre premier projet Open Source. Au moins, l'esprit FB restera bien
vivant dans cette nouvelle aventure.
Alain
FutureBASIC 4 Release 3 est sorti !
Malgré les blessures infligées par l'ouragan Katrina, blessures
qui sont loin d'être pansées (si elles peuvent jamais l'être),
nous sommes heureux d'annoncer la sortie de la Release 3 de FutureBASIC
4. Après une si longue attente, il nous faut tout de même
féliciter Chris Stasny pour avoir gardé le cap et nous offrir
aujourd'hui une version améliorée de notre environnement
préféré. Pour prendre connaissance de la liste détaillée
des changements, réparations de bugs et autres nouveautés,
vous pouvez suivre ce lien.
Vous pouvez d'ores et déjà passer votre commande pour une
toute nouvelle souscription ou pour le renouvellement de votre licence
sur le site de Staz
Software. Si vous souhaitez le CD européen (sans frais supplémentaire),
rappelez-vous de le spécifier dans le champ Comments du
formulaire de commande.
Qu'en est-il du futur de FutureBASIC ?
C'est ce que Herbie Gluender explore dans un court article qu'il nous
a donné le droit de rediffuser ici.
"Actuellement, nous vivons une nième transition d'Apple
qui abandonne l'architecture PowerPC pour aller vers le matériel
équipé Intel. Une transition équivalente doit s'opérer
au niveau logiciel. De fait, les utilisateurs de l'IDE FutureBASIC pourraient se demander tout ce que cela signifie pour leurs
applications déjà existantes ou bien celles, dans leurs
cartons, qui sont encore à venir. Bien qu'aucune spéculation
ne puisse être encore faite en ce qui concerne les futures versions
de l'IDE FutureBASIC, on peut déjà présenter des
considérations générales sur ce qui doit être
réalisé par les concepteurs de FB, et à leur suite,
par tous les programmeurs FB". Continuer
la lecture...
QuiXample 1.7.2
Rien de
bien extraordinaire dans cette version. QuiXample utilise maintenant les
CF Preferences.
Téléchargement ici
Février 2006
QuiXample 1.7.1
Suite à
de nombreuses demandes, j'ai implémenté une nouvelle fonctionnalité
qui permet de faire une recherche dans la documentation FutureBASIC avec
QuiXample. La recherche est effectuée sur les mots-clés
du langage uniquement, mais vous pouvez utiliser une partie de mot comme
critère de recherche. Après quoi, vous pouvez ouvrir la
documentation FB dans votre navigateur Web.
Il vous est possible maintenant d'étiqueter des fichier pour vous
aider à trier la liste des résultats de vos recherches.
Enfin, deux bugs sérieux ont été corrigés.
Ouvrez le fichier lisez-moi pour plus d'informations.
Vous pouvez télécharger QuiXample ici
|
Mise à
jour :
Mai 2013
Ref. 
Historique
FB4 Release
4
FB4 Release 3
FB4 Release 2
FB4 Release 1
FB3 Release 7
FB3 Release 6
FB3 Release 5
FB3 Release 4
FB3 Release 3
FB3 Release 2
FB3 Release 1
Articles
Manuel de Référence
Binaires
Universels ?
Du
Côté de Carbon
Portage
vers Carbon
Le
Petit Livre
De
l'Autre Côté de l'Atlantique
|