PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV Mobile 2024 → [WM14] Application WindevMobile sur Datalogic Memor
[WM14] Application WindevMobile sur Datalogic Memor
Iniciado por LE MOAL, 03,mar. 2009 17:19 - 6 respuestas
Publicado el 03,marzo 2009 - 17:19
Bjr,

J'ai développé une application sur Datalogic memor.
Je souhaiterais pour plus de faciliter pour l'utilisateur récupérer sa saisie des touches du DATALOGIC et non du clavier virtuel.
Je n'arrive pas a les intercepter
Merci de votre aide.
Publicado el 04,marzo 2009 - 14:17
Pour ma part, je désactive toujours le clavier virtuel du système sur les champs de saisie, et j'appelle un clavier virtuel "perso" à la demande (une simple fenêtre de mon projet contenant 26 boutons pour les différentes lettres + quelques caractères spéciaux).

Cette méthode permet d'adapter le clavier aux besoins du développement (uniquement les chiffres, avec majuscules / minuscules). Pour ma part j'utilise un bouton pour passer d'un mode à l'autre (Minuscules -> Majuscules -> Numérique).

C'est assez utile, notamment sur le Memor dont la taille de l'écran est équivalent à celle un timbre poste...

Cordialement,
Publicado el 04,marzo 2009 - 18:22
Merci beaucoup pour ta réponse.
Malheureusement je ne veux surtout pas gérer un clavier virtuel ni perso mais celui du DATALOGIC Les touches du lecteur.
Merci encore
Publicado el 05,marzo 2009 - 10:57
Les touches du clavier se récupèrent comme celles de n'importe quel clavier...

- La première chose à faire est de désactiver le clavier virtuel sur le champ de saisie (Description du champ -> Détail -> décocher la case "Activer le clavier en saisie"

- Ajouter ensuite au début du code d'initialisation du projet la ligne suivante
EXTERNE "KeyConst.WL"


- Dans le code du champ de saisie, utiliser l'évènement "Touche relachée" (cliquez sur la touche verte pour l'ajouter à votre code), puis utilisez un code comme celui ci:
SELON _EVE.wParam
CAS VK_NUMPAD1
Info("Touche 1")

CAS VK_ESCAPE
Info ("Touche escape")

CAS VK_F1
Info("Touche F1")

CAS 65 // Code Ascii du A
Info("Touche A")

FIN


Le principe est le même pour récupérer les touches enfoncées en dehors d'un champ de saisie : il suffit d'ajouter ces lignes dans le code de la fenêtre au lieu du code du champ.

Attention : pour récupérer l'appui sur la touche "Enter" dans un champ, il faut désactiver l'option "Champ accessible par TAB" dans la description des champs de la fenêtre.

En espérant avoir pu vous être utile...

Cordialement,
Gautier Cuquemelle

-------------------------------------
www.v-ingenierie.com

Intégrateur en solutions de collectes
de données par code barre et RFID
-------------------------------------
Publicado el 06,marzo 2009 - 10:18
Merci beaucoup.
En effet votre réponse m' a été très utile.
Par contre je me permets de vous poser la question sur la notion d'évènement.
Est il préférable de gérer un seul évènement global pour l'ensemble de l'application ou un par fenêtre.
Peut-on préciser si nous souhaitons intercepter simplement tel ou tel autre type d'évènement afin d'éviter de passer n fois dans cette fonction.
Merci d'avance.
Bonne journée
Publicado el 06,marzo 2009 - 11:12
Bonjour,

Tout dépend du genre d'évènements que vous souhaitez gérer, et du genre d'application que vous souhaitez développer. Si il s'agit de gérer des évènements clavier je vous déconseille d'écrire une fonction de gestion des évènements pour l'ensemble de votre application : il vous faudrait dans ce cas déterminer sur quelle fenêtre/quel champ la touche a été enfoncée pour déterminer le traitement à effectuer.

Si il s'agit d'une fenêtre ayant plusieurs champs (saisie, combo, etc.), il est préférable de gérer les évènements champ par champ (pour déclencher une recherche après une saisie ou enregistrer la saisie dans un fichier par exemple).

Cordialement,
Gautier Cuquemelle

-------------------------------------
www.v-ingenierie.com

Intégrateur en solutions de collectes
de données par code barre et RFID
-------------------------------------
Publicado el 07,marzo 2009 - 03:04
Merci encore de vos conseils et du code qui m'ont permis de gagner un temps fou
Merci encre et très bonne journée