Accueil Ti-Gen Foire Aux Questions Chat sur le chan #tigcc sur IRC
Liste des membres Rechercher Aide
Bienvenue Invité !   Se connecter             Mes sujets   
Administrer
0 membre(s) et 1 visiteur(s) actif(s) durant les 5 dernières minutes Utilisateurs actifs : Aucun membre + 1 visiteur
Avant de poster sur le forum, il y a des régles de bases à respecter pour une bonne entente et un respect de tous.
Veuillez lire la charte du forum.
  :: Index » Forum Ti68K » Programmation C » touche (21 réponse(s))
./POST DE DEPART (post n°0)   Marquer comme non lu.
Benjy Ecrit le: Mardi 6 avril 2004 à 22:19 Déconnecté(e)    Voir le profil de Benjy Envoyer un email à Benjy Visiter le site WEB de Benjy Envoyer un message privé à Benjy  


voila je voudrai utiliser _keytest sans connaitre la touche qui va etre appuyer comment faire??
Le langage C y'a pas mieux!!!
    
./Post n°1   Marquer comme non lu.
Kevin Kofler Ecrit le: Mardi 6 avril 2004 à 22:32 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


_rowread(0)
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°2   Marquer comme non lu.
Benjy Ecrit le: Mardi 6 avril 2004 à 22:36 Déconnecté(e)    Voir le profil de Benjy Envoyer un email à Benjy Visiter le site WEB de Benjy Envoyer un message privé à Benjy  


et sinon si je fai b=ngetchx(); j'appui sur enter donc b=13
et qu'apres je veut tester si la touche 13 est enfoncer mai sans utiliser ngetchx() je peut??
Le langage C y'a pas mieux!!!
    
./Post n°3   Marquer comme non lu.
Kevin Kofler Ecrit le: Mardi 6 avril 2004 à 22:42 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Avec la lecture bas-niveau, tu dois tester chaque touche individuellement. En un seul appel, tu peux seulement savoir si une touche a été appuyée ou pas (if (_rowread(0))), mais pas laquelle a été appuyée.

-Edité le: Mardi 6 avril 2004 à 22:42 par Kevin Kofler-
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°4   Marquer comme non lu.
Benjy Ecrit le: Mardi 6 avril 2004 à 22:57 Déconnecté(e)    Voir le profil de Benjy Envoyer un email à Benjy Visiter le site WEB de Benjy Envoyer un message privé à Benjy  


oui mai pour ma question au dessu?? comment je peut faire enfaite je fait
b=ngetchx(); et il ranvoi la valeur dans b mai apres j'ai besion d'une boucle pour tester si kan on appyu sur une touche elle correspon a b mai son arreter le progarme comment je peut faire???
Le langage C y'a pas mieux!!!
    
./Post n°5   Marquer comme non lu.
Kevin Kofler Ecrit le: Mardi 6 avril 2004 à 23:12 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Tu peux utiliser kbhit.
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°6   Marquer comme non lu.
Benjy Ecrit le: Mardi 6 avril 2004 à 23:31 Déconnecté(e)    Voir le profil de Benjy Envoyer un email à Benjy Visiter le site WEB de Benjy Envoyer un message privé à Benjy  


merci mai je ne comprend pas comme s'utilise kbhit
Le langage C y'a pas mieux!!!
    
./Post n°7   Marquer comme non lu.
Benjy Ecrit le: Mardi 6 avril 2004 à 23:39 Déconnecté(e)    Voir le profil de Benjy Envoyer un email à Benjy Visiter le site WEB de Benjy Envoyer un message privé à Benjy  


enfin si ca s'utilise comme un ngextch mai c pas ce que je cherche je veut qua partir dun nombre par exmple 13 ca teste si la touche presser est la 13 et san arreter le prog car quand je fai

if(g=kbhit())

