[EN] [IT]
  [INFO] [ACQUÉRIR] [PLAN] [RESSOURCES]

Compilateur


Les nouveautés de FutureBASIC 4 Release 3




Menus contextuels

Un clic-droit ou un Contrôle-clic fait apparaître un menu contextuel dans la fenêtre d'édition. Le menu affiche le mot cliqué et vous permet d'appeler la fenêtre Rechercher/Remplacer ou bien de retrouver sa définition originale dans le code source. Vous pouvez également chercher des mots-clés dans le système d'aide intégré à FutureBASIC ou lancer une recherche sur le site Web d'Apple pour les appels Toolbox. Enfin, vous pouvez copier le texte sélectionné dans le Presse-Papiers.


Communiqué:
Paris, 1/04/2006

[haut de la page]

Molette de défilement

Je ne sais pas pourquoi on appelle ça un pouce à défiler [alias une molette de défilement]. On ne l'utilise pas avec les pouces, et il ne ressemble pas à un pouce à l'écran. Quoi qu'il en soit, le nouvel éditeur supporte ce machin à défiler qui se trouve sur votre souris. Si vous n'avez pas de machin qui défile horizontalement, vous pouvez maintenir la touche Majuscule enfoncée pour que le machin à défiler verticalement devienne un machin à défiler horizontalement.


[haut de la page]

Bouton "Historique"

Le menu Historique est de l'histoire ancienne. Il y a maintenant un boutton "Backup Up The Choo Choo". [OK, c'est intraduisible, mais cela ne semble-t-il pas plus intéressant qu'un bouton "Historique" ?] Il est plus élégant que l'ancien article de menu et on peut l'activer avec la touche de fonction F1 pour retourner au dernier emplacement où on a cochonné son code.


[haut de la page]

Mais que fait la police ?

Un nouveau panneau de réglages à l'onglet Police a fait son apparition. Il vous permet de modifier les styles utilisés dans l'éditeur d'une manière inconnue jusque-là. Vous pouvez, par exemple, sélectionner ensemble les remarques, les chaînes littérales, et les étiquettes pour donner à tous ces éléments un corps de 14 points. Vous pouvez changer la graisse de tous les éléments en même temps sans affecter leur taille, ni leur couleur individuelles. C'est vraiment plus cool que dix machins cools réunis. Vous devriez explorer cette nouveauté sans attendre.


[haut de la page]

Menu Édition revampé

La façon de fonctionner du menu Édition a changé dans toutes les applications. Il fallait bien que FB se conforme aux évolutions de Mac OS X. Des changements seront nécessaires dans votre propre code si vous avez créé un menu Édition personnalisé.

Votre menu Édition doit contenir maintenant les deux articles Annuler et Refaire, sans quoi, ce menu ne fonctionnera pas correctement.

Cette démo simple illustre comment utiliser le nouveau menu.

/* Démo du nouveau menu Édition */
edit menu 2
window 1
text _sysFont, 12
edit field 1, "champ d'édition", (20,20)-(300,100)
long if (system( _sysVers ) >= 1030 )
  appearance button 2,,,,,, (20,120)-(300,220), ¬
                   
_kControlEditUnicodeTextProc
  def SetButtonTextString( 2, "EditUnicodeText control" )
xelse
  edit field 2, "un autre champ d'édition", (20,120)-(300,220)
end if
do
  HandleEvents
until 0


[haut de la page]

