Hébergé par Ti-Gen      
GFA-Basic On-Calc GFA Basic On-Calc!     
Bienvenue sur le site de GFA-Basic, un langage interprété on-calc pour les TI89/89T/92+ & V200.
Ce site a pour objectif de regrouper un ensemble d'outils et de documentations pour vous permettre de mieux exploiter ce langage sur votre calculatrice.

 
Menu général
News
Le manuel
FAQ (Foire Aux Questions)
Téléchargements
GFA-Basic Editor
Forum
Historique
A Propos...
Contacts

Administration

Partenaires




Compteur live
Compteur de visites Compteur pages rank




    
Introduction
Instructions et fonctions


Cette partie contient la description de toutes les instructions et fonctions disponibles, pas forcément dans l'ordre alphabétique. Il se peut que certaines instructions ou fonctions soient différentes du GFA Basic sur ATARI ST. Ce manuel fera la distinction.

La différence entre instruction et ordre, qui avait un sens historiquement, est désormais levée (Il était d'usage d'appeler ordre ce qui concernait le mode direct et qui contribuait à l'élaboration des programmes). Les instructions, par contre, s'utilisaient à l'interieur d'un programme. Comme toutes les instructions peuvent être employées aussi bien en mode direct que dans un programme, cette distinction n'est plus necessaire).

La description des instructions et des fonctions s'organise en quatre parties.


1- Syntaxe:

Ici est décrit le format de l'instruction ou de la fonction.

Les mots écrits en majuscules sont des mots-clés.

Les expressions entre crochets sont optionnelles, c'est à dire facultatives. Trois petits points "..." indiquent que l'expression qui se trouve avant peut être répétée autant de fois que l'on veut.

Les expressions qui interviennent dans le format de l'instruction sont expliquées dans la suite de la description.


2- Exemple:

Dans cette partie, on présente un exemple simple de programmes.

D'une part, l'exemple doit mettre en évidence les différentes syntaxes possibles de l'instruction.

D'autre part, l'exemple sert à concrétiser l'utilisation de l'instruction ou de la fonction.

Si, après l'explication de l'instruction ou de la fonction, des doutes subsistent quant à son emploi ou son utilitée, il est conseillé de taper et de tester soi-même l'exemple fourni.

Comme certains exemples utilisent des boucles sans fin, il est important de savoir que l'on peut interrompre l'execution d'un programme avec la touche [ON].


3- Fonction:

Décrit en peu de mots quelle est l'utilisation de l'instruction ou de la fonction (c'est-à-dire ce que fait l'instruction ou la fonction).


4- Explication:

Dans cette partie, on explique de façon détaillée ce qu'il est important de connaître pour la mise en application de l'instruction ou de la fonction.

Si on peut préciser le domaine d'application de l'instruction.

  • Instruction I/O (relative aux entrées/sorties).
  • Instruction graphique.
  • Instruction arithmétique.
  • Instruction de structure.
  • ...

    ce dernier sera précisé dans l'en-tête de la description.

    Dans la description concernant les instructions graphiques, nous supposons que la résolution de la calculatrice est en noir & blanc et que la taille de l'écran est de 240 x 128 pixels.

    A noter qu'il existe des constantes, les constantes dynamiques ont un rapport avec le modèle de la calculatrice où le programme est executé et non développé.

    Attention:
    La liste ci-dessous contient énormément d'instructions/fonctions non implantées et est incompléte (certaines fonctions ne sont pas encore documentées mais elles sont implantées dans GFA-Basic).
    Veuillez vous reporter au fichier beta.txt disponible dans le pack pour connaître les instructions/fonctions développées et utilisables.

    Liste des instructions/fonctions
    Instruction arithmétique:
    ADDDECDIVINC
    MULSUB

    Instruction I/O:
    BGETBITBLTBLOAD BSAVE
    BPUTCHAINCHDIRCLEAR
    CLOSEDIRFIELDFILES
    FORM INPUTFORM INPUT ASGETHARDCOPY
    INPUT INPUT #KILLLINE INPUT
    LINE INPUT #LISTLLISTLOAD
    LPRINTMKDIRNAMEOPEN
    OUTPRINT PRINT #PRINT USING
    PUTRELSEEKRMDIRSAVE
    PSAVESEEKWRITE WRITE #

    Instruction graphique:
    ALERTBOXCIRCLECOLOR
    DEFFILLDEFLINEDEFMARKDEFMOUSE
    DEFTEXTDRAWELLIPSEFILL
    GRAPHMODEHIDEMLINEMOUSE
    PBOXPCIRCLEPELLIPSEPLOT
    POLYLINE POLYFILL POLYMARKPRBOX
    RBOXSETCOLORSGETSHOWN
    SPRITESPUT

    Instruction de structure:
    @DO...LOOPEXIT EXIT IF
    FOR...NEXTGOSUBGOTOIF
    ELSEIF ELSE IF ELSE ENDIF
    LOCALON...GOSUBPROCEDUREREPEAT...UNTIL
    RETURNWHILE...WEND

    Instruction:
    ' !ARRAYFILLBMOVE
    CALLCHDRIVECLEARWCLOSEW
    CLRCLSCONTDATA
    DEFFNDEFLISTDEFNUMDIM
    EDITENDERASEERROR
    FILESELECTFULLWGETINFOW
    LETLSETMENUMID$
    MONITORNEWON BREAK ON BREAK CONT
    ON BREAK GOSUBON ERROR ON ERROR GOSUBON MENU BUTTON
    ON MENU GOSUBOPENWOPTION OPTION BASE 0
    OPTION BASE 1PAUSEPOKE DPOKE
    LPOKEPUTQUITREAD
    REMRESERVERESTORERESUME
    RSETRUNSETTIMESOUND
    SPOKE SDPOKE SLPOKESTOP
    SWAPSYSTEMTEXTTITLEW
    TROFFTRONVOIDVSYNC
    WAVE

    Fonction:
    ==ABSARRPTRASC
    ATNBASEPAGEBIN$C:
    CHR$COSCRSCOL CRSLIN
    CVI CVL CVFDATE$
    DFREEDIM?DIR$EOF
    ERREVENEXISTEXP
    FATALFIXFRACFRE
    HEX$HIMEMINKEY$INP
    INP?INPUT$INSTRINT
    LEFT$LENLOCLOF
    LOG LOG10LPOSMAX
    MENUMID$MINMKI$
    MKL$ MKF$MOUSEX MOUSEY
    MOUSEKOCT$ODDOUT?
    PEEK DPEEK LPEEKPOINT
    POSRANDOMRIGHT$RND
    SGNSINSPACE$SPC
    SQRSTR$STRING$TAB
    TANTIME$TIMERTRUNC
    TYPEUPPER$VALVAL?
    VARPTRVDIBASE

    Instruction/Fonction:
    *EXEC

    Constante statique:
    FALSEPITRUE

    Constante dynamique:

    Il y a un total de 250 instructions/fonctions.


    INSTRUCTION I/O BGET

    Non implantée.




    INSTRUCTION I/O BITBLT

    Non implantée.




    INSTRUCTION I/O BLOAD
    BSAVE

    Non implantée.




    INSTRUCTION I/O BPUT

    Non implantée.




    INSTRUCTION I/O CHAIN

    Non implantée.




    INSTRUCTION I/O CHDIR

    Non implantée.




    INSTRUCTION I/O CLEAR

    Non implantée.




    INSTRUCTION I/O CLOSE

    Non implantée.




    INSTRUCTION I/O DIR

    Non implantée.




    INSTRUCTION I/O FIELD

    Non implantée.




    INSTRUCTION I/O FILES

    Non implantée.




    INSTRUCTION I/O FORM INPUT

    Non implantée.




    INSTRUCTION I/O FORM INPUT AS

    Non implantée.




    INSTRUCTION I/O GET

    Non implantée.




    INSTRUCTION I/O HARDCOPY

    Non implantée.




    INSTRUCTION I/O INPUT
    INPUT #



    Syntaxe: INPUT [AT(x,y);]["texte";(ou ,)]var[,var...]
    INPUT #n,var[,var...]

    Exemple(s): CLS
    INPUT K
    INPUT AT(15,15);"Votre nom ";N$
    INPUT "âge et domicile: ",A,D$


    Fonction: Permet d'effectuer une saisie au clavier pendant l'exécution du programme.

    Explications:

    'texte' est une chaîne de caractères quelconque qui est affichée sur l'écran avant la saisie des données. Ce texte doit toujours être donné entre guillemets.

    'var' est une variable quelconque.

    Quand l'interpréteur rencontre l'instruction INPUT, il interrompt l'exécution du programme et l'utilisateur a la possibilité d'entrer des données. Avec INPUT n#, les données sont lues sur le canal n. Si le texte (facultatif) est présent, il est affiché sur l'écran et le curseur se positionne à droite du texte. Si un point-virgule sépare 'texte' et 'var', le texte est suivi d'un point d'interrogation et d'un blanc. Si 'texte' et 'var' sont séparés par une virgule, l'introduction des données commence immédiatement à droite du texte.

    Si les données introduites ne sont pas du même type que les variables correspondantes, le programme redemande une autre saisie correcte. Si la saisie est effectuée à partir d'un fichier, un message d'erreur est affiché.

    Une chaîne de caractères saisie avec INPUT ne peut dépasser 64 caractères mais cette restriction peut être modifiée.

    Si plusieurs variables suivent l'instruction INPUT, les données introduites doivent être validées une par une.

    A noter que le comportement de cette fonction sur Atari ST est bien différente, sur Atari ST INPUT AT(x,y);... n'est pas autorisé contrairement aux TI68K, de plus sur TI68K il n'est pas possible d'insérer des caractères spéciaux et encore moins de pouvoir revenir en arrière avec les touches de direction pour corriger son texte. Sur Atari ST, l'interpréteur prend en compte dans le texte les virgules et les guillemets ne sont pas mémorisé. Sur TI68K, le texte en entier est sauvegardé en intégralité dans la variable.
    Il faut savoir qu'il est possible de rentrer un nombre en Hexadécimal, Octal ou binaire avec INPUT en respectant le prefixe (&H ou &X ou &O).

    A savoir que INPUT #n n'a pas été encore implantée, seulement la saisie de texte fonctionne.




    INSTRUCTION I/O KILL

    Non implantée.




    INSTRUCTION I/O LINE INPUT
    LINE INPUT #

    Non implantée.




    INSTRUCTION I/O LIST

    Non implantée.




    INSTRUCTION I/O LLIST

    Non implantée.




    INSTRUCTION I/O LOAD

    Non implantée.




    INSTRUCTION I/O LPRINT

    Non implantée.




    INSTRUCTION I/O MKDIR

    Non implantée.




    INSTRUCTION I/O NAME

    Non implantée.




    INSTRUCTION I/O OPEN

    Non implantée.




    INSTRUCTION I/O OUT

    Non implantée.




    INSTRUCTION I/O PRINT
    PRINT #



    Syntaxe: PRINT [AT(x,y)][;][,][expression[,][;][']]
    PRINT #n[,expression[,][;][']]

    Exemple(s): CLS
    A$="GfA"
    B=2005
    PRINT A$'
    PRINT B,
    PRINT A$,B;"GfA"
    PRINT
    PRINT A$'''''B
    PRINT AT(5,10);A$;


    Fonction: Permet d'afficher des données à l'écran ou de les envoyer sur le canal n.

    Explications:

    'expression' est un nombre quelconque d'expressions qui doivent être séparées par des virgules, des points-virgules ou des apostrophes.
    Si deux expressions sont séparées par un point-virgule, elle sont affichées dans la même ligne, directement l'une à la suite de l'autre (cela est également valable pour les nombres, car le BASIC GfA ne met aucun caractère blanc ni devant ni derrière les nombres).
    Si le séparateur de deux expressions est une virgule, un saut à la ligne sera effectuée. Les expressions seront donc affichées sur des lignes différentes.
    Si les expressions sont séparées par des apostrophes, des caractères blancs sont affichés en nombre égal (une apostrophe produit le même effet que ;' ';).
    Si la dernière expression n'est suivie par aucun des trois caractères point-virgule, virgule ou apostrophe, un CRLF (retour chariot avec passage à la ligne suivante) est envoyé (c'est-à-dire que le curseur saute à la ligne suivante).

    Si l'instruction se termine par un point-virgule ou par une apostrophe, le curseur restera en place.

    La partie facultative AT(x,y) permet d'afficher des données à un endroit précis de l'écran. Le nombre de colonnes et de lignes dépend de la résolution de l'écran et de la fonte employée.
    L'écran scrollera si vous affichez quelque chose à la dernière ligne ou à une ligne supérieure.

    A noter que la gestion des fichiers n'a pas était implantée ainsi la gestion de flux par canal ne fonctionne pas.




    INSTRUCTION I/O PRINT USING

    Non implantée.




    INSTRUCTION I/O PUT

    Non implantée.




    INSTRUCTION I/O RELSEEK

    Non implantée.




    INSTRUCTION I/O RMDIR

    Non implantée.




    INSTRUCTION I/O SAVE
    PSAVE

    Non implantée.




    INSTRUCTION I/O SEEK

    Non implantée.




    INSTRUCTION I/O WRITE
    WRITE #

    Non implantée.



        
    Rubriques
    Introduction
    Liste des fonctions
    Tutorial de base
    Optimisations

    Ordre alphabétique
    '
    !

    *
    ==
    @
    ABS
    ADD
    ALERT
    ARRAYFILL
    ARRPTR
    ASC
    ATN
    BASEPAGE
    BGET
    BIN$
    BITBLT
    BLOAD
    BSAVE

    BMOVE
    BOX
    BPUT
    C:
    CALL
    CHAIN
    CHDIR
    CHDRIVE
    CHR$
    CIRCLE
    CLEAR
    CLEARW
    CLOSE
    CLOSEW
    CLR
    CLS
    COLOR
    CONT
    COS
    CRSCOL
    CRSLIN

    CVI
    CVL
    CVF

    DATA
    DATE$
    DEC
    DEFFILL
    DEFFN
    DEFLINE
    DEFLIST
    DEFMARK
    DEFMOUSE
    DEFNUM
    DEFTEXT
    DFREE
    DIM
    DIM?
    DIR
    DIR$
    DIV
    DO...LOOP
    DRAW
    EDIT
    ELLIPSE
    END
    EOF
    ERASE
    ERR
    ERROR
    EVEN
    EXEC
    EXIST
    EXIT
    EXIT IF

    EXP
    FALSE
    FATAL
    FIELD
    FILES
    FILESELECT
    FILL
    FIX
    FOR...NEXT
    FORM INPUT
    FORM INPUT AS
    FRAC
    FRE
    FULLW
    GET
    GET
    GOSUB
    GOTO
    GRAPHMODE
    HARDCOPY
    HEX$
    HIDEM
    HIMEM
    IF
    ELSEIF
    ELSE IF
    ELSE
    ENDIF

    INC
    INFOW
    INKEY$
    INP
    INP?
    INPUT
    INPUT #

    INPUT$
    INSTR
    INT
    KILL
    LEFT$
    LEN
    LET
    LINE
    LINE INPUT
    LINE INPUT #

    LIST
    LLIST
    LOAD
    LOC
    LOCAL
    LOF
    LOG
    LOG10

    LPOS
    LPRINT
    LSET
    MAX
    MENU
    MENU
    MID$
    MID$
    MIN
    MKDIR
    MKI$
    MKL$
    MKF$

    MONITOR
    MOUSE
    MOUSEX
    MOUSEY
    MOUSEK

    MUL
    NAME
    NEW
    OCT$
    ODD
    ON BREAK
    ON BREAK CONT
    ON BREAK GOSUB

    ON ERROR
    ON ERROR GOSUB

    ON MENU BUTTON
    ON MENU GOSUB
    ON...GOSUB
    OPEN
    OPENW
    OPTION
    OPTION BASE 0
    OPTION BASE 1

    OUT
    OUT?
    PAUSE
    PBOX
    PCIRCLE
    PEEK
    DPEEK
    LPEEK

    PELLIPSE
    PI
    PLOT
    POINT
    POKE
    DPOKE
    LPOKE

    POLYLINE
    POLYFILL
    POLYMARK

    POS
    PRBOX
    PRINT
    PRINT #

    PRINT USING
    PROCEDURE
    PUT
    PUT
    QUIT
    RANDOM
    RBOX
    READ
    RELSEEK
    REM
    REPEAT...UNTIL
    RESERVE
    RESTORE
    RESUME
    RETURN
    RIGHT$
    RMDIR
    RND
    RSET
    RUN
    SAVE
    PSAVE

    SEEK
    SETCOLOR
    SETTIME
    SGET
    SGN
    SHOWN
    SIN
    SOUND
    SPACE$
    SPC
    SPOKE
    SDPOKE
    SLPOKE

    SPRITE
    SPUT
    SQR
    STOP
    STR$
    STRING$
    SUB
    SWAP
    SYSTEM
    TAB
    TAN
    TEXT
    TIME$
    TIMER
    TITLEW
    TROFF
    TRON
    TRUE
    TRUNC
    TYPE
    UPPER$
    VAL
    VAL?
    VARPTR
    VDIBASE
    VOID
    VSYNC
    WAVE
    WHILE...WEND
    WRITE
    WRITE #


     


    Copyright © 2004-2005 for Ti-Gen - Geoffrey Anneheim - Tous droits réservés.[Design by : Speedy-Diz]