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 ARITHMéTIQUE ADD



    Syntaxe: ADD var,n

    Exemple(s): CLS
    T=TIMER
    FOR I%=1 TO 10000
      ADD A%,5
    NEXT I%
    PRINT (TIMER-T)/200
    A%=0
    T=TIMER
    FOR I%=1 TO 10000
      A%=A%+5
    NEXT I%
    PRINT (TIMER-T)/200


    Fonction: Additionne n à la valeur de var.

    Explications:

    'var' doit être une variable numérique ou un élément d'un tableau numérique. 'n' est une expression numérique.

    ADD var,n est identique à var=var+n. L'avantage de l'instruction ADD réside dans la vitesse d'execution (testez l'exemple!). Ainsi l'utilisation de ADD permet d'augmenter sensiblement la vitesse d'execution, qui par ailleurs est déjà très grande.




    INSTRUCTION ARITHMéTIQUE DEC



    Syntaxe: DEC var

    Exemple(s): CLS
    T=TIMER
    FOR I%=1 TO 10000
      DEC A%
    NEXT I%
    PRINT (TIMER-T)/200
    A%=0
    FOR I%=1 TO 10000
      A%=A%-1
    NEXT I%
    PRINT (TIMER-T)/200


    Fonction: Diminue var de 1.

    Explications:

    'var' doit être une variable numérique ou un élément de tableau numérique. DEC var est identique à var=var-1. L'avantage de l'instruction DEC réside dans son format concis (économie de place mémoire) et surtout dans sa vitesse d'execution (testez l'exemple !). Ainsi, l'utilisation de l'instruction DEC permet d'augmenter de façon sensible la vitesse d'execution qui par ailleur est déjà très élevée.




    INSTRUCTION ARITHMéTIQUE DIV



    Syntaxe: DIV var,n

    Exemple(s): CLS
    DIM A%(10000)
    FOR I=1 TO 10000
      A%(I)=5
    NEXT I
    T=TIMER
    FOR I=1 TO 10000
      DIV A%(I),5
    NEXT I
    PRINT (TIMER-T)/200
    T=TIMER
    FOR I=1 TO 10000
      A%(I)=A%(I)/5
    NEXT I
    PRINT (TIMER-T)/200


    Fonction: Divise la valeur de var par n.

    Explications:

    'var' doit être une variable numérique ou un élément de tableau numérique. 'n' est une expression numérique.

    DIV var,n est identique à var=var/n. L'avantage de l'instruction DIV réside dans la vitesse d'exécution (il suffit de tester l'exemple !). De cette manière, la vitesse déjà très élévée peut être encore augmentée facilement.

    Il est a noté que l'emploie d'une variable entière avec DIV force une division entière.
                   CLS
                   A=53
                   A%=53
                   DIV A,5
                   DIV A%,5
                   PRINT A,A%

    Dans l'exemple suivant on note la différence entre une division d'entiers et une division entre flottants.
    Sur ATARI ST, la fonction DIV ne fait pas cette distinction, le résultat est toujours de la forme TRUNC(A/B) avec des entiers.




    INSTRUCTION ARITHMéTIQUE INC



    Syntaxe: INC var

    Exemple(s): CLS
    T=TIMER
    FOR I%=1 TO 10000
      INC A%
    NEXT I
    PRINT (TIMER-T)/200
    A%=0
    T=TIMER
    FOR I%=1 TO 10000
      A%=A%+1
    NEXT I%
    PRINT (TIMER-T)/200


    Fonction: Augmente var de la valeur 1.

    Explications:

    'var' doit être une variable numérique ou un élément d'un tableau numérique.

    'INC var' est identique à 'var=var+1'.

    L'avantage de l'instruction INC réside dans la concision de sa syntaxe (gain de place mémoire) et surtout dans sa vitesse d'exécution (testez l'exemple !). Ainsi, l'utilisation de l'instruction INC augmente de façon sensible la vitesse d'exécution déjà très élévée par ailleurs.




    INSTRUCTION ARITHMéTIQUE MUL



    Syntaxe: MUL var,n

    Exemple(s): CLS
    DIM A%(10000)
    ARRAYFILL A%(),5
    T=TIMER
    FOR I=1 TO 10000
      MUL A%(I),5
    NEXT I
    PRINT (TIMER-T)/200
    T=TIMER
    FOR I=1 TO 10000
      A%(I)=A%(I)*5
    NEXT I
    PRINT (TIMER-T)/200


    Fonction: Multiplie le contenu de 'var' par n.

    Explications:

    'var' doit être une variable numérique ou un élément d'un tableau numérique.

    'n' est un nombre ou également une variable numérique.

    MUL var,n est identique à var=var*n. L'avantage de l'instruction MUL réside dans la vitesse d'exécution (testez l'exemple!). Ainsi l'utilisation de MUL augmente de façon sensible la vitesse d'exécution déjà très élevée par ailleurs.




    INSTRUCTION ARITHMéTIQUE SUB



    Syntaxe: SUB var,b

    Exemple(s): CLS
    T=TIMER
    FOR I%=1 TO 10000
      SUB A%,5
    NEXT I%
    PRINT (TIMER-T)/200
    A%=0
    T=TIMER
    FOR I%=1 TO 10000
      A%=A%-5
    NEXT I%
    PRINT (TIMER-T)/200


    Fonction: Soustrait n à la valeur de 'var'.

    Explications:

    'var' doit être une variable numérique ou un élément d'un tableau numérique.

    'n' est une expression numérique.

    SUB var,n est identique à var=var-n. L'avantage de l'instruction SUB réside dans la vitesse d'exécution (testez l'exemple!). Ainsi, l'utilisation de l'instruction SUB augmente de façon sensible la vitesse d'exécution déjà très élevée par ailleurs.



        
    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]