Fignolage & Rafistolage

  • Un signet inséré à la fin d'un fichier de code source ne pouvait plus être sélectionné, ce qui rendait impossible l'ajout de nouvelles lignes en fin de document.
  • Les descendants des caractères bas de casse étaient tronqués à l'impression du code source.
  • L'article de menu Ouvrir un fichier récent a été retravaillé et corrigé.
  • Les clics souris en début de ligne affichant un signet ou un séparateur graphique fonctionnent correctement maintenant.
  • Plusieurs corrections ont été apportées au système d'aide en ligne. Le menu Aide a été reconfiguré.
  • La petite fenêtre de débogage invoquée par les commandes Def DebugString et Def DebugNumber s'affiche en tenant compte des fenêtres de documents ouvertes à l'écran pour ne pas vous obstruer la vue. Nous avons aussi implémenté la commande Def DebugRect. [Mais, pourquoi nous a-t-il fallu tant de temps pour penser à celle-là ?]
  • Il y avait un minuscule pixel qui vivait sa vie juste en-dessous de la barre d'outils et si vous cliquiez dessus accidentellement en voulant atteindre le menu des signets ou celui des fonctions, votre code source s'affichait subitement en tout début de document. Si je connaissais un de ces mots français élégants, je l'utiliserais ici-même pour souligner le degré de ma frustration quand je suis tombé sur cette anomalie, mais bon... je ne suis qu'un plouc.
  • Lorsque des fichiers étaient transmis via l'Internet ou lorsqu'ils étaient compressés par une quelconque version de Stuffit, ils perdaient leur signature de type de fichier et de créateur. Après quoi il était impossible de les ouvrir avec FB à moins d'en passer par un éditeur de ressources pour corriger le problème. FB ouvre maintenant les fichiers en tenant compte de leur suffixe (i.e. .incl, .proj, etc.).
  • Les fichiers dont le nom contenait des guillemets ne pouvaient pas être compilés..

[haut de la page]

Meilleur et plus rapide

Nous essayons toujours d'accélerer les opérations pour vous. Cette release ne déroge pas à la règle :

  • Les tableaux dynamiques sont beaucoup plus rapides.
  • La vitesse du Profiler a été améliorée au niveau de l'affichage.
  • Les routines CFString ont été accélérées.
  • Si je retiens ma respiration entre deux cannettes, je peux boire un pack de six en entier en moins d'une minute.

[haut de la page]

Runtime & Compilateur

FB supporte maintenant les étiquettes Traceback de Mac OS X. C'est en quelque sorte l'équivalent des étiquettes MacsBug dans MacOS 9. Cette aide précieuse vous permettra de localiser l'endroit de votre code où votre programme a planté. Cette option s'active à l'onglet Débogueur de la fenêtre des préférences.


[haut de la page]

Art contemporain

Il y a un nouveau fichier header Tlbx CoreGraphics qui nous donne accès à un super panier garni. Pour un avant-goût de la chose, goûtez ce qu'a concocté pour vous Robert Purves en suivant ce chemin :
Exemples/** Dons **/Robert P's Favorite Examples/OS X folder/Quartz (CoreGraphics).


[haut de la page]

Préhistoire

Nous avons relégué ResEdit au musée, à la place nous distribuons Rezilla sur le CD.


[haut de la page]

Dernière minute

Il y a de nombreux nouveaux appels Toolbox qui ont été déclarés dans les headers, mais aussi des routines USR et DEF qui n'ont pas été documentées dans le Manuel de Référence, faute de temps. C'est l'occasion ici de vous en présenter quelques-unes et de vous inciter à les rechercher par vous-même. Les définitions pour les appels Toolbox peuvent être examinées sur le site Web d'Apple. Quant aux routines DEF et USR, elles sont presque autodocumentées.

Préférences : Le premier jeu de routines concerne les fichiers de préférences. Pour pouvoir les utiliser vous devez inclure (ou les glisser dans la fenêtre de votre projet) les headers suivants :
CFGregorianDate.incl et Subs DEF USR CFPrefs.incl.
Usr CFPrefsGetApplicationID
Usr CFPrefsGetBool( key as Str255, value as ^Boolean, default as Boolean )
Usr CFPrefsGetBytes( key as Str255, p as pointer, maxSize as long )
Usr CFPrefsGetDate( key as Str255, @value as ^double, default as double )
Usr CFPrefsGetDbl( key as Str255, @value as ^double, default as double )
Usr CFPrefsGetHandle( key as Str255, @value as ^Handle )
Usr CFPrefsGetHostName
Usr CFPrefsGetLong( key as Str255, @value as ^long, default as long )
Usr CFPrefsGetRect( key as Str255, value as ^Rect, default as ^Rect )
Usr CFPrefsGetStr( key as Str255, @value as ^Str255, default as Str255 )
Usr CFPrefsGetUserName
Def CFPrefsRemoveKey( key as Str255 )
Def CFPrefsSetApplicationID( appID as Str255 )
Def CFPrefsSetBool( key as Str255, setVal as Boolean )
Def CFPrefsSetBytes( key as Str255, p as pointer, size as long )
Def CFPrefsSetDate( key as Str255, setVal as double )
Def CFPrefsSetDbl( key as Str255, setVal as double )
Def CFPrefsSetHandle( key as Str255, h as Handle )
Def CFPrefsSetLong( key as Str255, setVal as long )
Def CFPrefsSetRect( key as Str255, setVal as ^Rect )
Def CFPrefsSetStr( key as Str255, @setVal as ^Str255 )
Def CFPrefsSynchronize 


