1

G fait une fonction qui permet decrire un texte avec ngetchx() [rien de particulier], elle utilise la fonction toascii(short c) pour traduire la touche enfoncée en caractere. Tout se passe bien, mais apres utilisation de certains prog (ou apres le crashd'un jeu) et que je reesaye la fonction, celleci me marque un truc chelou a la suite des caracteres, style j'appui sur g et G
>gExc
ou dans le style comment ca se fait et surtout comment resoudre ce probleme ???
http://membres.lycos.fr/pingooz/
Un cafe et deux sucres

2

Poste la source entière. Le problème n'est pas dans toascii.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

3

O.K, Je vous averez ca demain, mais ca fait en gros ça
while ((c=ngetchx())!=KEY_ENTER)
{
  CharC=toascii(c);
  cmd[i]=CharC;
  i++; 
 printf("%s",CharC);
}
cmd[i]='\0';

C tt con mais pkoi C signes chelou ???
http://membres.lycos.fr/pingooz/
Un cafe et deux sucres

4

Je doute que tu aies écrit ça dans ta vraie source, mais ce n'est pas CharC qu'il faut paser en param de printf, mais cmd.

5

pkoi tu doute ????
http://membres.lycos.fr/pingooz/
Un cafe et deux sucres

6

Ben parce que c'est une erreur bête

7

Le coup du CharC????
Je sais et je viens de m'en rendre compte G honte #honte#
http://membres.lycos.fr/pingooz/
Un cafe et deux sucres

8

Donc tu as vraiment fait cette erreur dans on source chez toi, ou tu viens de la faire seulement là ?

9

Essaye sa plutot :
while ((c=ngetchx())!=KEY_ENTER)
{
  CharC=toascii(c);
  cmd[i]=CharC;
  i++; 
 printf("%c",CharC);
}
cmd[i]='\0';

Si tu trouve pas ou tu a fait une erreur...

(edit)
Sinon si tu tiens absolument a utilise %s, fait sa :
while ((c=ngetchx())!=KEY_ENTER)
{
  CharC=toascii(c);
  cmd[i]=CharC;
  i++; 
}
cmd[i]='\0';
printf("%s",cmd);
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

10

Je ne comprends pas pourquoi utiliser "toascii". Voilà une fonction toute bete qui permet d'utiliser la touche backspace pour effacer le dernier caractère :
void InputStr(unsigned char *s,unsigned char m,unsigned char x,unsigned char y) { unsigned char i = 0; unsigned short k = 0; while(s[0] == '_' || k != 13)  {  strcpy(s + i,"_ ");  DrawStr(x,y,s,A_REPLACE);  k = ngetchx();  if(k >= 32 && k < 256 && i < m) s[i++] = k;  else if(k == 257 && i) i--;  } s[i] = 0; }

InputStr(buffer,longueur_maximum,position_x,position_y)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

11

oui mais ma fonction (que G ameliore) permet de passer des "arguments"
A chaque apuui sur espace ca compte pour un argument en plus
http://membres.lycos.fr/pingooz/
Un cafe et deux sucres