<cite id="zhpxb"></cite><cite id="zhpxb"></cite>
<cite id="zhpxb"><track id="zhpxb"></track></cite>

    <delect id="zhpxb"><track id="zhpxb"></track></delect>

      <ins id="zhpxb"></ins>
        <cite id="zhpxb"></cite>

        設為首頁添加收藏

        您好! 歡迎訪問PDA導購網,最專業的選型咨詢網站

        選型/技術疑問留言(請點擊進入留言界面)

        微信
        掃碼關注官方微信
        電話:15016095220

        您的位置:首頁>>技術文章>>其他設備售后
        其他設備售后

        銷邦X5手持終端/銷邦wince手持終端二次開發,掃描頭調用

        發布日期:2020-09-29 來源: 本站 閱讀量(2418


        銷邦X5手持終端/銷邦wince手持終端二次開發,掃描頭調用

        銷邦X5手持終端/銷邦wince手持終端二次開發,掃描頭調用需要調用專門的支持的SDK庫文件,通過銷邦手持終端自定義的API進行獲取手持終端掃描的條碼。

        銷邦X5手持機核心代碼如下:

        namespace SalesPoint.DeviceTest2

        {

            public partial class FrmScan : Form

            {


                /// <summary>

                ///函數名稱:SpGetScanSet   

                ///函數功能:獲取碼制的開啟情況  5600 4313 4500能用,其他的掃描頭暫不支持

                /// </summary>

                /// <param name="dwcode">碼制</param>

                /// <param name="state">返回參數,0表示關閉,1表示打開</param>

                /// <param name="dwexten">暫時不使用/param>

                /// <returns>0--失敗,1--成功</returns>

                [DllImport("spHardWareInterface.dll", EntryPoint = "SpGetScanSet")]

                internal static extern int SpGetScanSet(int dwcode, ref byte state, int dwExten);

                int scanCount = 0;

                int iDeviceType = 1; //掃描頭類型

                public FrmScan()

                {

                    InitializeComponent();

                }


                //初始化

                private void Form1_Load(object sender, EventArgs e)

                {

                    Sys.Initilize(); //硬件初始化

                    Thread.Sleep(500);

                    Scanner.Initilize();//掃描頭初始化

                    this.KeyPreview = true;  //一定要設置此項,否則無法掃描


                    

                    cbbHint.SelectedIndex = 0;

                    cbbHint_SelectedIndexChanged(null, null);

                    cbbScanCode.SelectedIndex = 0;

                    scanCount = 0;

                    lblCount.Text = "已掃描0條";

                    cbbScanType.Enabled = true;

                    cbbScanCode.Enabled = false;

                }


                private void Form1_Closing(object sender, CancelEventArgs e)

                {

                    Scanner.Deinitilize();//釋放掃描頭

                    Thread.Sleep(500);

                    Sys.Deinitilize();//釋放硬件

                }


                //鍵盤按鈕事件

                private void Form1_KeyDown(object sender, KeyEventArgs e)

                {

                    string BarcodeStr = string.Empty;

                    if (e.KeyValue == 131)//Scan按鍵

                    {


                        if(iDeviceType==1)//一維

                            BarcodeStr = Scanner.StartScan(ScanType.None);


                        else if (iDeviceType == 2)//二維

                        {          

                        //二維碼中如果有漢字的,出現亂碼要如下處理,二維頭(UTF8碼制請改成UTF-8,OENCP碼制請改成GB2312。。。)

                        if (cbbScanCode.SelectedIndex !=-1)

                        {

                            if ("NULL" == cbbScanCode.SelectedItem.ToString())

                            {

                                BarcodeStr = Scanner.StartScanDim2(ScanType.None);

                            }

                            if ("ASCII" == cbbScanCode.SelectedItem.ToString())

                            {

                                BarcodeStr = Scanner.StartScanDim2(ScanType.None, Encoding.ASCII);

                                byte[] Tempbuffer = Encoding.ASCII.GetBytes(BarcodeStr);

                                BarcodeStr = Encoding.ASCII.GetString(Tempbuffer, 0, Tempbuffer.Length);

                            }


                            if ("UTF-7" == cbbScanCode.SelectedItem.ToString())

                            {

                                BarcodeStr = Scanner.StartScanDim2(ScanType.None, Encoding.UTF7);

                                byte[] Tempbuffer = Encoding.UTF7.GetBytes(BarcodeStr);

                                BarcodeStr = Encoding.UTF7.GetString(Tempbuffer, 0, Tempbuffer.Length);

                            }


                            if ("UTF-8" == cbbScanCode.SelectedItem.ToString())

                            {

                                BarcodeStr = Scanner.StartScanDim2(ScanType.None, Encoding.UTF8);

                                byte[] Tempbuffer = Encoding.UTF8.GetBytes(BarcodeStr);

                                BarcodeStr = Encoding.UTF8.GetString(Tempbuffer, 0, Tempbuffer.Length);

                            }


                            if ("GB2312" == cbbScanCode.SelectedItem.ToString())

                            {

                                BarcodeStr = Scanner.StartScanDim2(ScanType.None, Encoding.Unicode);

                                byte[] Tempbuffer = Encoding.Unicode.GetBytes(BarcodeStr);

                                BarcodeStr = Encoding.Unicode.GetString(Tempbuffer, 0, Tempbuffer.Length);

                            }

                            }


                        }


                        //顯示條碼

                        if (BarcodeStr.Trim().Length > 0)

                        {


                            if (scanCount > 100)

                                btnClean_Click(null, null);


                            txtBarcode.Text += BarcodeStr + " ";//一維碼默認碼制

                          

                            Scanner.ScanSuccessSound(SalesPoint.Device.Scan.Scanner._scansoundtype);

                            //SalesPoint.Device.SoundPlay.Play("\絕對路徑\提示聲音.wav");  //如要換其他聲音文件用此方法

                            scanCount++;

                            lblCount.Text = "已掃描" + scanCount.ToString() + "條";

                            this.txtBarcode.Focus();//獲取焦點

                            this.txtBarcode.Select(this.txtBarcode.TextLength, 0);//光標定位到文本最后

                            this.txtBarcode.ScrollToCaret();//滾動到光標處

                        }

                        #region region   獲取碼制

                        string codeType;

                        codeType = Scanner.GetCodeType();

                        txtCodeType.Text = codeType;

                        #endregion endregion

                    }

                    else if (e.KeyValue == 8)

                    {

                        btnClean_Click(null, null);

                    }

                    else if (e.KeyValue == 27)

                    {

                        this.Close();

                    }


                }


                //設置掃描方式

                private void cbbScanType_SelectedIndexChanged(object sender, EventArgs e)

                {

                    try

                    {

                        if (cbbScanType.SelectedIndex == 0)

                        {

                            SalesPoint.Device.Scan.Scanner.SetTrigger(0);//單掃

                        }

                        else if (cbbScanType.SelectedIndex == 1)

                        {

                            SalesPoint.Device.Scan.Scanner.SetTrigger(2);//連掃(如掃描頭不支持則不改變)

                        }

                        else if (cbbScanType.SelectedIndex == 2)

                        {

                            SalesPoint.Device.Scan.Scanner.SetTrigger(3);//閃爍(如掃描頭不支持則不改變)

                        }

                        cbbScanType.Update();

                    }

                    catch (Exception ex)

                    {

                        MessageBox.Show(ex.Message);

                    }

                }


                private void brnExit_Click(object sender, EventArgs e)

                {

                    this.Close();

                }


                //清空數據

                private void btnClean_Click(object sender, EventArgs e)

                {

                    txtBarcode.Text = "";

                    scanCount = 0;

                    lblCount.Text = "已掃描0條";

                }


                //設置掃條提示

                private void cbbHint_SelectedIndexChanged(object sender, EventArgs e)

                {

                    if (cbbHint.SelectedItem.ToString() == "聲音")

                        SalesPoint.Device.Scan.Scanner._scansoundtype = ScanSoundType.Sound;

                    else if (cbbHint.SelectedItem.ToString() == "聲音加震動")

                    {

                        SalesPoint.Device.Scan.Scanner._scansoundtype = ScanSoundType.SoundAndMotor;

                    }

                    else  if (cbbHint.SelectedItem.ToString() == "震動")

                    {

                        SalesPoint.Device.Scan.Scanner._scansoundtype = ScanSoundType.Motor;

                    }

                    else if (cbbHint.SelectedItem.ToString() == "無提示")

                    {

                        SalesPoint.Device.Scan.Scanner._scansoundtype = ScanSoundType.Closed;

                    }

                }


               


                private void DeviceType1D_Click(object sender, EventArgs e)

                {

                    iDeviceType = 1; //一維

                    DeviceType2D.Checked = false;

                    DeviceType1D.Checked = true;

                    cbbScanType.Enabled = true;

                    cbbScanCode.Enabled = false;

                }


                private void DeviceType2D_Click(object sender, EventArgs e)

                {

                    iDeviceType = 2; //二維

                    DeviceType1D.Checked = false;

                    DeviceType2D.Checked = true;

                    cbbScanType.Enabled = false;

                    cbbScanCode.Enabled = true;

                }


              }

        }

        注意:具體的開發DEMO,更多開發資料可以聯系PDA導購網進行索取。


        銷邦X5手持終端/銷邦winCE手持終端SDK請點擊連接進行操作!


        銷邦手持終端二次開發,銷邦X5手持機調用掃描頭SDK,歡迎咨詢PDA導購網!

        商米收銀機,商米手持機,商米POS機,商米雙屏收銀機,歡迎咨詢PDA導購網!

        商米安卓手持收銀機POS機、商米單屏/雙屏收銀機、自助收銀機,歡迎咨詢PDA導購網

        PDA導購網(www.vtgvip.com)專業的條碼手持終端、工業級PDA、RFID手持機選型導購網站!

        條碼手持終端、盤點機,RFID手持終端,安卓PDA選型,請聯系PDA導購網免費給您推薦最合適的手持終端!

        聯系方式:柳工    手機(微信同號):15016095220    備注:PDA導購網


        分享到

        新浪微博

        分享到

        朋友圈

        分享到

        QQ空間

        国产精品无码v在线观看_国产91久久精品一区二区_国产精品﹣色哟哟免费_色男色女午夜福利_成人網站99re