Je galère avec inkey$

Ici, on fait dans le petit, le LCD qui déchire sa race, on y cause même calculatrices quand on est en manque !

Modérateur : Politburo

Répondre
Céline
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 169
Enregistré le : 23 mars 2014 13:11

Je galère avec inkey$

Message par Céline »

Bonjour,

je ne m'en sors pas avec la fonction inkey$.

Code : Tout sélectionner

10 A$=INKEY$:IF A$="" THEN GOTO 10
20 IF A$="O" THEN PRINT "OUI":GOTO 40
30 PRINT "NON"
40 END
Ca marche très bien sur Casio PB770, c'est plutôt aléatoire sur Sharp pc-1262 avec des bidouillages avec WAIT que je ne maitrise pas trop et des trucs bizarres si je commence la ligne 10 par "M": Et sur Sharp pc-1500 je n'arrive à rien.
Help !!!
TI-30 Galaxy
fx-180P, fx-4000P
HP 11c, 12c, 12c le, 15c, 15c le
HP 32s, 32s ii, 42s, 17b ii, 30b, 35s
HP 28s, 48s, 48sx, 48g, 50g, prime
Avatar du membre
Marge
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 6186
Enregistré le : 01 oct. 2008 14:39
Localisation : En bas, tout au fond à gauche.

Re: Je galère avec inkey$

Message par Marge »

Je n'ai plus trop ça en tête, mais sur le 1403 de Sharp il y a, de mémoire, un problème avec cette fonction qui est aléatoire (elle peut fonctionner ou ne pas fonctionner si on accède au programme par [DEF] + une touche). C'est mentionné dans le manuel.
Je ne sais si ça peut t'aider...
3 hommes, 3 demis, un 3a... Magnéto, Serge !

Quelques-uns de mes petits programmes pour machines Hewlett-Packard :
15C : Knight's Tour ;
29C : (k-)Permutations, Combinations, Linear Regression and Pseudo-random number ;
34C : Hanoi Towers - Automatic & Manual resolutions ;
67
__: A L I E N .

« Boris », c'était juste Maurice enrhumé.
Céline
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 169
Enregistré le : 23 mars 2014 13:11

Re: Je galère avec inkey$

Message par Céline »

