示例#1
0
        public MainWindow()
        {
            InitializeComponent();

            m_nResultLineCount       = 0;
            m_bSuccessOpen           = false;
            m_nTotalScanners         = 0;
            m_nArTotalScannersInType = new int[TOTAL_SCANNER_TYPES];
            InitScannersCount();
            m_arScanners = new Scanner[MAX_NUM_DEVICES];
            for (int i = 0; i < MAX_NUM_DEVICES; i++)
            {
                Scanner scanr = new Scanner();
                m_arScanners.SetValue(scanr, i);
            }

            m_xml             = new XmlReader();
            m_nNumberOfTypes  = 0;
            m_arScannerTypes  = new short[TOTAL_SCANNER_TYPES];
            m_arSelectedTypes = new bool[TOTAL_SCANNER_TYPES];

            SetControls();

            try {
                m_pCoreScanner = new CCoreScannerClass();
                m_pCoreScanner.BarcodeEvent += new _ICoreScannerEvents_BarcodeEventEventHandler(OnBarcodeEvent);
            } catch (Exception e) {
                MessageBox.Show("Не установлены драйвера Zebra_CoreScanner_Driver: " +
                                e.Message + Environment.NewLine + e.StackTrace, "CoreScannerError",
                                MessageBoxButton.OK, MessageBoxImage.Error);
            }

            Loaded += MainWindow_Loaded;
        }
        public BarcodeScanner(NetworkStream NSMain)
        {
            stream = NSMain;
            //Instantiate CoreScanner Class
            cCoreScannerClass = new CCoreScannerClass();

            //Call Open API
            short[] scannerTypes = new short[1]; //Scanner Types you are interested in
            scannerTypes[0] = 1;                 // 1 for all scanner types
            short numberOfScannerTypes = 1;      // Size of the scannerTypes array
            int   status;                        // Extended API return code

            cCoreScannerClass.Open(0, scannerTypes, numberOfScannerTypes, out status);
            // Subscribe for barcode events in cCoreScannerClass
            cCoreScannerClass.BarcodeEvent += new
                                              _ICoreScannerEvents_BarcodeEventEventHandler(OnBarcodeEvent);
            // Let's subscribe for events
            int    opcode = 1001; // Method for Subscribe events
            string outXML;        // XML Output
            string inXML = "<inArgs>" +
                           "<cmdArgs>" +
                           "<arg-int>1</arg-int>" + // Number of events you want to subscribe
                           "<arg-int>1</arg-int>" + // Comma separated event IDs
                           "</cmdArgs>" +
                           "</inArgs>";

            cCoreScannerClass.ExecCommand(opcode, ref inXML, out outXML, out status);
        }
示例#3
0
        public Form1()
        {
            InitializeComponent();

            bool bInstanceCreate = false;

            while (!bInstanceCreate)
            {
                try
                {
                    m_pCoreScanner  = new CCoreScannerClass();
                    bInstanceCreate = true;
                }
                catch
                {
                    Thread.Sleep(1000);
                }
            }

            if (!bInstanceCreate)
            {
                Console.WriteLine("Instance Create Failed");
                return;
            }
        }
示例#4
0
        static void Main(string[] args)
        {
            /* Instatiate CoreScanner Class */
            cCoreScannerClass = new CoreScanner.CCoreScannerClass();

            //Call Open API
            short[] scannerTypes = new short[1]; // Scanner Types you are interested in
            scannerTypes[0] = 1;                 // 1 for all scanner types
            short numberOfScannerTypes = 1;      // Size of the scannerTypes array
            int   status;                        // Extended API return code

            cCoreScannerClass.Open(0, scannerTypes, numberOfScannerTypes, out status);


            /* Let's switch communication protocol */
            int    opcode = 6200;                                   //Method for switch
            string outXML;                                          //Output
            string inXml = "<inArgs>" +
                           "<scannerID>1</scannerID>" +             // The scanner you need
                           "<cmdArgs>" +
                           "<arg-string>XUA-45001-3</arg-string>" + //Target switch to SNAPI
                                                                    //Host Variant
                           "<arg-bool>FALSE</arg-bool>" +           //Silent Switch
                                                                    //Option
                           "<arg-bool>FALSE</arg-bool>" +           //Permanent
                                                                    //Change Option
                           "</cmdArgs>" +
                           "</inArgs>";

            cCoreScannerClass.ExecCommand(opcode, ref inXml, out outXML, out status);
        }
