Home   Archives    Hardware   Programmation   Challenges   Forum   Le Mag    Faq   La Communauté   L'Equipe
 
L'équipe progG de Ti-Fr

Voici les nicks de vos serviteurs ;-)

chickensaver_john
Kevin Kofler
Thibaut
janjan2
TiMad
Iceman89
fréka
Zewoo
Squale92
Verstand
ZdRUbAl
UtOpIaH

et nEUrOne ...

Une idée ?
Une idée pour améliorez cette partie? ou tout simplement vous souhaitez participer à l'élaborations des tutos.
Mailez-nous ici

Les raccourcis
 

Chapitre VII


    Dans ce chapitre, nous allons voir comment créer des  programmes qui prennent une valeur (ou plutôt, une chaîne de caractères dans notre exemple) en argument.

 

I:\ Les fonctions nouvelles :

    Les arguments qui sont donnés à un programme passent sur le sommet de l'expression stack. (Je le laisserai en anglais, car c'est plus correspondant aux instructions qui s'y rapportent que "pile d'expression" !). Nous abrégerons d'ailleurs ceci par le terme Stack.
   Le sommet du Stack, c'est-à-dire la dernière information qui y a été enregistrée est définie par la variable générale top_estack. Donc, pour récupérer ce qui a été mis en argument du programme, il faudra utiliser :
        ESI argptr;
        argptr = top_estack;
    La variable argptr est de type ESI, ce qui signifie "Expression Stack Index". En fait, il s'agit d'un pointeur vers l'expression stack (plus ou moins !).

    Le type d'argument qui a été passé au programme est possible à retrouver grâce à l'instruction 
        GetArgType(argptr);
    Cette fonction renvoie une valeur de type short. Il faut donc mettre :
        short argtype=0;
        argtype = GetArgtype(argptr);
    La valeur renvoyée est un "tag". Pour plus d'informations, allez voir la documentation de TIGCC. (Pour accéder à ce passage, cherchez par exemple STR_TAG).

    Si on sait que l'argument qui a été passé au programme est une chaîne de caractères (ce qu'on peut vérifier avec la fonction précédente !), on peut extraire cette chaîne de caractères, afin, par exemple, de la réécrire sur l'écran. Pour cela, on utilise la fonction :
        GetStrnArg(argptr);

    Voilà, nous avons fini d'expliquer les nouvelles fonctions. Nous pouvons donc à présent étudier le codes source du programme lui-même.

 

II:\ Le code source du programme :

#define OPTIMIZE_ROM_CALLS 
#define SAVE_SCREEN 
#include <tigcclib.h> 

short
_ti92plus, _ti89; 

void _main(void)
{
   ESI argptr;
   short argtype = 0;
   argptr = top_estack;
   argtype = GetArgType(argptr);
   ClrScr();
   if (argtype == STR_TAG)
   DrawStrXY (0, 30, GetStrnArg(argptr), A_NORMAL);
   ngetchx();
}


Retour au menu général

Chapitre VIII


 


Copyright © Ti-Fr v2.0 1999-2002