PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → BaracodaPencil (crayon lecteur codes barres) et Windev Mobile 9
BaracodaPencil (crayon lecteur codes barres) et Windev Mobile 9
Débuté par nasdron, 29 juin 2005 12:21 - 5 réponses
Posté le 29 juin 2005 - 12:21
Quelqu'un a-t-il une expérience en "BaracodaPencil" et Windev Mobile 9 ?

Ce crayon "Bluetooth" est livré avec un utilitaire "KEMUL" censé transmettre le résultat des lectures de codes barres dans le buffer clavier, le rendant théoriquement utilisable dans n'importe quelle application utilisant des champs de saisie.

Las, ce outil "KEMUL" fonctionne avec les applications standards (Pocket Word, ...) mais PAS avec les applications écrites en WinDev Mobile 9 !!!

Une idée ???
Nicolas.
Posté le 29 juin 2005 - 13:09
La question a poser c'est:

Existe-t-il pour Windev9 Mobile un crayon fiable utilisable et totalement compatible?
Si c'est oui alors dans ce cas nous avons la solution:

Nous disons a nos clients d'acheter ce ou ces crayons compatibles pour nos applis
Windev9.

Vu le prix de ces crayons c'est la solution la plus simple et la plus economique.


Donc si quelqu'un a teste un crayon et qu'il marche sur Windev9 Mobile qu'il se fasse connaitre, nous le remercions par avance.
Posté le 29 juin 2005 - 13:40
Alors personnellement, on se sert des douchette baracoda, et le problème est identique, c'est à dire que sous PocketWord, PocketExcel, etc.. cela fonctionne parfaitement mais pas sous des application WM9.....

enfin oui et non... Disons que j'ai réussi à isoler un début de piste concernant mes applications se servant de code barre... Voilà ma procédure... :

je crée une nouvelle fenêtre
JE LAISSE TOUS LES CHAMPS CREER AVEC LE NOM PAR DEFAUT (fenetre1, libelle1, etc... j'ai essayer de modifier les noms et ça ne marchait plus après.... quel est le rapport ??? aucun mais bon on se concentre sur un résultat fonctionnel...)
J'ENLEVE sur TOUT les champs, selecteur,liste,etc... LA POSSIBILITE D'Y ACCEDER PAR LA TOUCHE TAB.

et j'arrive à avoir une appli qui fonctionne avec la douchette....
J'espère que le résultat sera identique pour vous....
Posté le 29 juin 2005 - 16:14
Baracoda marche donc (ca n'a aucune importance de garder le nom par defaut et de decocher Tab)

On vous remercie pour cette bonne nouvelle.
Posté le 30 juin 2005 - 11:14
Bonjour,

Avez-vous configurer votre lecteur ? Ainsi, la configuration par défaut implique souvent après la lecteur d'un code à barre, la transmission supplémentaire de la touche ENTREE ou TAB (Selon les marques et les modèles). Aussi faut-il modifier/annuler ce POSTFIX. S'il y a un PREFIX faire de même.
Quelque soit le fabricant, ils ne fournissent en général qu'un petit guide de mise en route rapide. Dans celui-ci il n'y a pas ce qu'il faut pour le modifier. Il existe pour tout lecteur un guide complet de configuration, mais il faut le demander au fabricant ou au revendeur. Malencontreusement, ils trainent tous des pieds pour vous le donner. Il faut vraiment insister pour l'avoir.

Compte tenu que cela fonctionne bien dans PocketWord et PocketExcel, la lecture du code à barres ne fait qu'émuler la frappe des touches du clavier. Donc fait également attention aux lettres d'appel de vos boutons dans WM9 (&...)

Salutations.
Posté le 02 juillet 2005 - 03:51
Salut à tous.

Finalement, j'ai fait en sorte que mon application "Windev mobile" réagisse comme un "plugin" du Baracoda Manager 3.0 (SDK disponible sur le site www.baracode.com)

Le gros avantage est que l'application reçoit un événement à chaque lecture code barres, et peut décider de l'action à mener (ignorer, copier le contenu dans un champs de saisie, ...).

Quelques extraits du code

1) Initialisation
// variables globales
msg_bm_new_barcode est un entier
MyEvenement est un entier

PROCEDURE Init_baracoda()
ChargeDLL("BM_DLL.DLL")
SI API("BM_DLL.DLL", "InitBMDllW", Null) <> 0 ALORS
RENVOYER -1
FIN
SI API("BM_DLL.DLL", "RegisterToBM", Handle(FRM_MAIN), "TEST Windev") <> 0 ALORS
RENVOYER -2
FIN
msg_bm_new_barcode = API("coredll", "RegisterWindowMessageW", "BM_NEW_BARCODE")
MyEvenement = Evénement("OnNewBarcode", "*.*", msg_bm_new_barcode)
RENVOYER 0

2) Lecture d'un code barre
FONCTION OnNewBarcode(wParam, lParam)
rc est un entier
s est une chaîne

s = Répète(" ", 50)
rc = API("BM_DLL.DLL", "ReadDataW",0, Null)
IF (rc <= 50) ALORS
rc = API("BM_DLL.DLL", "ReadDataW", 0, s)
// AJOUTER LE TRAITEMENT DU CODE BARRE CONTENU DANS s
END

3) Finalisation
PROCEDURE Close_baracoda()
RC est un entier
RC = API("BM_DLL.DLL", "UnRegisterFromBM", Handle(FRM_MAIN))
FinEvénement(MyEvenement)
RC = API("BM_DLL.DLL", "CleanBMDll")


Pour fonctionner comme un "plugin", outre les quelques "API" décrits ci-dessus, il convient de placer l'application dans le répertoire "PLUGINS" du "Baracoda Manager". L'application sera alors automatiquement exécutée lors de la connexion du BaracodePencil.