示例#5
0
 private void button1_Click(object sender, EventArgs e)
 {
     try
     {
         cCoreScannerClass = new CCoreScannerClass();
         //Call Open API
         short[] scannerTypes = new short[1]; //Scanner Types you are interested in
         scannerTypes[0] = 1;                 // 1 for all scanner types
         short numberOfScannerTypes = 1;      // Size of the scannerTypes array
         int   status;                        // Extended API return code
         cCoreScannerClass.Open(0, scannerTypes, numberOfScannerTypes, out status);
         // Subscribe for barcode events in cCoreScannerClass
         cCoreScannerClass.BarcodeEvent += new
                                           _ICoreScannerEvents_BarcodeEventEventHandler(OnBarcodeEvent);
         // Let's subscribe for events
         int    opcode = 6005; // Method for Subscribe events
         string outXML;        // XML Output
         string inXML = "<inArgs>" +
                        "<scannerID>1</scannerID>" +
                        "<cmdArgs>" +
                        "<arg-string>XUA-45001-11</arg-string>" +
                        "<arg-int>1</arg-int>" + // Number of events you want to subscribe
                        "<arg-int>0</arg-int>" + // Comma separated event IDs
                        "</cmdArgs>" +
                        "</inArgs>";
         cCoreScannerClass.ExecCommand(opcode, ref inXML, out outXML, out status);
     }
     catch (Exception exp)
     {
         Console.WriteLine("Something wrong please check... " + exp.Message);
     }
 }
        private void Form1_Load(object sender, EventArgs e)
        {
            try
            {
                cCoreScannerClass = new CoreScanner.CCoreScannerClass();

                short[] scannerTypes = new short[1];
                scannerTypes[0] = 1;
                short numberOfScannerTypes = 1;
                int   status;

                cCoreScannerClass.Open(0, scannerTypes, numberOfScannerTypes, out status);

                cCoreScannerClass.BarcodeEvent += new _ICoreScannerEvents_BarcodeEventEventHandler(OnBarcodeEvent);

                short  numberOfScanners;
                int[]  connectedScannerIDList = new int[10];
                string outXML;

                cCoreScannerClass.GetScanners(out numberOfScanners, connectedScannerIDList, out outXML, out status);

                int    opcode = 1001;
                string inXML  = "<inArgs>" +
                                "<cmdArgs>" +
                                "<arg-int>1</arg-int>" +
                                "<arg-int>1</arg-int>" +
                                "</cmdArgs>" +
                                "</inArgs>";

                cCoreScannerClass.ExecCommand(opcode, ref inXML, out outXML, out status);
            }
            catch (Exception exp)
            {
                msg.Text = exp.ToString();
            }
            //cCoreScannerClass = new CoreScanner.CCoreScannerClass();

            //short numberOfScanner;
            //int[] connectedScannerIDList = new int[10];
            //string outXML;
            //cCoreScannerClass.GetScanners(out numberOfScanner, connectedScannerIDList, out outXML, out status);
            //msg.Text = outXML;


            //if (status == 0)
            //{
            //    msg.Text = "CoreScanner API: Open Successful";
            //    //Console.WriteLine("CoreScanner API: Open Successful");
            //}
            //else
            //{
            //    msg.Text = "CoreScanner API: Open Failed";
            //    //Console.WriteLine("CoreScanner API: Open Failed");
            //}
        }
