예제 #1
0
        private void bnVersion_Click(object sender, EventArgs e)
        {
            uint   ulState = EM1300DLL.EM1300GetVersion();
            string s       = String.Format("软件版本:V{0:F2}!", ulState * 1.0 / 100);

            MessageBox.Show(s);
        }
예제 #2
0
 private void ReadBarcode()
 {
     byte[] ReceiveBuf;
     byte[] CountBuf;
     ReceiveBuf = new byte[128];
     CountBuf   = new byte[1];
     while (true)
     {
         if (0 /*WAIT_OBJECT_0*/ == EM1300DLL.WaitForSingleObject(exitThreadEvent, 0))
         {
             break;
         }
         Ret_Value uiState = EM1300DLL.EM1300GetDecodeData(ReceiveBuf, CountBuf);
         if (uiState == Ret_Value.RECEIVE_SUCCESS)
         {
             strDisp = "";
             //Buzzer.BeepOK();
             int count = CountBuf[0];
             for (int i = 0; i < count; i++)
             {
                 strDisp += (char)ReceiveBuf[i];
             }
             somedle sd = new somedle(ShowBarcode);
             this.Invoke(sd);
         }
         Thread.Sleep(2);
     }
 }
예제 #3
0
 private void ReadBarcode()
 {
     byte[] ReceiveBuf;
     byte[] CountBuf;
     ReceiveBuf = new byte[128];
     CountBuf   = new byte[1];
     while (true)
     {
         if (paused)
         {
             resumeEvent.WaitOne();
             paused = false;
         }
         Ret_Value uiState = EM1300DLL.EM1300GetDecodeData(ReceiveBuf, CountBuf);
         if (uiState == Ret_Value.RECEIVE_SUCCESS /*RECEIVE_SUCCESS*/)
         {
             strDisp = "";
             Buzzer.BeepOK();
             int count = CountBuf[0];
             for (int i = 0; i < count; i++)
             {
                 strDisp += (char)ReceiveBuf[i];
             }
             Pause();
         }
         Thread.Sleep(2);
     }
 }
예제 #4
0
 private void bnStop_Click(object sender, EventArgs e)
 {
     if (Ret_Value.SUCCESS_SETTING != EM1300DLL.EM1300DecodeState(false))
     {
         MessageBox.Show("停止扫描失败");
     }
 }
예제 #5
0
 private void Scan_Closed(object sender, EventArgs e)
 {
     EM1300DLL.EM1300SerialTerminate();
     if (readThread != null)
     {
         readThread.Abort();
     }
 }
예제 #6
0
 private void bnSetPattern_Click(object sender, EventArgs e)
 {
     if (Ret_Value.SUCCESS_SETTING != EM1300DLL.EM1300TriggerState(pattern[cbPattern.SelectedIndex]))
     {
         MessageBox.Show("设置触发方式失败");
         return;
     }
     bnStart.Enabled = cbPattern.SelectedIndex == 4;
     bnStop.Enabled  = cbPattern.SelectedIndex == 4;
 }
예제 #7
0
 private void Scan_KeyUp(object sender, KeyEventArgs e)
 {
     if (e.KeyData == Keys.F20)
     {
         if (Ret_Value.SUCCESS_SETTING != EM1300DLL.EM1300DecodeState(false))
         {
             MessageBox.Show("关闭扫描失败");
             //return;
         }
         State = false;
     }
 }
예제 #8
0
 private void Scan_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.KeyData == Keys.F20)
     {
         if (State == false)
         {
             if (Ret_Value.SUCCESS_SETTING != EM1300DLL.EM1300DecodeState(true))
             {
                 MessageBox.Show("开始扫描失败");
             }
             State = true;
             resumeEvent.Set();
         }
     }
 }
예제 #9
0
 public Demo()
 {
     InitializeComponent();
     foreach (string s in pattername)
     {
         cbPattern.Items.Add(s);
     }
     cbPattern.SelectedIndex = 4;
     if (Ret_Value.INIT_OK != EM1300DLL.EM1300SerialInit(Seriao_Port.COM2))
     {
         MessageBox.Show("启动通信失败");
         Application.Exit();
     }
     exitThreadEvent = EM1300DLL.CreateEvent(0, 1, 0, 0);
     readThread      = new Thread(new ThreadStart(ReadBarcode));
     readThread.Start();
     KeyPreview = true;
 }
예제 #10
0
        public Scan()
        {
            InitializeComponent();

            if (Ret_Value.INIT_OK != EM1300DLL.EM1300SerialInit(Seriao_Port.COM5))
            {
                MessageBox.Show("启动通信失败");
                Application.Exit();
            }

            resumeEvent = new ManualResetEvent(false);
            resumeEvent.Reset();
            paused     = true;
            readThread = new Thread(new ThreadStart(ReadBarcode));
            readThread.Start();

            //Pause();

            ExePath    = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase);
            bmp_up     = new Bitmap(ExePath + @"\up-ReadBarcode.bmp");
            bmp_down   = new Bitmap(ExePath + @"\down-ReadBarcode.bmp");
            KeyPreview = true;
        }
예제 #11
0
 private void Demo_Closing(object sender, CancelEventArgs e)
 {
     EM1300DLL.SetEvent(exitThreadEvent);
     readThread.Join();
     EM1300DLL.CloseHandle(exitThreadEvent);
 }