OVH Cloud OVH Cloud

WM, contrôler le scanner d'un Psion Teklogik

6 réponses
Avatar
rpc
Bonjour

J'utilise WinDev Mobile avec des terminaux PocketPC de Symbol et la
composante PocketSymbol fournie par PCSoft pour contr=F4ler le scanner.


Un de nos clients d=E9sire utiliser des terminaux PocketPC Psion
Teklogik mais je ne trouve pas la composante qui me permettrait de
contr=F4ler le scanner. Quelqu'un aurait-il d=E9j=E0 travaill=E9
l=E0-dessus, d=E9velopp=E9 une composante, une classe ou autre moyen
d'acc=E9der au scanner du Teklogik ?

Richard

6 réponses

Avatar
J. Martins
"rpc" a écrit dans le message de
news:
Bonjour

J'utilise WinDev Mobile avec des terminaux PocketPC de Symbol et la
composante PocketSymbol fournie par PCSoft pour contrôler le scanner.


Un de nos clients désire utiliser des terminaux PocketPC Psion
Teklogik mais je ne trouve pas la composante qui me permettrait de
contrôler le scanner. Quelqu'un aurait-il déjà travaillé
là-dessus, développé une composante, une classe ou autre moyen
d'accéder au scanner du Teklogik ?

Richard


Bonjour,

http://www.psionteklogix.com/public.aspx?s=fr&p=TeknetforDevelopers

Après inscription sur leur site tu pourras télécharger les dll pour
attaquer le scanner.

Sinon si c'est juste pour récupérer le flux d'un scan, il a toujours moyen
de contourner en interceptant le caractère final de tabulation. Que veux-tu
faire exactement ?

Cordialement.
Avatar
rpc
Merci

Je veux contrôler le scanner pour ne l'activer que lorsque c'est
nécessaire (lecture d'une code CUP par exemple) et le désactiver
lorsque l'usager doit par exemple entrer une quantité au clavier, ceci
afin d'éviter qu'une lecture de code-barres ne soit interprétée
comme une quantité et vienne fausser les résultats.

Je vais télécharger le SDK de PSION et voir si je peux en tirer
quelque chose.
Avatar
J. Martins
"rpc" a écrit dans le message de
news:
Merci

Je veux contrôler le scanner pour ne l'activer que lorsque c'est
nécessaire (lecture d'une code CUP par exemple) et le désactiver
lorsque l'usager doit par exemple entrer une quantité au clavier, ceci
afin d'éviter qu'une lecture de code-barres ne soit interprétée
comme une quantité et vienne fausser les résultats.

Je vais télécharger le SDK de PSION et voir si je peux en tirer
quelque chose.



Bonjour,

Est-ce que ton client a pensé aux lettres de contrôles sur les codes-barres
?


Cordialement.
Avatar
rpc
> Est-ce que ton client a pensé aux lettres de contrôles sur les codes- barres



Je ne suis pas certain du sens de ta question... Selon mon
expérience, les codes barres n'ont pas de lettres de contrôle. Les
décodeurs eux-même peuvent ajouter une lettre (ou un numéro)
identifiant le type de code barres lu (UPC, EAN, C39, C128 etc.). J'ai
modifié le composant pour Symbol afin qu'il me renvoie ce type, ce qui
me permet de contrôler les types de code barres dont je permet la
lecture selon l'information requise pour chaque champ de saisie.

Pour revenir sur le sujet d'un composant pour Teklogix, j'examine les
DLL fournies par Psion et par Symbol pour essayer de comprendre leur
fonctionnement et voir si je pourrais créer mon propre composant, mais
comme je n'y connais à peu près rien en création de composant, ni en
programmation avec les DLL, je trime dur.
Avatar
J. Martins
"rpc" a écrit dans le message de
news:

Est-ce que ton client a pensé aux lettres de contrôles sur les


codes-barres

Désolé.

Quelques explications :
Si je prends l'exemple d'un contexte industriel, les étiquettes sont le plus
souvent normalisées du fait du grand nombre de code-barres y figurant.
Néanmoins afin d'éviter les erreurs de saisie lors d'un scan (par exemple :
le code article au lieu du code colis), on insére une lettre de contrôle
dans chaque code-barre. Sur une étiquette d'un code colis on aura
par exemple le numéro du colis suivant : SO105001 mais sur le
code-barre CSO105001 pour la quantité 200 et sur le
code-barre Q200. Chaque lettre de contrôle est différente suivant la
zone à scanner et permet ainsi de vérifier que l'opérateur n'a pas
commis d'erreurs.

Dans un programme je définis toutes ces lettres de contôle en constantes
ainsi que la longueur mini et maxi des infos à scanner. Lors d'un scan d'un
code colis, je vérifie ainsi d'abord la lettre de contrôle et ensuite la
longueur du code.
Si l'opérateur doit saisir manuellement le code colis (étiquette illisible
par exemple), la lettre de contrôle lui est inconnue donc
le contrôle ne s'effectuera que sur la longueur du code saisi.

Voilà pour les lettres de contrôle qui dans ton cas pourraient également
te permettre de différencier un scan d'une saisie manuelle.

Pour ma part je ne les utilisent que pour ce quelles sont c'est à dire
des contrôles de champs.
Après avoir travaillé avec des dll spécifiques Intermec et sur des
programmes d'Interscan, j'ai abondonné les dll pour cause de portabilité.
Je vérifie tous les lecteurs pour qu'ils rajoutent un TAB à la fin de chaque
scan et dans chaque programme j'intercepte la tabulation. Je sais ainsi si
c'est un scan ou une saisie manuelle.
Avatar
rpc
Merci pour l'info.

La procédure "callback" de l'événement déclenché par le lecteur
m'informe que l'on a effectivement lu un code barres (pour
différencier d'une saisie manuelle). Ce qu'il me faut, c'est de
pouvoir contrôler le lecteur lui-même pour l'activer au besoin. Je
commence à comprendre que la ou les DLL peuvent être différentes
pour chaque fabricant (Symbol, Psion, Unitech, Intermec, etc.) et qu'il
faudra peut-être créer un composant pour chacun.

Quant à l'utilisation de lettres de contrôle telle que tu la
définis, c'est une bonne façon de procéder qui est utilisée depuis
longtemps par exemple pour les étiquettes d'expédition où l'on
retrouve plusieurs codes barres sur la même étiquette. Mais cela
relève plus de la structure (et de la qualité) de la programmation
plutôt que de la lecture du code barres elle-même.