Bon c'est déjà une première réponse. def et inkey$ semblent aussi faire mauvais ménage sur pc-1262. Merci Marge.
Et sur pc-1500 ça marche comment ? :(
TI-30 Galaxy
fx-180P, fx-4000P
HP 11c, 12c, 12c le, 15c, 15c le
HP 32s, 32s ii, 42s, 17b ii, 30b, 35s
HP 28s, 48s, 48sx, 48g, 50g, prime
Avatar du membre
charognard
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4412
Enregistré le : 06 juin 2007 19:28
Localisation : Indre et loire
Contact :

Re: Je galère avec inkey$

Message par charognard »

Bogué le SHARP ..... Bande d'incultes ;)

Sur certain SHARP le INKEY$ intercepte les codes ASCII des touches et notamment celle CHR$(13) qui correspond à la touche [ENTER]
Ton code fonctionne super bien en fait mais lorsque du lance ton programme si tu reste appuyé sur [ENTER] il passe en 30 et t'affiche 'NON'

voilà ce qu'il faut faire :

Code : Tout sélectionner

10 IF INKEY$ <>"" THEN 10
20 A$=INKEY$:IF A$="" THEN 20
30 IF A$="O" PRINT "OUI":END
30 PRINT "NON"
Explication :
----------------
le IF INKEY$ <>"" THEN 10 vérifie qu'une touche n'est actuellement pas appuyée et vide le buffer


J'avais bien galéré sur ce problème, il y a plus de 30ans et ça met resté en mémoire ;)

Pour la touche DEF le problème est le même, la touche après le DEF est interceptée si appui pas suffisamment rapide
Céline
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 169
Enregistré le : 23 mars 2014 13:11

Re: Je galère avec inkey$

Message par Céline »

Oh yess ça marche !
charognard a écrit :J'avais bien galéré sur ce problème, il y a plus de 30ans et ça met resté en mémoire
Merci qui pour ce petit souvenir nostalgique ? :wink:
TI-30 Galaxy
fx-180P, fx-4000P
HP 11c, 12c, 12c le, 15c, 15c le
HP 32s, 32s ii, 42s, 17b ii, 30b, 35s
HP 28s, 48s, 48sx, 48g, 50g, prime
Avatar du membre
Marge
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 6186
Enregistré le : 01 oct. 2008 14:39
Localisation : En bas, tout au fond à gauche.

Re: Je galère avec inkey$

Message par Marge »

Il n'empêche que ce dysfonctionnement est mentionné dans le manuel du PC-1403. Tant mieux si ce bout de programme fonctionne.
3 hommes, 3 demis, un 3a... Magnéto, Serge !

Quelques-uns de mes petits programmes pour machines Hewlett-Packard :
15C : Knight's Tour ;
29C : (k-)Permutations, Combinations, Linear Regression and Pseudo-random number ;
34C : Hanoi Towers - Automatic & Manual resolutions ;
67
__: A L I E N .

« Boris », c'était juste Maurice enrhumé.
Avatar du membre
charognard
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4412
Enregistré le : 06 juin 2007 19:28
Localisation : Indre et loire
Contact :

Re: Je galère avec inkey$

Message par charognard »

Marge a écrit :Il n'empêche que ce dysfonctionnement est mentionné dans le manuel du PC-1403. Tant mieux si ce bout de programme fonctionne.
Page 176 je suppose !

avec l'exemple DEF Z qui intercepte le Z du DEf sur inkey
c'est ce que je dis mon code attend qu'il n'y ai plus de pression de touche donc DEF fonctionne très bien.

Exemple si j'ajoute le DEF Z mon code fonctionne nickel

Code : Tout sélectionner

10 "Z" IF INKEY$ <>"" THEN 10
20 A$=INKEY$:IF A$="" THEN 20
30 IF A$="O" PRINT "OUI":END
30 PRINT "NON"
Avatar du membre
Marge
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 6186
Enregistré le : 01 oct. 2008 14:39
Localisation : En bas, tout au fond à gauche.

Re: Je galère avec inkey$

Message par Marge »

Oui, oui, oui. :wink:
3 hommes, 3 demis, un 3a... Magnéto, Serge !

Quelques-uns de mes petits programmes pour machines Hewlett-Packard :
15C : Knight's Tour ;
29C : (k-)Permutations, Combinations, Linear Regression and Pseudo-random number ;
34C : Hanoi Towers - Automatic & Manual resolutions ;
67
__: A L I E N .

« Boris », c'était juste Maurice enrhumé.
Avatar du membre
pir2
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4647
Enregistré le : 31 oct. 2006 15:08
Localisation : 67310 Westhoffen
Contact :

Re: Je galère avec inkey$

Message par pir2 »

Et avec le DEF X, on peut mettre un AREAD pour lire immédiatement la valeur d'avant le lancement (je sais, ce n'est pas le même besoin ;) )

Code : Tout sélectionner

10 "X" AREAD A$
20 IF A$="OUI" GOTO 100
30 PRINT A$
40 GOTO 110
100 PRINT "JE FAIS CE QUE JE VEUX DU OUI"
110 END
(code tapé de tête)
Image
Image
Avatar du membre
charognard
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 4412
Enregistré le : 06 juin 2007 19:28
Localisation : Indre et loire
Contact :

Re: Je galère avec inkey$

Message par charognard »

pir2 a écrit :Et avec le DEF X, on peut mettre un AREAD pour lire immédiatement la valeur d'avant le lancement (je sais, ce n'est pas le même besoin ;) )

Code : Tout sélectionner

10 "X" AREAD A$
20 IF A$="OUI" GOTO 100
30 PRINT A$
40 GOTO 110
100 PRINT "JE FAIS CE QUE JE VEUX DU OUI"
110 END
(code tapé de tête)
Le AREAD n'est qu'un INPUT inversé
il fonctionne avec le mode DEF et est exclusif aux SHARP
Une instruction permettant la création de fonctions uniquement mono paramètres.


à noter que le retour d'un PRINT peut être pris en paramètre

Exemple :

Code : Tout sélectionner

10 "A" AREAD A
20 PRINT A+2
2
[DEF] A
[DEF] A
[DEF] A

donnera 8
Répondre

Retourner vers « Tous les Pockets »