| utilisation inkey$ | |
|
|
Auteur | Message |
---|
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: utilisation inkey$ Lun 26 Avr 2021 - 19:58 | |
| Salut tout le monde ! J'ai un petit trou de mémoire et je voudrais savoir ce qui ne va pas dans mon utilisation de : inkey$ ce petit code ne fonctionne pas, du moins le message est vide. - Code:
-
label clic
memo 1 on_key_down 1,clic
end
clic: message inkey$ return quelqu'un peut il me rafraichir la mémoire ? | |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: utilisation inkey$ Lun 26 Avr 2021 - 22:39 | |
| Salut yannick Essaie ceci - Code:
-
label clic
memo 1 set_focus 1 on_key_down 1,clic
end
clic: ' message inkey$ message chr$(scancode) return
| |
|
| |
Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: utilisation inkey$ Lun 26 Avr 2021 - 23:05 | |
| Bonsoir à tous ! @Yannick Pour un objet edit, memo ou autres, la séquence envoyée lors de l’appui d’une touche du clavier est codée sur 2 octets. Par exemple pour la lettre A, ce sera 00 65 en décimal. Dans ton exemple, inkey$ ne te renverra que la valeur du premier octet soit 00 (" null character" en ascii. C'est un caractère de contrôle). Je ne sais pas exactement quel résultat final tu souhaites. Je vois que Papydall t’a donné une solution avec scancode. Cette méthode est fiable mais ne différencie pas les majuscules des minuscules. Est-ce important ? Une autre idée serait de lire le dernier caractère tapé dans le memo. Voici un exemple où j’ai remplacé la box message par caption 0 pour afficher le résultat. - Code:
-
label clic
memo 1 on_key_up 1,clic
end
clic: if caret_position(1) > 0 caption 0,mid$(text$(1),caret_position(1),1) else caption 0,"" end_if return Pour en revenir à inkey$, il s’utilise dans une boucle while/end_while, repeat/until, goto/label. | |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: utilisation inkey$ Lun 26 Avr 2021 - 23:57 | |
| Il faut savoir que inkey$ est une variable système qui retourne la touche enfoncée du clavier. Elle n’attend pas que l’utilisateur appuie sur une touche. Elle ne fait que lire le tampon du clavier pour savoir ce qu’il contient et elle continue son bonhomme de chemin. Pour pouvoir l’utiliser correctement, il faut l’employer dans une boucle pour forcer le programme à attendre. - Code:
-
dim a$ print "Appyez sur une touche imprimable ..." repeat a$ = inkey$ until a$ <> "" message a$
| |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mar 27 Avr 2021 - 0:03 | |
| Salut à tous. Comme vous le savez, pour les plus ancien surtout, quand j'ai une idée derrière la tête ou surtout quand un truc me résiste je deviens boulimique jusqu'à ce que je comprenne. Là, je suis dans le QR-Code et je m'obstine. Tant que je ne saurai pas le faire, je me creuserai la tête. Je suis dans la partie détection du type de données ( Numérique,Alphanumérique et ISO... ou binaire j'ai laissé Kanji de côté ) Donc, je voulais récupérer le caractères de la frappe clavier. J' ai déjà fait çà mais il y a longtemps pour un éditeur panoramic mais c'était il y a très longtemps. Je me suis servi du caret_position etc mais quand j'ai revu inkey$ dans la doc... ...j'ai trouvé que cela serait plus court comme code... Voilà, vous savez tout. ( On s'est croisé Papydall ) | |
|
| |
Marc
Nombre de messages : 2466 Age : 63 Localisation : TOURS (37) Date d'inscription : 17/03/2014
| Sujet: Re: utilisation inkey$ Mar 27 Avr 2021 - 0:17 | |
| Merci de l’explication, Yannick. Bon courage pour la suite.
Pour décompresser, tu pourrais faire une partie de Pac-Man !
| |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mar 27 Avr 2021 - 0:41 | |
| @ Marc, Cela fait un bout de temps que je n'ai pas joué avec le citron. Si quelqu'un a une version antérieur de panoramic, je suis preneur la 29i11 est bizarre. | |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: utilisation inkey$ Mar 27 Avr 2021 - 0:42 | |
| Autre façon d'utiliser inkey$ - Code:
-
dim a$ print " Appyez sur une touche imprimable ... <ECHAPE> pour arrêter" repeat repeat a$ = inkey$ : ' boucle d'attente de l'appui sur une touche until a$ <> "" if (asc(a$) > 48) and (asc(a$) < 58) print " Vous avez appuyé sur le chiffre " + a$ end_if if (asc(a$) > 65) and (asc(a$) < 91) print " Vous avez appuyé sur la lettre majuscule " + a$ end_if if (asc(a$) > 96) and (asc(a$) < 123) print " Vous avez appuyé sur la lettre minuscule " + a$ end_if until asc(a$) = 27 print " vous avez appuyer sur <ECHAPE> ... arrêt du programme"
| |
|
| |
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: utilisation inkey$ Mar 27 Avr 2021 - 0:59 | |
| - Yannick a écrit:
- Si quelqu'un a une version antérieur de panoramic, je suis preneur la 29i11 est bizarre.
Désolé Yannick, j’ai tout perdu avec mon ancien PC qui a rendu l’âme en emportant tout avec lui ! Je me remets petit à petit avec mon nouveau PC sous W10. J’ai téléchargé la dernière version de l’interpréteur pour faire mes essais et je suis comme toi, preneur de toute autre version antérieure. | |
|
| |
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Mar 27 Avr 2021 - 1:39 | |
| | |
|
| |
Contenu sponsorisé
| Sujet: Re: utilisation inkey$ | |
| |
|
| |
| utilisation inkey$ | |
|