PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV 2024 → récupérer la touche enfoncée
récupérer la touche enfoncée
Débuté par AL, 15 avr. 2004 17:31 - 9 réponses
Posté le 15 avril 2004 - 17:31
Bonjour,

j'aimerais effectuer une action quand la touche ENTRER est enfoncée comme
puis-je savoir, avec l'aide de la foncion Onkeydown quelle touche a été enfoncée
?...

merci beaucoup
Membre enregistré
3 messages
Posté le 16 novembre 2017 - 13:41
Je sais que cela date de 2004, mais je poste la solution pour ceux comme moi qui tomberaient là-dessus à la recherche d'une réponse:
Solution en image:
https://www.pcsoft-windev-webdev.com/videos11/Touche-enfoncee/toucheenfoncee.html
Et pour connaître les keyCode : http://keycode.info/

Donc:
SI JSInfoEvénement("keyCode") = noTouche ALORS
VotreCode
FIN
Membre enregistré
35 messages
Posté le 28 décembre 2020 - 15:02
Et bien 3 ans plus tard, je viens de tomber dessus. Comme quoi !

Cela fonctionne parfaitement sous WebDev26.

Merci à vous !
Posté le 20 janvier 2021 - 11:06
Bonjour
Merci d'avoir donner cette réponse
mais la vidéo n'existe plus
pouvez-vous m'indiquer comment sur webdev 23 intercepter la touche "Entrée" sur un champ de saisie en lancer la procedure du bouton rechercher (par exemple)
Merci
Membre enregistré
1 message
Posté le 20 janvier 2021 - 11:42
CDe a écrit :
Je sais que cela date de 2004, mais je poste la solution pour ceux comme moi qui tomberaient là-dessus à la recherche d'une réponse:
Solution en image:
https://www.pcsoft-windev-webdev.com/videos11/Touche-enfoncee/toucheenfoncee.html
Et pour connaître les keyCode : http://keycode.info/

Donc:
SI JSInfoEvénement("keyCode") = noTouche ALORS
VotreCode
FIN


Bonjour
je réecrit ma demande en tant membre enregistré


Merci d'avoir donner cette réponse
mais la vidéo n'existe plus
pouvez-vous m'indiquer comment sur webdev 23 intercepter la touche "Entrée" sur un champ de saisie en lancer la procédure du bouton rechercher (par exemple)
Merci
Posté le 19 juillet 2021 - 15:52
Bonjour,
Merci pour votre participation ...
Si vous êtes une bille comme moi , j'apporte une petite précision qui vous fera peut-etre économiser dur temps
l'utilisation des propriété est case sensitive et donc il faut bien mettre dans la procedure de controle
SInfoEvénement("keyCode") = noTouche ALORS et non SInfoEvénement("KeyCode") = noTouche ALORS
nCodeTouche=vPclEvenementJS.keyCode et non vPclEvenementJS.KeyCode
Je rebondis la dessus car je n'ai pas trouvé dans la doc PC soft quelque chose décrivant la facon de récupérer cette information . Votre post m'a grandement aidé mais aimerais savoir ou on trouve cette doc

Par ailleurs , pour l'instant je n'arrive pas à intercepter deux fois de suite une touche ...
Mon code est assez basique

Initialisation de la capture
gnEvtCapture_Accueil =JSEvénement(PAGE_ACCUEIL.ControleTouche,jsEventBody,jsEventKeyDown)



procedure de controle des touches
PROCEDURE ControleTouche(vPclEvenementJS Variant)
nCodeTouche est un entier
nCodeTouche=vPclEvenementJS.keyCode
Trace(nCodeTouche)

Merci à tous les passionnés webdev qui pourront m'aider à résoudre ce soucii et je ne passe qu'un fois dans la procedure
J'ai bien essaye de rajoute
vPclEvenementJS=Null à la fin de la procedure rien n'y fait
Membre enregistré
1 123 messages
Popularité : +8 (8 votes)
Posté le 01 décembre 2021 - 16:33
Didier44 a écrit :
Bonjour,
Merci pour votre participation ...
Si vous êtes une bille comme moi , j'apporte une petite précision qui vous fera peut-etre économiser dur temps
l'utilisation des propriété est case sensitive et donc il faut bien mettre dans la procedure de controle
SInfoEvénement("keyCode") = noTouche ALORS et non SInfoEvénement("KeyCode") = noTouche ALORS
nCodeTouche=vPclEvenementJS.keyCode et non vPclEvenementJS.KeyCode
Je rebondis la dessus car je n'ai pas trouvé dans la doc PC soft quelque chose décrivant la facon de récupérer cette information . Votre post m'a grandement aidé mais aimerais savoir ou on trouve cette doc

Par ailleurs , pour l'instant je n'arrive pas à intercepter deux fois de suite une touche ...
Mon code est assez basique

Initialisation de la capture
gnEvtCapture_Accueil =JSEvénement(PAGE_ACCUEIL.ControleTouche,jsEventBody,jsEventKeyDown)



procedure de controle des touches
PROCEDURE ControleTouche(vPclEvenementJS Variant)
nCodeTouche est un entier
nCodeTouche=vPclEvenementJS.keyCode
Trace(nCodeTouche)

Merci à tous les passionnés webdev qui pourront m'aider à résoudre ce soucii et je ne passe qu'un fois dans la procedure
J'ai bien essaye de rajoute
vPclEvenementJS=Null à la fin de la procedure rien n'y fait

C'est un point vraiment primordiale car je viens de perdre 2heures à essayer d'arranger mon code pour que ça fonctionne car le résultat me donnait toujours 0, jusqu'à ce que je trouve ce commentaire.
Merci infiniment !:)

--
Jean Turcotte
WX 26
Android 9.0 sur Galaxy S8
Laptop Lenovo I7 12GB Ram
Membre enregistré
3 messages
Posté le 04 octobre 2022 - 08:56
Bonjour,

Cela ne fonctionne pas sur les champs de saisie HTML.
En effet sur ma page j'ai deux champs de saisie, un classique pour une recherche et donc un de type HTML pour saisir un message : j'intercepte bien les touches et les clics de souris sur le classique mais rien sur l'HTML.

Quelqu'un a-t-il réussi à résoudre ou contourner ce problème ?

Merci.

--
Je penche donc je suis
Membre enregistré
120 messages
Posté le 23 février 2024 - 10:04
Bonjour je me permet de relancé ce sujet j'aurai besoin d'aide ..

un client ma demander d'ouvrir une popup lorsqu'il utilisera la touche f12 de sont clavier et ceux depuis n'importe ou dans le site

quelqu'un peut m'aider car je m'en sors pas du tout

j'ai bien mis ça

soit xxx = JSInfoEvénement("keyCode")
SI xxx <>123 ALORS
Trace(xxx)
FIN
dans la partie " touche pressée dans Ma_Page(onkeypress navigateur)
le probleme c'est que les touche f1 a f12 ne sont pas pris en compte par ça
Message modifié, 23 février 2024 - 10:06
Membre enregistré
477 messages
Popularité : +20 (20 votes)
Posté le 26 février 2024 - 15:59
ca fonctionnera si tu utilises l'evenement Touche enfoncée ou relachée et non pas Touche pressée