Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 6 odgovora
  • 2.927 pregleda

Najnovija ↓

Symbol barcod čitač 31.08.2009. u 13:28 · pre 209 meseci #1


Zanima me da li netko može objasniti ili postaviti primjer kako u aplikaciji postaviti čitač za barcodove na symbol uređaju.

Skinuo sam Symbol SDK i primjere ali nikako nemogu skužiti kako dobiti barcod koji je uređaj pročitao?


lp,
Re: Symbol barcod čitač 10.09.2009. u 14:23 · pre 208 meseci #4
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.
Re: Symbol barcod čitač 11.09.2009. u 10:32 · pre 208 meseci #6
C# je u pitanju. Kod koji sam napisao pre par poruka funkcioniše besprekorno na Symbol uređajima od mc3090 pa "na bolje". :)
Re: Symbol barcod čitač 09.10.2009. u 08:27 · pre 207 meseci #7

Evo mene opet. Konvertirao sam kod iz C# u VB.NET i imam sada problem na dijelu koda :


' Zapocni citanje
Private Sub StartRead()
If ((Not (Me.MyReader) Is Nothing) _
AndAlso (Not (Me.MyReaderData) Is Nothing)) Then
Me.MyReader.ReadNotify = (Me.MyReader.ReadNotify + Me.BarEventHandler)
Me.MyReader.Actions.Read(Me.MyReaderData)
End If
End Sub

' Zaustavi sva citanja
Private Sub StopRead()
If (Not (Me.MyReader) Is Nothing) Then
Me.MyReader.ReadNotify = (Me.MyReader.ReadNotify - Me.BarEventHandler)
Me.MyReader.Actions.Flush()
End If
End Sub



Javlja mi grešku :
'Public Event ReadNotify(sender As Object, e As System.EventArgs)' is an event, and cannot be called directly. Use a 'RaiseEvent' statement to raise an event.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme