Contrôle de scan lecteur code barre PDA

Allain90 Messages postés 17 Date d'inscription jeudi 5 septembre 2013 Statut Membre Dernière intervention 13 avril 2015 - 19 sept. 2013 à 15:24
Allain90 Messages postés 17 Date d'inscription jeudi 5 septembre 2013 Statut Membre Dernière intervention 13 avril 2015 - 24 sept. 2013 à 10:31
Bonjour à toutes et à tous,
Je developpe une apllication mobile pour PDA en C#, j'ai un problème concernant la saisie de code barre via la douchette.
J'aimerais avoir si un DLL existe afin de faciliter mon travail. J'ai contacter le constructeur (Symbol) et aucune nouvelle...
Pour vous expliquer en gros ce que je veux faire sur pda:
- Au clic sur un bouton, j'active le laser
- L'utilisateur scan le code barre
- j'éteinds le laser
- Je rècupère la valeur scanner du code barre et je la met dans une textBox
Voila tout,
Si quelq'un aurait une idée, sa m'arrangerai bien.
Dans l'attente de vos réponses.
Cdt,

2 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
19 sept. 2013 à 16:07
Bonjour,

Quel framework utilises-tu ?

Sébastien
0
Allain90 Messages postés 17 Date d'inscription jeudi 5 septembre 2013 Statut Membre Dernière intervention 13 avril 2015
24 sept. 2013 à 10:31
framework 3.5
0
yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 26
23 sept. 2013 à 21:24
Salut,

Concernant les "douchettes", tout est automatique. Il suffit d'avoir le focus sur un TextBox et la valeur scannée s'affiche.
(le laser est activé par l'utilisateur et pas par le code)

Par contre, pour les pda/mobiles,
tous les SDK proposent des objets/méthodes pour attaquer le scanner.
Avec le EMDK (Symbol) de Motorola par exemple, il suffit d'utiliser le Reader proposé et ses events de lecture/status,
il te donnera le type de cab lu (cod128, 2/5 ect...) et la valeur lue.
A toi d'en faire ce que tu veux après.

// L'assembly utilisé
using Symbol.Barcode

// Les objets utiles
Reader myReader = null;
ReaderData myReaderData = null;
EventHandler myReadNotifyHandler = null;
EventHandler myStatusNotifyHandler = null;

// Faire une fnc d'init (a mettre dans une classe outil)

myReader = new Reader(); // utilise le Device primaire
myReaderData = new ReaderData(
	ReaderDataTypes.Text,
	ReaderDataLengths.MaximumLabel);
myReader.Actions.Enable();

// Laser
myReader.ReaderParameters.ReaderSpecific.LaserSpecific.AimType = AIM_TYPE.AIM_TYPE_TRIGGER;

// Active les decodeurs par défaut
myReader.Decoders.DEFAULT.Enabled = true;
// ou active un type spécifique
myReader.Decoders.SetEnabled(DecoderTypes.CODE128, true);

// Rends les éventuelles modifications actives
myReader.Actions.SetParameters();

// Faire une fonction StartRead
public void StartRead(bool toggleSoftTrigger)
{
    // Submit a read
}

// Faire un fnc StopRead
public void StopRead()
{
}

// Et faire les fnc Attach et DetachNotify
public void AttachReadNotify(EventHandler ReadNotifyHandler)
{
}
public void DetachReadNotify()
{
}

// Enfin faire les fnc Attach et DetachStatusNotify
public void AttachStatusNotify(EventHandler StatNotifyHandler)
{
}
public void DetachStatusNotify()
{
}


// Dans l'app. principale, suffit d'utiliser le tout
// dans une méthode du style
private void loadScanData(bool bActivate)
{
	
	if ( bActivate )
	{
		// Start a read operation & attach a handler.
		this.m_refAPI.StartRead(false);
		this.myReadNotifyHandler = new EventHandler(myReader_ReadNotify);
		this.m_refAPI.AttachReadNotify(myReadNotifyHandler);
	}
	else
	{
		this.m_refAPI.StopRead();
		this.m_refAPI.DetachReadNotify();
		this.myReadNotifyHandler = null;
	}
}


// this est un formulaire
// m_refAPI est la classe outil qui encapsule les APIs Symbol



bye...
0
Rejoignez-nous