|
Merci à apdi2003 qui a effectué la traduction française des mises à jour d'iziBasic (jusqu'à la version 6.0)
7.0 (07/28/09) - Bug fix: exponentiation (^) and the POWER() function would return wrong results with negative numbers. For instance, (-5)^3 and POWER(-5,3) returned 4 instead of -125. - Bug fix: starting a variable assignment by the negation of a variable results in a compilation error, for example in the following syntax: A=-C - Bug fix: a Number Stack Overflow occurred when reaching the last value in this stack. - Bug fix: if there was only one choice in a LISTCHOICE statement, the iziBasic runtime would show a [YES]/[NO] selection window instead of no selection window at all. - Bug fix: initial selected numerical index value in the LISTCHOICE and POPUPCHOICE statements when the selection list was pointing on the A$() array. - The compiler now detects when a THEN is forgotten in a IF statement. - GPRINT now manages Black & White screen (for those of you who are still targeting "antic" devices!) - SAVEPREF now deletes the unused preference when the passed argument is an empty string. Since LOADSTRING will return the same empty string upon loading an existing empty preference or a non existing preference, this way of doing saves room in the Saved Preferences database. - iziBasic now memorizes the parameters passed in the FINDFIRST$() function, so they are not needed anymore in the FINDNEXT$() function which was revised to the simple FINDNEXT$ format. - Added InfraRed and Serial communications management with new statements: OPEN IR and OPEN COM. Files statements (CLOSE #, PRINT # and INPUT #) were upgraded to work with InfraRed and Serial communications. - Added statements to manage Network communications with a new statement: OPEN NET. Related MegaString files statements (CLOSE #, PRINT$$ # and INPUT$$ #) were upgraded to work with Network communication. - Added a new HTTPGET$$ statement, to deal with reading HTTP web pages. - Added the ADDSTRING$$ statement to easily concatenate strings in the MegaString. - Added a new RUN$$ statement to pass structured data to the called program, when the RUN statement would only allow passing a standard ended CHR$(0) string. - Added Palm's 5 Way Navigation detection, new events values are returned by the DOEVENTS and WAITEVENT statements. - Added management of scroll / caret position in fields thanks to 2 new statements: FIELDSCROLL and FIELDPOS. - Added a new LABEL$() function to retrieve an object's label. - Added Palm's 320x480 screen mode detection and management. The DOEVENTS and WAITEVENT statements return a new event value upon screen mode change, and the SETRES statement and HIGHRES() function were extended to manage this new screen mode. - Corrected a bad s|t parameter explanation to the right one being c|t in the user manual for PUTCHAR$$ and PUTSTRING$$. - Updated the NekoCat sample application so as to be able to move the cat's food using Palm's 5 Way Nav and to benefit from the 320x480 screen mode. - Updated the iBPlot sample application to benefit from the 320x480 screen mode. - Added 2 new sample applications: iBIrHello (showing how to exchange data between two devices by InfraRed) and iBHttpGet (showing how to retrieve a web page).
6.1 (09/17/07) (à traduire) - Major bug fix: data stacks management (as implemented in version 5.0) would cause device freezes or soft resets on some devices and various other side effects. All developers should put on the market a new version of their applications compiled with this new version 6.1. - Bug fix: in the console mode, a device freeze could occur when trying to display more than 64 characters on the same line. - Bug fix: the WORD$ function would return an empty string for the last word if the last word was only one character long. - Bug fix: the SCROLLBAR function would cause the Palm TX to crash into the black void of doom and reset. - The COPY statement now preserves the records' unique ID, which is normally used only during synchronization with the desktop to track records on the Palm OS device with the same records on the desktop system but which has also proven to be used by some 3rd party applications (thanks to doeni for reporting). - User manual fix for the COLORRGB function. CORLORRGB returns Red-Green-Blue gradients in this order and not Red-Blue-Green as previously indicated. - Added the PROCESSEVENTS statement, which does the same thing as FLUSHEVENTS, that is processing events in case the events queue gets saturated. - Added the FLUSHQUEUE statement, which flushes the pen and key queues (thanks to JoeV for the suggestion). - Added 2 new options to the compiler: one to always replace an existing target file without asking first and one to launch the execution of the application right away after a successful compilation (thanks to Dave for the good idea). - Added a new sample application, so called iHeadAche, and upgraded the tinyBasic sample application. These are two interpreters for two development languages made with iziBasic in 2006 as entertainment projects. - Added a pack of 3rd party "PP applets", made available in 2006 as a separate download. - Added Txt2LionDoc as an alternative to MakeDoc, for converting text files to Palm DOC files, in the appendix about how to develop an iziBasic project on a Windows PC using the PsPad or the ConTEXT editors
6.0 (04/11/05) - Bug fixé : iziBasic pouvait planter au démarrage si la base Memo Pad n'avait pas été initialisée en lançant au moins une fois l'application Memo Pad. - Bug fixé : en haute résolution, les 20 lignes de texte en mode console (introduites en v4.0) ne défilaient pas toujours correctement après une instruction INPUT . - Bug fixé : l'instruction de console CLS pouvait dans un cas particulier ne pas effacer l'écran. Au passage optimisation de l'instruction PRINT. - Bug fixé : l'instruction END, pouvait éventuellement entrer dans une boucle sans fin obligeant au soft reset quad elle était incluse dans une boucle (IF, WHILE…),. - Bug fixé : quand le Creator ID facultatif de destination n'était pas spécifié, COPY pouvait utiliser le Creator ID de iziBasic (“LDIB”) pour le fichier destination à la place du Creator ID du fichier source. - Bug fixé : COPY pouvait provoquer une erreur fatale conduisant à un soft reset en cas de tentative de copie d'un fichier vide. - Bug fixé : le suivi de l'existence ou non dans l'écran principal n'était pas toujours assuré correctement dans la machine virtuelle ; cela pouvait conduire à un crash du système lors de l'utilisation d'écrans personnalisés (ouverts à l'aide de l'instruction OPENFORM). - Bug fixé : l'instruction DESTROY appliquée à NUMFIELD, TEXTFIELD ou TEXTFIELD$$ libère maintenant le contenu en mémoire. - Bug fixé : un memory leak était généré (seulement un warning dans le Palm OS Emulator quand l'option de contrôle adéquate était choisie) en quittant une application à l'aide des menus, mais sans effet de bord dans la machine réelle. - Bug fixé : l'appel de SETFONT avec une des valeurs 128 ou 129, ou avec les valeurs 130 ou 131, n'était pas traité correctement. - Amélioration de l'intégration de RESOURCEFILE en regardant l'existence de ressources dupliquées. Les ressources en double ne sont plus ajoutées à l'application et un message d'alerte est affiché. - Bug fixé : LTRIM$, TRIM$ et RTRIM$ pouvaient éventuellement entrer dans une boucle sans fin obligeant au soft reset si la chaîne passée en paramètre était vide. - Bug fixé : les objets ne sont plus limités à la plage [1..255] et peuvent maintenant être pris dans la plage [1..999] comme indiqué dans la documentation. - Amélioration de la fonction VAL en considérant les espaces résiduels (“ “) comme des zéros, ainsi VAL(“ 10”)=VAL(“010”)=10. Auparavant, un caractère espace était pris comme un caractère alpha si bien que VAL(“ 10”) retournait la valeur zéro. - Extension de l'instruction INPUT de 23 à 63 caractères. - Optimisation: si on n'utilise pas une ABOUTBOX personnalisée, ses ressources ne sont plus intégrées dans l'application compilée. - Extension du champ des instructions CLOSEFORM et OPENFORM afin qu'elles puissent agir sur l'écran principal (celui qui est construit et affiché par défaut au lancement de l'application). - Ajout d'un assistant “Source Code Skeleton generator” dans les Options. - Ajout d'une autre nouvelle option permettant la pause de la compilation en cas de chaînage de codes source (instruction CHAIN). - Ajout d'une nouvelle instruction POPUPCHOICE, très similaire à l'instruction existante LISTCHOICE, pour gérer de “vraies” listes popup (conformes aux règles Palm GUI). - La liste des éléments d'une instruction POPUCHOICE ou LISTCHOICE peut maintenant être donnée sous la forme d'un pointeur vers un tableau A$(), commençant à l'index A$(n) et se terminant au premier élément vide. - Ajout d'une nouvelle instruction UPDATECHOICE pour permettre le changement de la liste d'éléments d'un objet POPUPCHOICE ou LISTCHOICE . - Juste pour signaler cette petite amélioration collatérale, la liste de choix des sources iziBasic à compiler est redessinée pour s'accorder au nombre de sources réelles s'il est inférieur à 12. - Une autre amélioration cosmétique : la boite ‘A propos' affiche par défaut “Your Application is powered by iziBasic” au lieu de “Your Application was built with iziBasic”. - Deux instructions SELECT CASE / END SELECT ou plus peuvent maintenant être imbriquées. - Implémentation de l'objet SCROLLBAR. Mise à jour des instructions et fonctions GUI existantes impactées par ce nouvel objet (DESTROY, HIDE, SHOW et UPDATEVALUE). - Ajout de nouvelles instructions TEXTFIELD$$ et GETFIELD$$ pour gérer les champs étendus avec la ‘MegaString'. - La lecture d'enregistrements effacés dans un fichier de données ne provoque plus un FILEERROR mais retourne une valeur vide, chaine ou ‘MegaString'. C'est plus pratique lors de la lecture d'un fichier de données en mode INPUT. - Amélioration des instructions de lecture et écriture de la ‘MegaString', INPUT$$ et PRINT$$ avec un nouveau paramètre optionnel permettant de lire ou écrire des blocs de données définis par leur taille et pas seulement des données terminées par le caractère CHR$(0). - Ajout des nouvelles instructions FIELDCOPY, FIELDCUT, FIELDPASTE et FIELDUNDO dans le module GUI pour gérer les champs. - Ajout d'une nouvelle fonction GETFOCUS dans le module GUI. - Implémentation d'une première instruction pour la connectivité, en commençant par la transmission de fichiers par IR (InfraRouge). Cette instruction s'appelle BEAMFILE. - Optimisation de la gestion des ‘fatal errors' dans la machine virtuelle. - Ajout d'une nouvelle annexe (#9) au manuel utilisateur pour montrer des façons de travailler sur des sources iziBasic avec un Windows PC ou toute machine Windows/Linux/Mac. - Ajout du nouvel éditeur ViziBasic à la liste des options d'éditeurs disponibles et paramètrage du lien permettant la compilation automatique des codes source générés par ViziBasic (ViziBasic est un nouvel add-on à iziBasic). - Mise à jour du programme exemple iBAddress pour utiliser la nouvelle instruction POPUPCHOICE. - Retrait d'une ligne inutile dans le code source de iBClock. - Bug fixé : la boite de sélection des vignettes est rafraichie quand on choisit les valeurs par défaut dans les options du programme exemple NekoCat. - Ajout d'un nouveau programme exemple complet : tinyBasic. C'est un petit interpréteur Basic en mode console écrit en iziBasic ☺ Jetez aussi un coup d'œil au nouveau programme exemple Memo2tinyBas en mode GUI développé pour faciliter la frappe et le chargement des sources en tinyBasic. - Ajout également d'un petit code source exemple, IBDim2, qui est une illustration de la façon dont on peut travailler avec des tableaux à 2 dimensions en iziBasic, tels que Array(10,5), alors que iziBasic offre "seulement" l'accès à des tableaux A(n) à 1 dimension.
5.2 (05/24/05) - Bug fixé : la fonction SQRT retourne à nouveau des valeurs correctes (ceci était une régression depuis quelque(s) version(s) de iziBasic due à un changement dans le compilateur PP non reporté dans la librairie “Math library” utilisée pour compiler iziBasic) - “très coriace” bug fixé : le programme compilé pouvait se bloquer ou provoquer un soft reset dans quelques cas très particuliers. Ceci était dû à un bug dans la phase finale d'optimisation du code compilé (j'ai mis un mois à imaginer cette hypothèse, c'est pourquoi je qualifie ce bug de “très coriace”...) - Bug fixé : l'instruction SELECT CASE / END SELECT ne fonctionnait qu'avec les variables A-Z et A$-Z$ , et pas avec les variables numériques ou chaînes de plus d'un caractère définies avec l'instruction DIM -Bug fixé : UPDATEVALUE ne fonctionnait pas avec certains objets de l'interface graphique GUI (PUSHUBUTTON et CHECKBOX) après un UPDATETEXT - Bug fixé : UPDATEFIELD ne libérait pas une partie de la mémoire utilisée - Bug fixé : toute action sur des objets d'un masque ouvert par OPENFORM provoquait un crash sauf si un FLUSHEVENTS ou une boucle (DOEVENTS, WAITEVENT) était lancé juste après l'instruction OPENFORM - Ajout d'une nouvelle directive de compilation {INCLUDE t}, pour inclure une source dans une autre et permettre au compilateur iziBasic d'analyser les codes sources en conséquence - Ajout du support pour des variables globales dans ce qu'on appelle “PP applets”, jusqu'à 256 bytes de variables globales (256 bytes semble suffisant mais peut facilement être augmenté en cas de demande) - Ajout d'un nouveau programme exemple pour démontrer l'utilisation de la librairie freeware CPDB library (http://cpdb.ppcompiler.org/) à l'aide d'un “PP applet”
5.1 (04/04/05) - Bug fixé : la compilation pouvait échouer dans certains cas lorsque iziBasic n'était pas installé en utilisant la procédure standard HotSync mais en utilisant des outils d'installation de tierces parties (RescoExplorer dans le cas en cause). - Bug fixé : dans certains cas, le compilateur générait un défaut d'alignement entre le tableau A() et les variables %var% (variables numériques de plus d'un caractère) dans la pile et, sans véritable surprise, le même bug affectait le tableau A$() et les variables %var$ (variables chaînes de plus d'un caractère). - Bug fixé : maintenant les nombres et les chaînes de plus d'un caractère (%var% and %var$) peuvent être passés entre des programmes CHAINés et sont donc considérés comme des variables globales au même titre que les variables par défault A-Z et A$-Z$. - Bug fixé : dans le cas où un commentaire était ajouté avec un caractère “ ‘ ” devant un séparateur d'instructions “ : ” (donc, la séquence “ ': ”), le commentaire était ignoré et la compilation donnait des résultats imprévisibles. - Les évènements ouverture et fermeture de menu sont maintenant détectés. La fonction MENUITEM retourne 0 si le menu vient juste d'être ouvert et -1 si le menu vient juste d'être fermé. - Extension des possibilités de l'instruction FLUSHEVENTS par ajout d'un nouveau paramètre facultatif. - Mise à jour de l'auto-repétition de la boucle de gestion des évènements attachés aux boutons matériels dans la machine virtuelle iziBasic. - Ajout d'un code d'optimisation final dans la routine d'évaluation mathématique (en présence de la directive de compilation {PARSER ON}) permettant une réduction de la taille de l'application et une plus grande vitesse d'exécution. - Ajout de raccourcis clavier pour lancer différents contrôles dans l'interface iziBasic. - Avec ScrEdit, iziBasic peut savoir quel est le code source à compiler, démarrer automatiquement la compilation (sans avoir besoin de cliquer sur le bouton [Build it]) et restituer à SrcEdit le numéro de ligne d'une errreur de compilation éventuelle (mais pas le message d'erreur lui-même car SrcEdit ne fournit pas cette information) pour lui permettre d'ouvrir le code source directement sur la ligne en cause. - Ajout de signets (bookmarks) dans le manuel utilisateur pour un accès beaucoup plus commode à la documentation. (NB: dans la version anglaise du manuel seulement)
5.0 (02/23/05) - Bug fixé : si la police haute résolution de console n'était pas trouvée et que la machine avait un écran haute résolution, l'espacement vertical entre les lignes n'était pas géré correctement. - Bug fixé : la fonction EOF ne retournait pas toujours correctement l'atteinte de la fin de fichier. - Bug bizarre fixé, spécifique à Palm OS 5 occasionnant un crash (les versions antérieures de Palm OS n'étaient pas affectées) lors de la manipulation d'ojets du GUI. - Bug fixé dans la routine d'évaluation mathématique : les calculs avec AND, MOD, OR et XOR suivis par une parenthèse ouvrante provoquaient une erreur de syntaxe alors que l'expression à évaluer était sémantiquement correcte. - Bug fixé : dans certains cas, le compilateur de iziBasic était trop tolérant avec le contrôle du caractère de séparation d'instructions (:) et pouvait permettre à des instructions de ne pas être séparées par ce caractère (alors des choses comme l'instruction Pascal “WHILE test DO” étaient acceptées). - Découpe de la machine virtuelle iziBasic ( ~68 KB en version 4.2) en plusieurs modules indépendants, de façon à diminuer la taille des programmes. A part le noyau (~36 KB), les autres modules ne sont installés dans l'application que si c'est nécessaire. - Passage pour la machine virtuelle iziBasic d'une architecture 8 bits (construite au démarrage du projet iziBasic !) vers une architecture 16 bits. - Juste pour information, les deux changements évoqués ci-dessus ont demandé une révision complète de toute la structure de iziBasic et du code source ! - Le changement d'architecture m'a permis d'étendre de façon considérable la taille des piles de données. Les limites sont maintenant celles de la RAM dynamique disponible sur la machine et de la version de Palm OS alors qu'elles étaient auparavant déterminées par la RAM dynamique disponible sur une machine Palm OS 3.0. La taille est gérée par la directive de compilation MINOSVERSION et la quantité de mémoire de la machine de développement. - Mise à jour de l'instruction POKE et des fonctions FRE et PEEK pour accompagner le changement d'architecture. - iziBasic réserve maintenant l'espace nécessaire dans la pile des nombres pour la directive de compilation PARSER ON au lieu de prendre de l'espace dans la pile libre au dessus de FRE(4). La mémoire utilisée par PARSER dans la pile des nombres est donnée pour information entre crochets dans le rapport de compilation. - Réécriture de l'instruction IF pour éliminer sa limitation précédente à n'accepter de GOTO que dans le même bloc d'instructions THEN / ELSE, THEN / ENDIF or ELSE / ENDIF. Par un effet de bord plutôt sympathique, l'instruction IF est exécutée beaucoup plus rapidement dans la machine virtuelle iziBasic. Pour donner une idée de l'accroissement de vitesse, le benchmark Bench2 (cf. les codes source des programmes exemples) relève une diminution de ~30% du temps d'exécution par rapport au même programme compilé avec la version 4.2 de iziBasic. - L'exécution des instructions SELECT CASE / END SELECT, REPEAT / UNTIL, WHILE / WEND, FOR / NEXT dans la machine virtuelle iziBasic a également été optimisée. - Implémentation de noms de variables numériques et chaînes avec plus d'un caractère de long (disponibles en plus de A-Z et A$-Z$) par extension de l'utilisation de DIM pour définir ces variables. - Extension de la pile des labels (et des nouvelles variables, cf. supra) à 255 items (70 items auparavant). - Pour être homogène avec les autres dialectes Basic et le reste de iziBasic, les labels ne sont plus sensibles à la casse, ce qui signifie que _MyLabel et _MYLABEL ne sont plus différents. - Ajout d'une vérification finale dans le compilateur pour les labels non définis (cas d'un GOSUB ou GOTO pointant vers un label qui ne sera jamais déclaré). - Les instructions ABOUTBOX et MENU peuvent maintenant être définies et changées dynamiquement à l'exécution. - Amélioration de l'instruction LISTCHOICE dans le module GUI pour accepter les indices dans la sélection initiale et de l'instruction UPDATEVALUE dont l'usage est étendu à LISTCHOICE. - Ajout des nouvelles instructions OPENFORM, CLOSEFORM, SETFOCUS et KEYBOARD dans le module GUI. - Ajout d'une nouvelle instruction SETRES dans le module Graphiques. - Ajout d'une nouvelle instruction SOUND dans le module Sound. - Ajout d'un nouveau paramètre PARTIAL dans la directive de compilation KEYEVENTS. - Ajout d'une nouvelle directive de compilation CONSOLEFONT pour permettre une diminution éventuelle de 7 KB de la taille d'une application. - Extension de la directive de compilation SECUREFILES. Quand elle est mise à OFF, si un fichier est créé par OPEN, il le sera avec le Creator ID de l'application tel que défini dans la directive de compilation CREATORID. - Ajout d'une nouvelle annexe (#8) dans ce manuel pour expliquer la structure mémoire de iziBasic. - Mise à jour du programme exemple iBAddress pour tirer profit des nouvelles instructions SETFOCUS et KEYBOARD. - Bug fixé dans le programme exemple Matches: l'option “no animation” ne fonctionnait plus depuis l'ajout du bruit de crépitement dans la version 4.0
v4.2 (19/01/05) - Bug fixé : MENU faisait bien apparaître une fenêtre mais ne réagissait pas à la demande de l'utilisateur dans le cas d'un clic dans le titre - Bug fixé : la navigation dans le MENU ne s'effectuait pas suivant les standards avec les boutons haut et bas - Recherche poussée d'erreurs de syntaxe dans différents points du compilateur - Extension de l'instruction GPRINT pour lui donner la possibilité d'écrire des caractères dans une couleur tout en ayant une autre couleur de fond - Ajout d'une nouvelle fonction PGET dans le module Graphiques - Ajout d'une nouvelle instruction UPDATEVALUE dans le module GUI, pour permettre la mise à jour de l'état des CHECKBOX et PUSHBUTTON et modification de la source du programme exemple NekoCat pour exploiter ces nouvelles fonctionalités. - Une nouvelle fois j'ai intensivement remanié le code de iziBasic pour obtenir une nouvelle réduction de 2% de la taille du code de la machine virtuelle et une amélioration de la vitesse d'exécution. - Apdi2003 a de nouveau établi la version française de ce manuel
v4.1 (14/01/05) - Bug fixé : le groupe d'instructions SELECT CASE v|c / CASE n|t / CASE ELSE / END SELECT ne pouvait être utilisé qu'une seule fois dans un code source - Bug fixé : MENU ne fonctionnait pas correctement - Bug fixé : dans certaines machines tournant sous Palm OS 5 mais pas toutes, les mouvements du stylet n'étaient pas suivis correctement (bug de Palm OS 5 sur penMoveEvent ?) - Ajout d'un nouveau tutorial – construction et intégration de ressources (Annexe #5), dans ce manuel utilisateur. Merci à Mike Featherstone pour l'avoir écrit. C'est formidable de recevoir de telles contributions des utilisateurs - Ajout également d'icones haute résolution pour iziBasic. Et de nouveau c'est une très aimable contribution de Mike Featherstone. Merci à vous Mike. - Apdi2003 a très aimablement assuré la traduction française du manuel utilisateur de la version 4
v4.0 (04/01/05) - Bug fixé : l'appel de ABOUTBOX retournait un événement de valeur 0 dans DOEVENTS, ce qui était attendu et aussi dans WAITEVENT, ce qui ne l'était pas. Désormais il retourne la valeur 1002 - Bug fixé : COPY retournait une Alerte Fatale (avec soft reset!) quand on copiait un fichier avec des enregistrements vides à détruire pendant la prochaine HotSync - Les nombres peuvent maintenant être passés en notation exponentielle ( [-]n.nnnnnnne[-]nn ) - ajouté une fonction CALLPPARM$ qui donne accès aux ARMlets de PP depuis un programme iziBasic. Cela ouvre de grandes possibilités pour des routines ultra rapides ! - Implementation d'une “MegaString” de 4 Kbytes de longueur. Cela permet de lire et écrire des enregistrements de plus de 63 caractères. En conséquence, j'ai ajouté : les instructions CLEAR$$, INPUT$$, PRINT$$, PUTCHAR$$ et PUTSTRING$$ et les fonctions LEN$$, GETCHAR$$ et GETSTRING$$ - Implementation des nouvelles fonctions fichier FINDFIRST$ et FINDNEXT$ - Amélioration de l'instruction RUN avec un nouveau paramètre facultatif pour passer au programme de destination et implementation d'une fonction RUN$ pour récupérer ce paramètre - Ajout d'une nouvelle directive de compilation {SECUREFICHIERS ON|OFF} et mise à jour de l'instruction OPEN pour tenir compte de cette nouvelle option - Implementation de directives de compilation conditionnelle {DEFINE t}, {IFDEF t}, {IFNDEF t} et {ENDIF} - Mise à jour technique pour passer les ressources iziBasic de “tSTR” à “iBas” (ce changement n'a pas d'incidence pour les programmeurs iziBasic) - Ajout d'une nouvelle instruction ADVICEBOX dans le module GUI pour afficher des ressources “tSTR” - Mise à jour de l'instruction SETFONTpour avoir la possibilité de travailler avec des polices personnalisées et implémentation d'une nouvelle fonction FONTWIDTH - Dans le module GUI, implementation d'une instruction MENU et d'une fonction MENUITEM - Implementation des instructions SELECT CASE v|c / CASE n|t / CASE ELSE / END SELECT dans le module Noyau - Implementation d'un nouveau paramètre facultatif pour l'instruction INPUT, qui permet de recupérer directement une saisie utilisateur sur la ligne de saisie et qui n'ouvre pas le champ de saisie par défaut et le bouton d'attente - Changement de la police système au profit d'une police personnalisée à espacement fixe et extension de l'affichage écran à 13 lignes de texte en basse résolution et 20 lignes de texte en haute résolution (auparavant, c'était 11 lignes de texte quelle que soit la résolution d'écran). - Implementation d'une nouvelle instruction GPRINT dans le module Graphiques - Implementation d'une nouvelle instruction PLAYWAVE dans un nouveau module Sound - Réorganisation massive du code source qui a conduit à une diminution de 10% de la taille de la machine virtuelle, en dépit de l'ajout de toutes les nouveautés de cette nouvelle version ! - Ajout du bruit de crépitation des allumettes enflammées dans le programme exemple Matches - Mise à jour du programme exemple NekoCat pour exploiter les images haute résolution - Ajout d'un nouveau programme exemple d'interface graphique avec son code source intégral : iBChristmas - Bien que ce ne soit pas directement centré sur iziBasic, j'ai travaillé à l'extension de PIAF (l'éditeur de DOC de PP) pour le rendre apte à éditer les sources iziBasic (avec coloration syntaxique) et à lancer la compilation. Cela a représenté une bonne part de mon travail sur le projet iziBasic ! - Avec PIAF, iziBasic peut maintenant recevoir de PIAF quel code source doit être compilé, démarrer automatiquement la compilation (sans avoir besoin d'appuyer sur le bouton [Build it]) et envoyer en retour à PIAF la ligne où une erreur de compilation a pu se produire avec le message d'erreur de telle sorte que PIAF puisse ouvrir la source directement sur la ligne incriminée en surlignant le message d'erreur. - A la requête de beaucoup d'utilisateurs, j'ai entrepris un travail d'esclave (je ne suis pas sûr de cette traduction du franglais, j'aurais plutôt dit Travail de romain NdT)!) sur ce manuel utilisateur pour donner des descriptions et des explications sur toutes les instructions et fonctions et également une liste alphabétique de référence de tous les mots réservés. En conséquence, le nombre de pages a plus que doublé.... j'espère que ce travail sera utile !
v3.2 (15/12/04) - Bug fixé : ABOUTBOX ne fonctionnait pas correctement avec les variables chaînes (A$-Z$) - Bug fixé : STR$(v|n , v|n) ne retournait pas la bonne chaîne pour les valeurs comprises dans l'intervalle ]-1..0[ - Bug fixé: la compilation s'arrêtait et bloquait si un dépassement de pile survenait - Correction de quelques erreurs mineures de typographie dans ce manuel utilisateur
v3.1 (02/12/04) - Bug fixé : dans un cas extrême, qui semblait dû au hasard, la compilation se terminait sur une erreur de syntaxe avec des caractères aléatoires - Bug fixé : l'instruction IMAGE peut maintenant utiliser les images fournies par défaut ; cf l'instruction IMAGEBUTTON - Les évènements stylets sont maintenant détectés par les fonctions DOEVENTS et WAITEVENT - Ajout d'une nouvelle directive de compilation {KEYEVENTS ON|OFF} - DOEVENTS et WAITEVENT sont maintenant capables de rendre compte du bouton physique actionné si la directive de compilation KEYEVENT est active. Ils prennent pour boutons #1, #2, #3, #4, le bouton Hotsync de la station, Page précédente et suivante et marche/arrêt - Etendu le système général de gestion des évènements - l'interprétation du second v|n dans MID$(c|t , v|n , v|n) a été changée pour être compatible avec les autres dialectes Basic : il représente maintenant le nombre de caractères (ou longueur) et non plus la position du dernier caractère et les codes-source des programmes exemples ToDos, iBAddress, iBClock et Numerus ont été revus en conséquence - 3 nouvelles constantes prédéfinies ont été ajoutées : FALSE, TRUE et pour la beauté du geste MAYBE - n (nombre) peut maintenant être une constante prédéfinie - dans ce manuel une astuce a été ajoutée sous forme de remarque conseillant de préfixer les étiquettes (labels) avec un caractère particulier (soulignement) ou un ensemble de caractères qui évitent d'avoir des étiquettes commençant par un mot reservé. Les codes-source de tous les programmes exemples ont été revus en conséquence - ajout dans ce manuel d'une mise en garde concernant l'utilisation d'un GOTO à l'intérieur d'une instruction IF - ajout d'un nouveau programme exemple à interface graphique avec son code source intégral : NekoCat
v3.0 (22/10/04) - Bug fixé : COS(0.8) retournait une erreur fatale dans les machines tournant sous Palm OS < 5 (et pas dans l'emulateur !), merci à Ken qui m'a rapporté l'erreur. Ce bug était dû à un bug du compilateur PP, bug qui a été réglé par le brilliantissime auteur de PP… si bien que je n'ai eu qu'à recompiler iziBasic averc la dernière version de PP - Ajouté la directive de compilation {PARSER ON|OFF} et les possibilités de préséance mathématiques - Ajouté les nouveaux opérateurs booléens : = <> > >= < <= - Changé les fonctions POP et POP$ au profit d'une instruction POP - Ajouté les instructions HIDE, SHOW et TITLE dans le module GUI, (interface graphique) de même qu'une nouvelle fonction NOTICEBOX - Ajouté les instructions CLIPBOARDGET et CLIPBOARDPUT, ainsi que les fonctions BATTERYINFO and HOTSYNCINFO$ dans un nouveau module System - Transféré la fonction GETOSVER$ dans le nouveau module System - Ajouté les fonctions INSTRING, CHAR$ et WORD$ dans le module des fonctions principales - Ajouté les instructions RSORT A, RSORT A$, SORT A et SORT A$, ainsi que les fonctions MEAN A, MIN A, MAX A et SUM A dans le module Tableaux - Ajouté la constante EXP - Ajouté les instructions DO / LOOP, qui ont le même résultat que REPEAT / UNTIL mais que certains utilisateurs d'autres dialectes préfèrent - Comme promis dans la v2.0 (voir ci-dessous le texte en italique dans l'historique de la v2.0 – paragraphe Optimisation), j'ai optimisé la machine virtuelle et le compilateur pour toutes les fonctions, pour une empreinte plus réduite de la machine virtuelle, des codes exécutables plus concis et une exécution plus rapide des programmes - Vérifié la compatibilité avec Palm OS 6 : iziBasic est compatible Palm OS 6 ☺ - Ajouté un Tutorial en annexe – mon premier programme iziBasic dans ce fichier de documentation, pour aider les utilisateurs débutants à écrire leur premier programme iziBasic - Effectué différentes mise à jour dans plusieurs programmes exemples : iBClock, Matches (anciennement iBMatches) et Numerus (anciennement iBNumerus) - Ajouté 2 nouveaux programmes exemple qui lisent et affichent les titres de Memo et la listeTo Do (avec priorité, status et date d'échéance) des applications intégrées Memo Pad et To Do
v2.0 (04/09/04) - Bug fixé : ABOUTBOX accepte maintenant correctement de 1 à 3 chaînes en paramètres, alors qu'il ne fonctionnait qu'avec 3 paramètres - Bug fixé : dans certains cas extrêmes, iziBasic crashait au lancement - Amélioration : le flag de backup est maintenant posé par les instructions de création de fichiers, afin que les fichiers de données créés par un programme iziBasic soient sauvegardés sur la machine de bureau - Amélioration : le flag de backup est aussi posé pour les programmes compilés avec iziBasic, ainsi vos magnifiques créations sont envoyées sur votre ordinateur au cours de la prochaine hotsync - Amélioration : les valeurs PENX and PENY sont maintenant mises à jour quand le stylet touche l'écran et quand il se déplace sur l'écran (auparavant c'était seulement quand il quittait l'écran). Une fonction PENDOWN a été ajoutée pour suivre le status du stylet - Optimisation du moteur de compilation de iziBasic qui construit des codes executables plus concis (le p-code généré est ~30% plus petit en moyenne) et de la machine de iziBasic qui tourne plus vite le benchmark Bench1 retourne un accroissement de vitesse de 4.7% le benchmark Bench2 retourne un accroissement de vitesse de 3.4% Note : d'autres optimisations peuvent être attendues dans une version future quand je trouverai d'autres domaines d'amélioration - Ajouté quelques nouvelles fonctions mathématiques : ACOS, ASIN, DEGREE, LOG, POWER, RADIAN Note : d'autres fonctions mathématiques peuvent être rendues disponibles (telles que CosH, ArcSinH, DMS2Deg, Rad2DMS, etc…).suivant les demandes ☺ - Ajouté la fonction CALLPP$, qui est une fonctionnalité d'appel de segments de code PP qui ouvrent toutes les possibilités du développement Palm par accès direct aux APIs de Palm OS (en d'autres termes, vous pouvez maintenant inclure des “applets PP” dans un programme iziBasic) - Ajouté la fonction COLOR(v|n) pour récupérer les couleurs de fond et d'avant plan - Ajouté la fonction WAITEVENT - Ajouté les objets GRAFFITISHIFT, PUSHBUTTON et TEXTSELECTOR - Ajouté les instructions UPDATEFIELD, UPDATELABEL, UPDATEPOS et UPDATETEXT - Améliorations de l'interface : - iziBasic se souvient maintenant du nom du dernier code source compile, ce qui facilite la compilation et l'essai du programme - si la compilation est réussie, iziBasic propose maintenant d'exécuter le programme qui vient d'être compilé - ajouté un bouton pour lancer votre éditeur préféré (Memo Pad ou un de ces éditeurs de DOC : PIAF, QED, SiEd, SrcEdit) - Mise à jour et à niveau de ce fichier de documentation dans bien des domaines - Nombreuses ameliorations dans les programmes exemples et ajout d'un nouveau code source de démo iBHelloPP
v1.0 (22/07/04) - version initiale pour Palm OS
Date de création : 24/01/2005 @ 21:42
Dernière modification : 30/07/2009 @ 21:04
Catégorie : V. iziBasic Palm
|
|