avec g=13 ca marche pas :(:(
Le langage C y'a pas mieux!!!
    
./Post n°8   Marquer comme non lu.
Kevin Kofler Ecrit le: Mercredi 7 avril 2004 à 00:35 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


if(g=kbhit()) n'est pas une comparaison. Ce que tu fais là est assigner kbhit() à g et tester si c'est non-nul.

Franchement, je te conseille d'aller voir ma news sur les tutoriaux C et de lire les deux...

Ce que tu veux, c'est:
if (kbhit()) {
g=ngetchx();
if (g==KEY_ENTER)...
}

(Soit dit en passant que coder 13 en dur est moche, les constantes sont là pour ça.)
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°9   Marquer comme non lu.
Benjy Ecrit le: Mercredi 7 avril 2004 à 00:55 Déconnecté(e)    Voir le profil de Benjy Envoyer un email à Benjy Visiter le site WEB de Benjy Envoyer un message privé à Benjy  


ouai enfin c pas ca que je veut! ce que je vaut c ca:
je teste deux touches

b=ngetchx();
sprintf(af,"%d",b);
b=strlen(af);
memset(key+b,' ',3-b);
strncpy(key,af,3);
b=ngetchx();
sprintf(af,"%d",b);
b=strlen(af);
memset(key+b,' ',3-b);
strncpy(key+3,af,3);

voila elle son stoquer dans un sring et puis dans un fichier le prog s'arette
ensuite je relance le prog et la je lit le fichier creer je resupere la valeur des deux touches creer donc par exemple le string contient 13 et 52 et apres je veut faire un teste qui permet de savoir quand on appuy sur les touches 13 et 52 et c ce que je n'arrive pas a faire
Le langage C y'a pas mieux!!!
    
./Post n°10   Marquer comme non lu.
Kevin Kofler Ecrit le: Mercredi 7 avril 2004 à 01:09 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Mais pourquoi absolument les stocker dans un string? Ne serait-il pas plus simple de stocker les nombres tels quels dans un fichier de type personnalisé?
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°11   Marquer comme non lu.
Benjy Ecrit le: Mercredi 7 avril 2004 à 01:16 Déconnecté(e)    Voir le profil de Benjy Envoyer un email à Benjy Visiter le site WEB de Benjy Envoyer un message privé à Benjy  


elle est stocker dans un fichier perso garce a une fonction perso mai elle est stocket sous forme de tring mai la n'est pas le prob car quand je lit dans le string la valeur des touches elle sont convertie en nombres mai ca ne repond pas a mon prob qui est de taille. comment faire a partir d'un nombre qui represente une touche un teste qui n'arrete pas le prog qui teste la valeur d'une touche appuyer et qui la compare avec le nombre?????
Le langage C y'a pas mieux!!!
    
./Post n°12   Marquer comme non lu.
Kevin Kofler Ecrit le: Mercredi 7 avril 2004 à 03:55 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Si g est ton nombre, tu fais:
mauvaise_touche:
while (!kbhit()) {
// ton programme
}
// Touche appuyée:
x=ngetchx();
if (x==g) {
// bonne touche
} else goto mauvaise_touche;
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°13   Marquer comme non lu.
Benjy Ecrit le: Mercredi 7 avril 2004 à 07:35 Déconnecté(e)    Voir le profil de Benjy Envoyer un email à Benjy Visiter le site WEB de Benjy Envoyer un message privé à Benjy  


et j'ai encore un prob c'est que j'ai besion de teste deux touche en meme temps donc j'aiva mit en teste if(_keytest(RR_ENTER) && _keytest(RR_00)) comment je peu rempalcer ca par la meme chose qu'au dessu???
Le langage C y'a pas mieux!!!
    
./Post n°14   Marquer comme non lu.
Kevin Kofler Ecrit le: Mercredi 7 avril 2004 à 07:49 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


La lecture de touches de AMS ne peut pas détecter 2 touches en même temps, sauf si une d'entre elles est un modifiant.

Il n'y a pas de méthode simple de faire ce que tu veux faire (détecter une combinaison configurable de 2 touches arbitraires). Tu as plusieurs choix:
* utiliser ngetchx lors de la configuration, et _keytest quand tu testes les touches, et traduire tous les codes avec une table de traduction
* n'utiliser que la lecture bas niveau (_keytest, _rowread) et, pour la configuration, identifier la touche appuyée avec une boucle de _rowread (il faut faire 2 boucles imbriquées: un _rowread pour chaque ligne, et un test de chaque bit de cette ligne)
* n'utiliser que ngetchx et abandonner l'appui simultané (utiliser des combinaisons séquentielles à la place)
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°15   Marquer comme non lu.
Benjy Ecrit le: Mercredi 7 avril 2004 à 08:04 Déconnecté(e)    Voir le profil de Benjy Envoyer un email à Benjy Visiter le site WEB de Benjy Envoyer un message privé à Benjy  


que ce que tu entend par table de traduction???
Le langage C y'a pas mieux!!!
    
./Post n°16   Marquer comme non lu.
Benjy Ecrit le: Mercredi 7 avril 2004 à 08:09 Déconnecté(e)    Voir le profil de Benjy Envoyer un email à Benjy Visiter le site WEB de Benjy Envoyer un message privé à Benjy  


et meme aussi pour les boucles avec _rowread comment je fai pour tester quel touche est appuyer acr c comme _keytest il fo mettre keytest(0) mai ca detecte juste un appuy commen je determine la touche appuye???
Le langage C y'a pas mieux!!!
    
./Post n°17   Marquer comme non lu.
Kevin Kofler Ecrit le: Mercredi 7 avril 2004 à 08:44 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


que ce que tu entend par table de traduction???

Un tableau qui à tout code renvoyé par ngetchx associe le scancode correspondant pour la lecture bas-niveau.

et meme aussi pour les boucles avec _rowread comment je fai pour tester quel touche est appuyer acr c comme _keytest il fo mettre keytest(0) mai ca detecte juste un appuy commen je determine la touche appuye???

Boucle for dans une boucle for. Il faut tester chaque combinaison ligne/colonne.
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°18   Marquer comme non lu.
Benjy Ecrit le: Mercredi 7 avril 2004 à 08:48 Déconnecté(e)    Voir le profil de Benjy Envoyer un email à Benjy Visiter le site WEB de Benjy Envoyer un message privé à Benjy  


oui mai c'est ce que je dit il fo mettre _rowread(0) non??
et par consequent ca ne verifie juste qu'une touche est enfonce non???
Le langage C y'a pas mieux!!!
    
./Post n°19   Marquer comme non lu.
Kevin Kofler Ecrit le: Mercredi 7 avril 2004 à 09:13 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Non, il faut faire une boucle sur chaque ligne et une sur chaque colonne et tester chaque combinaison ligne-colonne.
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
  :: Index » Forum Ti68K » Programmation C » touche (21 réponse(s))
Pages : 1/2     « [1] 2 » »|

.Répondre à ce sujet
Les boutons de code
[B]old[I]talic[U]nderline[S]trikethrough[L]ine Flip Hori[Z]ontallyFlip [V]erticallySha[D]ow[G]low[S]poilerCode [G][C]ite
Bullet [L]istList Item [K] Link [H][E]mail[P]icture SmileysHelp
Couleurs :
Saisissez votre message
Activer les smileys
     

Forum de Ti-Gen v3.0 Copyright ©2004 by Geoffrey ANNEHEIM
Webmaster: Kevin KOFLER, Content Admins: list, Server Admins: Tyler CASSIDY and Kevin KOFLER, DNS Admin: squalyl
Page générée en 82.39ms avec 18 requetes