delphi4arab منتديات دلفي للعرب
كيفية إجبار الـ Edit على عدم السماح بالكتابة إلا من جهاز البار كود. - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : كيفية إجبار الـ Edit على عدم السماح بالكتابة إلا من جهاز البار كود. (/showthread.php?tid=161)

الصفحات: 1 2


كيفية إجبار الـ Edit على عدم السماح بالكتابة إلا من جهاز البار كود. - Prof.Adnan - 29-04-2008

قارئ الباركود من نوعية OPTICON ....


والله ولي التوفيق.

أخوكم Prof.Adnan.


كيفية إجبار الـ Edit على عدم السماح بالكتابة إلا من جهاز البار كود. - Prof.Adnan - 29-04-2008

هذه صفحة المنتج في موقع الشركة...


[صورة: opr2001_largeimage.jpg]

http://www.opticon.com/Cabled-1D-laser--Laser-Barcode-Scanner--01022410024002.aspx



**** من الأخ DeltaAziz شرح العمليات وجزاه الله كل خير....



والله ولي التوفيق

أخوكم Prof.Adnan



كيفية إجبار الـ Edit على عدم السماح بالكتابة إلا من جهاز البار كود. - محمد عبد العزيز - 29-04-2008


القاعدة العامة:
كل جهاز يوصل بالحاسب يمكن برمجته بالحصول على SDK من الشركة المصنعة له
بالSDK تجد كل المعلومات الكافية والشافية للتعامل مع ذلك الجهاز
عليك بالأ تصال بالشركة وطلب منها SDK الذي غالبا ما لايكون مجاني
-
طبعا هناك طرق اخرى مثل الهندسة العكسية...

والسلام عليكم ورحمة الله



كيفية إجبار الـ Edit على عدم السماح بالكتابة إلا من جهاز البار كود. - Prof.Adnan - 29-04-2008

كيف يمكننا معرفة الجهاز الذي يكتب في Edit معينة...؟؟؟


والله ولي التوفيق

أخوكم Prof.Adnan


كيفية إجبار الـ Edit على عدم السماح بالكتابة إلا من جهاز البار كود. - مهدي - 30-04-2008

إليك هذا الكود الذي تستطيع أن تتعرف به على خصائص لوحة المفاتيح

كود :
[B]function [/B]KeyBoardType: [B]string[/B]; [B]begin case [/B]GetKeyboardType(0) [B]of [/B]1: Result := 'IBM PC/XT or compatible (83-key) keyboard'; 2: Result := 'Olivetti "ICO" (102-key) keyboard'; 3: Result := 'IBM PC/AT (84-key) or similar keyboard'; 4: Result := 'IBM enhanced or compatible'; 5: Result := 'Nokia 1050 and similar keyboards'; 6: Result := 'Nokia 9140 and similar keyboards'; 7: Result := 'Japanese keyboard' [B]else [/B]Result := 'Unrecognized keyboard type'; [B]end[/B]; [B]end[/B]; [B]function [/B]KeyBoardSubype: Integer; [B]begin [/B]Result := GetKeyboardType(1); [B]end[/B]; [B]function [/B]NumberOfFunctionKeys: [B]string[/B]; [B]begin case [/B]GetKeyboardType(3) [B]of [/B]1: Result := '20'; 2: Result := '12/18'; 3: Result := '10'; 4: Result := '12'; 5: Result := '10'; 6: Result := '24'; 7: Result := 'Hardware dependent' [B]else [/B]Result := 'N/A'; [B]end[/B]; [B]end[/B]; [B]procedure [/B]TForm1.Button1Click(Sender: TObject); [B]begin [/B]label1.Caption := Format('Keyboard Type: %s', [KeyBoardType]); Label2.Caption := Format('Keyboard Subtype: %d', [KeyBoardSubype]); Label3.Caption := Format('Keyboard Subtype: %s', [NumberOfFunctionKeys]); [B]end[/B]
لكن أحسن أن تبحث على SDK الذي ذكره الأخ عزيز.

فإن لم يكن لديه SDK فلدي فكرة سنقوم بتجريبها.


كيفية إجبار الـ Edit على عدم السماح بالكتابة إلا من جهاز البار كود. - مهدي - 02-05-2008

قم بتجريب المثال التالي

المثال في المرفقات


كيفية إجبار الـ Edit على عدم السماح بالكتابة إلا من جهاز البار كود. - wesamnet - 07-12-2008

للأسف لا يتوفر لدي برنامج delphi على جهازي حاليا ولكني قمت بحل مثل هذه المشكلة من قبل بشكل بسيط جدا
من المعروف أن سرعة إدخال الأرقام عن طريق الباركود ريدير لا تتعدى الثانية الواحدة
و من الواضح أن البرنامج الذي تتعامل معه يتعامل مع قواعد بيانات لها طول معين للباركود
المهم الطريقة عليك إتباع التالي :
عليك أن تكتب عند الحدث editchange دالة لتحديد الوقت الحالي مثلا
كود :
timenow := now ;
حيث يتم تعريف المتغير timenow من نوع ttime بشكل عام
ثم يتم تفعيل timer لتأكد من طول مربع النص
كود :
procedure timer1.ontimer begin if (length (edit1.text) <= 5) and (secoundbetween(timenow,now)<1) then edit1.text := '' end;
طبعا أنا أفترضت في هذا المثال أن طول الباركود لا يقل عن 5 أرقام أو أحرف
أتمنى أني وفقت لتوصيل المعلومة وشكرا


كيفية إجبار الـ Edit على عدم السماح بالكتابة إلا من جهاز البار كود. - معمر محسن - 11-12-2008

عندي عكس هذه المشكلة وهي اني **** ان امنع الباركود من الادخال وليس المستخدم حيث ان اجهزة الباركود usb تقوم بادخال الرقم في اي محرر نصوص مفتوح بمجرد مرور الباركود امامها فاحيانا يكون الادخال ليس في الخانةالمطلوب ادخال الرقم بها بل احيانا يكون جدول بيانات مفتوح فتدخل القيمة بالخطأ باحد الحقول وتغير القيمة الموجودة به اصلا فكيف يمكن التحكم بمتى يسمح بقبول القيم المدخلة من قبل الباركود ومتى يتم رفضها
واعتقد ان القول بان قارئ الباركود مثل لوحة المفاتيح وعلى المستخدم ان يكون منتبها اين ومتى يقوم بعملية الادخال هو قول خاطئ لان دور المبرمج حماية المستخدم من الاخطاء المحتملة