Images : le précédent jeu de routines pour charger et manipuler des fichiers d'image utilisait uniquement le nom des fichiers et le numéro de référence de volume pour désigner les fichiers. Un nouveau jeu de routines équivalentes a été implémenté pour tirer profit de la moins antique structure FSSpec qui référence les fichiers. Ces routines se trouvent dans le fichier header Subs Image Files.incl.
Def GetImageSpecRect(fs as ^fsspec , rectPtr as ^rect)
Usr ImageSpecToPictHandle(fs as ^fsspec)
Def DrawImageSpec(fs as ^FSSpec)
Usr DrawImageSpecToGworld(fs as ^FSSpec)
Usr ImageSpecToTransparentPictHandle( fs as ^fsSpec )


Tableaux dynamiques : de nouvelles routines permettent d'insérer ou de supprimer rapidement des éléments de tableau dynamique. Pour plus d'informations sur ce nouvel ensemble d'instructions, voyez Jay's Arrays dans le dossier Dons.
Def DynamicInsertItems(gMyDynamicArray, Where&, HowMany&, FillPtr&)
Def DynamicRemoveItems(gMyDynamicArray, First&, HowMany&, SavePtr&)
ElementSize& = Usr DynamicItemSize( arrayPtr& )


[haut de la page]

Pour conclure

L'ouragan Katrina m'a vraiment secoué. Pour ceux qui ne le savent pas, nous avons été touchés de plein fouet et avons dû fermer boutique pendant trois mois. Même encore maintenant, la seule connexion Internet que je peux obtenir passe par satellite et mon téléphone est un cellulaire, car la ligne téléphonique n'a toujours pas été rétablie. Hier encore, j'ai lu dans un journal un article qui racontait qu'une de nos communautés de religieuses verrait leur distribution d'eau rétablie dans six semaines. Au moment où j'écris ces lignes, cela va faire bientôt sept mois révolus que l'ouragan nous a laminés, cela veut dire qu'il aura fallu quelque chose comme huit mois et demi pour que ces personnes puissent faire couler de l'eau dans l'évier de leur cuisine. (Si elles ont toujours un évier... ou encore une cuisine.) Je suis parmi les chanceux. J'ai toujours une maison.

Beaucoup de gens pensent que l'ouragan Katrina a frappé la Nouvelle Orléans. Ce n'est pas le cas. La Nouvelle Orléans a été inondée à cause de digues obsolètes. L'ouragan a bel et bien frappé le Mississippi. Les journaux du soir se plaisent à vous montrer la dévastation causée par les eaux dans la 9e circonscription de la Nouvelle Orléans. Je peux rouler pendant des kilomètres et ne voir rien d'autre que des gravats et des paysages entièrement balayés, là où se tenaient autrefois de riches et magnifiques villas.

Lorsqu'on a demandé à Anderson Cooper de CNN quelle était l'histoire qui l'avait le plus touché parmi toutes celles qu'il avait couvertes, il a raconté qu'il était allé avec une équipe de secouristes de maison en maison à Waveland, MS (à 3 ou 4 kilomètres de chez moi). L'équipe avait trouvé les corps sans vie d'une femme et de son bébé. À l'évidence, la femme avait essayé d'enfiler un gilet de sauvetage à son bébé dans l'espoir qu'il échaperait au torrent des flots, sans doute aurait-il pu… sans doute…

Je crois que j'essaie de dire c'est qu'il nous faut voir FutureBASIC comme quelque chose que nous faisons pour notre plaisir, ou notre profit. Mais, j'ai appris ces sept derniers mois qu'il y avait des choses qui comptaient un peu plus dans la vie et d'autres un peu moins. Merci à vous tous pour votre merveilleux soutien en ces temps de grande nécessité.

-staz

  © 2000 Pix&Mix  
  Tous droits réservés
INFO  |  ACQUÉRIR |  PLAN  |  RESSOURCES

  FutureBASIC est une marque déposée appartenant à Staz Software, Inc et utilisée avec permission.