Najpre deklarišeš Reader, ReaderData i EventHandler da hvataš barkodove:
Code:
Symbol.Barcode.Reader MyReader = null;
Symbol.Barcode.ReaderData MyReaderData = null;
System.EventHandler BarEventHandler = null;
Zatim koristiš ove funkcije:
Code:
// inicijalizacija reader-a
private bool InitReader()
{
if (this.MyReader != null)
return false;
this.MyReader = new Symbol.Barcode.Reader();
this.MyReaderData = new Symbol.Barcode.ReaderData(
Symbol.Barcode.ReaderDataTypes.Text,
Symbol.Barcode.ReaderDataLengths.MaximumLabel);
this.BarEventHandler = new EventHandler(BarReader_ReadNotify);
this.MyReader.Actions.Enable();
this.MyReader.Parameters.Feedback.Success.BeepTime = 0;
this.MyReader.Parameters.Feedback.Success.WaveFile = "\\windows\\alarm3.wav";
return true;
}
// Zaustavi čitanje i zatvori reader
private void TermReader()
{
if (this.MyReader != null)
{
this.MyReader.Actions.Disable();
this.MyReader.Dispose();
this.MyReader = null;
}
if (this.MyReaderData != null)
{
this.MyReaderData.Dispose();
this.MyReaderData = null;
}
}
// Započni čitanje
private void StartRead()
{
if ((this.MyReader != null) &&
(this.MyReaderData != null))
{
this.MyReader.ReadNotify += this.BarEventHandler;
this.MyReader.Actions.Read(this.MyReaderData);
}
}
// Zaustavi sva čitanja
private void StopRead()
{
if (this.MyReader != null)
{
this.MyReader.ReadNotify -= this.BarEventHandler;
this.MyReader.Actions.Flush();
}
}
// notifikacija, pokretanje HandleData funkcije koja, je li, operiše sa dobijenim barkodom
private void BarReader_ReadNotify(object sender, EventArgs e)
{
Symbol.Barcode.ReaderData TheReaderData = this.MyReader.GetNextReaderData();
if (TheReaderData.Result == Symbol.Results.SUCCESS)
{
this.HandleData(TheReaderData);
this.StartRead();
}
}
// operacije sa dobijenim kodom
private void HandleData(Symbol.Barcode.ReaderData TheReaderData)
{
// ovde ubaciš svoje operacije sa kodom
MessageBox.Show(TheReaderData.Text);
}
Reader inicijalizuješ u npr. OnLoad funkciji tvog programa sa:
Code:
if (this.InitReader()) this.StartRead();
A zatvaraš ga u npr. Closing sa:
Code:
this.TermReader();
Nadam se da će ovaj source biti od pomoći.