cbil Le 02/10/2003 à 21:05 Bonjour à tous,
Je débute sur tigcc et voici ce que j'aimerais faire :
Je voudrais que l'utilisateur tape son mot (entre 1 et 10 lettres au choix par ex) et qu'il s'affiche sur l'ecran (comme lorsque qu'il faut entrer son nom lorsque qu'on a battu le record dans un jeu). Ensuite il appuie sur ENTER.
ngetchx() n'utilise qu'une lettre, Une boucle ferai taper obligatoirement un certain nombre de lettres (je crois).
Alors comment fait-on SVP ?
Merci d'avance !!
C'est une fonction standard ça ?

Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 :
www.ti-fr.com.
Quelques idées personnelles
ici.
cbil Le 03/10/2003 à 19:32 En effet je n'avais pas penser a la boucle while.
Je vais essayer getsn aussi.
Merci
come Le 08/10/2003 à 13:30 La prog en C.doc proposée par Squale92 dans son tuto sur Ti-rex fait mension d'un code qui permet de recuperer l'entrée utilisateur: InputStrXY
void InputStrXY(short x, short y, char *buffer, short maxlen)
{
/* Liste des Arguments :
x : coordonnées en X du point où la demande apparaîtra à l'écran.
y : coordonnées en Y du point où la demande apparaîtra à l'écran.
buffer : la chaîne de caractères où le résultat sera stocké.
maxlen : le nombre maximal de caractères qu'il sera possible d'entrer.
*/
SCR_STATE ss;
short key, captured, i=0;
void CaptureHandler (EVENT *ev)
{
if (ev->Type == CM_STRING)
captured = *(ev->extra.pasteText);
}
MoveTo(x, y);
buffer[0] = 0;
SaveScrState (&ss);
do
{
printf_xy(ss.CurX, ss.CurY, "%s_ ", buffer);
// Note that two spaces are required if F_4x6 font is used
key = ngetchx();
if (key == KEY_CHAR && i < maxlen)
{
EVENT ev;
ev.Type = CM_KEYPRESS;
ev.extra.Key.Code = key;
EV_captureEvents (CaptureHandler);
EV_defaultHandler (&ev);
EV_captureEvents (NULL);
buffer[i++] = captured;
}
if (key >= ' ' && key <= '~' && i < maxlen) buffer[i++] = key;
if (key == KEY_BACKSPACE && i) i--;
buffer[i] = 0;
}while (key != KEY_ENTER);
}
Il se peut que ce soit pas ce que tu cherches, mais bon...
Sinon, tu peux toujours lire la doc, qui est très bien faite.
getsn utilise à peu près le même code, mais en assembleur optimisé.
cbil Le 10/10/2003 à 19:35 Je ne peux pas utiliser getsn (j'ai la version 0.93).
Apparemment il y a des problemes dans la version beta 0.95 (qui n'ai même pas téléchargeable sur le site officiel de tigcc), je vais attendre un peu.
Autremment, je vais essayer InputStrXY et consulter le tuto de Squale92.
... qui utilise getsn + une routine de parsing de 1,5 KO (sscanf). Donc à éviter si possible.