示例#7
0
        private void ScanNominalTask_Load(object sender, EventArgs e)
        {
            FetchSavePath();

            try
            {
                using (var conn = new SqlConnection(MainForm.mainForm.ConnectionPTS))
                {
                    conn.Open();
                    using (var comm = conn.CreateCommand())
                    {
                        comm.CommandText = "SELECT * FROM ScanFields";
                        using (var dr = comm.ExecuteReader())
                        {
                            while (dr.Read())
                            {
                                markers.Add(new Markers {
                                    Caption = dr["Caption"].ToString(), Value = dr["Value"].ToString(), Tags = dr["Tags"].ToString()
                                });
                            }
                        }
                    }
                }
            }
            catch (SqlException ex)
            {
                XtraMessageBox.Show(ex.Message.ToString());
            }

            try
            {
                cCoreScannerClass = new CCoreScannerClass();
            }
            catch (Exception)
            {
                Thread.Sleep(1000);
                cCoreScannerClass = new CCoreScannerClass();
            }

            short[] scannerTypes = new short[1]; //Scanner Types you are interested in
            scannerTypes[0] = 1;                 // 1 for all scanner types
            short numberOfScannerTypes = 1;      // Size of the scannerTypes array

            cCoreScannerClass.Open(0, scannerTypes, numberOfScannerTypes, out status);
            cCoreScannerClass.BarcodeEvent += new CoreScanner._ICoreScannerEvents_BarcodeEventEventHandler(OnBarcodeEvent);

            inXML = "<inArgs>" +
                    "<cmdArgs>" +
                    "<arg-int>1</arg-int>" + // Number of events you want to subscribe
                    "<arg-int>1</arg-int>" + // Comma separated event IDs
                    "</cmdArgs>" +
                    "</inArgs>";

            timer.Start();
        }
        public void OpenScanner()
        {
            int    opcode;
            string outXML;
            string inXML;

            //Instantiate CoreScanner Class
            cCoreScannerClass = new CCoreScannerClass();
            //Call Open API
            short[] scannerTypes = new short[1]; //Scanner Types you are interested in
            scannerTypes[0] = 1;                 // 1 for all scanner types
            short numberOfScannerTypes = 1;      // Size of the scannerTypes array
            int   status;                        // Extended API return code

            cCoreScannerClass.Open(0, scannerTypes, numberOfScannerTypes, out status);

            opcode = 6000; // Method for Beep the beeper
            //outXML; // Output
            inXML = "<inArgs>" +
                    "<scannerID>1</scannerID>" + // The scanner you need to beep
                    "<cmdArgs>" +
                    "<arg-int>43</arg-int>" +    // 4 high short beep pattern
                    "<arg-int>2</arg-int>" +
                    "</cmdArgs>" +
                    "</inArgs>";
            cCoreScannerClass.ExecCommand(opcode, ref inXML, out outXML, out status);

            opcode = 6000; // Method for Beep the beeper
            //outXML; // Output
            inXML = "<inArgs>" +
                    "<scannerID>1</scannerID>" + // The scanner you need to beep
                    "<cmdArgs>" +
                    "<arg-int>7</arg-int>" +     // 4 high short beep pattern
                    "</cmdArgs>" +
                    "</inArgs>";
            cCoreScannerClass.ExecCommand(opcode, ref inXML, out outXML, out status);

            opcode = 1001; // Method for Subscribe events
            //outXML; // XML Output
            inXML = "<inArgs>" +
                    "<cmdArgs>" +
                    "<arg-int>1</arg-int>" + // Number of events you want to subscribe
                    "<arg-int>1</arg-int>" + // Comma separated event IDs
                    "</cmdArgs>" +
                    "</inArgs>";
            cCoreScannerClass.ExecCommand(opcode, ref inXML, out outXML, out status);
            cCoreScannerClass.BarcodeEvent += new _ICoreScannerEvents_BarcodeEventEventHandler(OnBarcodeEvent);
        }
示例#9
0
        private static void beginListeningForEvents(CCoreScannerClass scannerInstance)
        {
            int    status;
            int    listenForEventsOpcode = 1001;
            string outXML;

            int    numberOfEventsToListenFor = 2;
            string barcodeScanEvent          = "1";
            string plugAndPlayEvent          = "16";

            string inXML = "<inArgs>" +
                           "<cmdArgs>" +
                           "<arg-int>" + numberOfEventsToListenFor + "</arg-int>" +
                           "<arg-int>" + barcodeScanEvent + "," + plugAndPlayEvent + "</arg-int>" +
                           "</cmdArgs>" +
                           "</inArgs>";

            scannerInstance.ExecCommand(listenForEventsOpcode, ref inXML, out outXML, out status);
        }
