يقوم ماسح الباركود بفك تشفير الرمز إلى رقم عشري (3 أرقام) إذا استخدمت evtkeyupeven


ماسح الباركود “الماسح الضوئي منطق البيانات المسح السريع QD2430 “اقرأ الكود بتنسيق نصي عندما أركز على أي مربع نص ولكنه يفك تشفير الكود إلى عشري (3 أرقام) إذا استخدمته evtKeyUpEvent

لذلك، يقوم بتحويل هذا الرمز “33378755971180” ل “051 051 051 055 056 055 053 053 057 055 049 049 056 048

ما حاولت:

private string BarCode = "";
   private void evtKeyUpEvent(object sender, KeyEventArgs e)

   {
       if (Keys.NumPad0 <= e.KeyCode && e.KeyCode <= Keys.NumPad9)
       {
           BuildBarCode((e.KeyCode - Keys.NumPad0).ToString());
       }
       else if (Keys.D0 <= e.KeyCode && e.KeyCode <= Keys.D9)
       {

           BuildBarCode((e.KeyCode - Keys.D0).ToString());
       }
       if (65 <= e.KeyValue && e.KeyValue <= 90)
       {
           BuildBarCode((e.KeyCode).ToString());
       }
       else if (Keys.ShiftKey == e.KeyCode)
       {
       }
       else if (Keys.OemPeriod == e.KeyCode)
       {
           BuildBarCode(".");
       }
       else if (Keys.Multiply == e.KeyCode)
       {
           BuildBarCode("*");
       }
       else if (Keys.Add == e.KeyCode)
       {
           BuildBarCode("+");
       }
       else if (Keys.Separator == e.KeyCode)
       {
           BuildBarCode("|");
       }
       else if (Keys.Subtract == e.KeyCode)
       {
           BuildBarCode("-");
       }
       else if (Keys.Divide == e.KeyCode)
       {
           BuildBarCode("/");
       }
       else if (Keys.OemBackslash == e.KeyCode)
       {
           BuildBarCode(@"\");
       }
       else if (Keys.Separator == e.KeyCode)
       {
           BuildBarCode(",");
       }
       else if (Keys.OemMinus == e.KeyCode)
       {
           BuildBarCode("-");
       }

       else if (Keys.Space == e.KeyCode)
       {
           BuildBarCode(" ");
       }
       else if (Keys.OemCloseBrackets == e.KeyCode)
       {
           BuildBarCode(")");
       }
       else if (Keys.OemOpenBrackets == e.KeyCode)
       {
           BuildBarCode("(");
       }
       else if (Keys.Oemtilde == e.KeyCode)
       {
           BuildBarCode("~");
       }

       else if (Keys.Oemcomma == e.KeyCode)
       {
           BuildBarCode(",");
       }
       else if (Keys.OemSemicolon == e.KeyCode)
       {
           BuildBarCode(";");
       }
       else if (Keys.OemSemicolon == e.KeyCode)
       {
           BuildBarCode(";");
       }


       else if (e.KeyCode == Keys.Enter || e.KeyCode == Keys.Return)
       {
           updateUIBarCode(BarCode);
       }
   }
   private void BuildBarCode(string value)
   {
       BarCode = string.Concat(BarCode, value);
   }
   public void updateUIBarCode(string i)
   {
       AddNewRowWithCode(i);
   }

الحل 1

يبدو أن قارئ الباركود يعمل على وضع إسفين لوحة المفاتيح. وهذا يعني أنه يحاكي لوحة المفاتيح.

أولاً، أنت تجعل هذا الأمر صعبًا على نفسك من خلال الارتباط بحدث KeyUp. إذا كان هذا مربع نص، فما عليك سوى إلقاء نظرة على خاصية النص عند الضغط على مفتاح الإدخال وسيحتوي ذلك على الرمز الشريطي الخاص بك.

إذا كان عليك استخدام حدث KeyUp، فاحذف معظم التعليمات البرمجية الموجودة في evtKeyUpEvent، باستثناء التحقق من مفتاح الإدخال واستخدام KeysConverter للتحويل من KeyCode إلى سلسلة.

コメント

タイトルとURLをコピーしました