Exemple #1
0
 public static string scan()
 {
     ReadDataSize[0] = 0;
     Array.Clear(barcodeData, 0, barcodeData.Length);
     reslut = CommonClass.SoftDecoding_Scan(iTimeout, barcodeData, 2048, ReadDataSize);
     if (reslut)
     {
         leng = (int)(ReadDataSize[0]) - 2;//Convert.ToInt32(ReadDataSize[0])-2;
         if (leng >= 2048)
         {
             MessageBox.Show("条码长度超长!");
             return("");
         }
         try
         {
             int n = 0;
             if (n == 0)
             {
                 //从第三位开始取内容(第一位为条码类型,第二位为长度)
                 data = System.Text.Encoding.UTF8.GetString(barcodeData, 2, leng);
             }
             else if (n == 1)
             {
                 data = System.Text.Encoding.GetEncoding("Windows-1252").GetString(barcodeData, 2, leng);
             }
             else if (n == 2)
             {
                 data = System.Text.Encoding.GetEncoding("GB2312").GetString(barcodeData, 2, leng);
             }
             else if (n == 3)
             {
                 data = System.Text.Encoding.Unicode.GetString(barcodeData, 2, leng);
             }
             else
             {
                 data = System.Text.Encoding.UTF8.GetString(barcodeData, 2, leng);
             }
         }
         catch (Exception ex)
         {
             MessageBox.Show("扫描失败: " + ex.Message);
             return("");
         }
         return(data);
     }
     else
     {
         return("");
     }
 }