示例#10
0
        public void bootstrapScangun()
        {
            short[] scannerTypes = new short[1];
            scannerTypes[0] = 1;             //all scanner types
            short lengthOfTypes = 1;
            int   status;
            short numScanners;

            int[]  scannerList = new int[255];
            string xml;

            CCoreScannerClass scannerInstance = new CCoreScannerClass();

            scannerInstance.PNPEvent     += new _ICoreScannerEvents_PNPEventEventHandler(OnPNPEvent);
            scannerInstance.BarcodeEvent += new _ICoreScannerEvents_BarcodeEventEventHandler(OnBarcodeEvent);

            scannerInstance.Open(0, scannerTypes, lengthOfTypes, out status);
            scannerInstance.GetScanners(out numScanners, scannerList, out xml, out status);

            beginListeningForEvents(scannerInstance);
        }
示例#11
0
        public FormJobScanner()
        {
            InitializeComponent();

            try
            {
                m_pCoreScanner = new CoreScanner.CCoreScannerClass();
            }
            catch (Exception)
            {
                Thread.Sleep(1000);
                m_pCoreScanner = new CoreScanner.CCoreScannerClass();
            }

            int status = 1;

            short[] m_arScannerTypes = new short[1];
            m_arScannerTypes[0] = 1;
            short m_nNumberOfTypes = 1;

            m_pCoreScanner.Open(0, m_arScannerTypes, m_nNumberOfTypes, out status);

            m_pCoreScanner.BarcodeEvent += new _ICoreScannerEvents_BarcodeEventEventHandler(OnBarcodeEvent);

            string inXml = "<inArgs>" +
                           "<cmdArgs>" +
                           "<arg-int>6</arg-int>" +
                           "<arg-int>1,2,4,8,16,32</arg-int>" +
                           "</cmdArgs>" +
                           "</inArgs>";
            string outXml = "";

            status = 1;
            m_pCoreScanner.ExecCommand(1001, ref inXml, out outXml, out status);
            Debug.Print(" *** Status: " + status.ToString());
        }
示例#12
0
 private void CreateCoreScanner()
 {
     m_pCoreScanner = new CCoreScannerClass();
     m_pCoreScanner.BarcodeEvent += new CoreScanner._ICoreScannerEvents_BarcodeEventEventHandler(OnBarcodeEvent);
     m_pCoreScanner.PNPEvent += new CoreScanner._ICoreScannerEvents_PNPEventEventHandler(OnPNPEvent);
 }
示例#13
0
        public void Disconnect()
        {
            if (m_bSuccessOpen)
            {
                int appHandle = 0;
                int status = STATUS_FALSE;
                try
                {
                    m_pCoreScanner.Close(appHandle, out status);
                    DisplayResult(status, "CLOSE");
                    if (STATUS_SUCCESS == status)
                    {
                        m_bSuccessOpen = false;
                        //lstvScanners.Items.Clear();
                        //combSlcrScnr.Items.Clear();
                        m_nTotalScanners = 0;
                        //InitScannersCount();
                        //UpdateScannerCountLabels();
                        //SetControls();

                        m_pCoreScanner = null;
                    }
                }
                catch (Exception exp)
                {
                    MessageBox.Show("CLOSE Error - " + exp.Message);
                }
            }
        }
示例#14
0
        public bool Connect()
        {
            if (!m_bSuccessOpen)
            {
                int appHandle = 0;
                GetSelectedScannerTypes();
                int status = STATUS_FALSE;

                try
                {
                    CreateCoreScanner();
                    m_pCoreScanner.Open(appHandle, m_arScannerTypes, m_nNumberOfTypes, out status);
                    DisplayResult(status, "OPEN");
                    if (STATUS_SUCCESS == status)
                    {
                        m_bSuccessOpen = true;
                    }
                    else
                        m_pCoreScanner = null;
                }
                catch (Exception exp)
                {
                    m_pCoreScanner = null;
                    MessageBox.Show("Error OPEN - " + exp.Message);
                }
            }
            return m_bSuccessOpen;
        }