delphi4arab منتديات دلفي للعرب
استعمال الباركود في جلب المعلومات من قاعدة البيانات - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي التقنية (https://delphi4arab.net/forum/forumdisplay.php?fid=6)
+--- قسم : دلفي و التعامل مع قواعد البيانات (https://delphi4arab.net/forum/forumdisplay.php?fid=23)
+--- الموضوع : استعمال الباركود في جلب المعلومات من قاعدة البيانات (/showthread.php?tid=7612)

الصفحات: 1 2


استعمال الباركود في جلب المعلومات من قاعدة البيانات - أبو معاذ - 14-03-2016

السلام عليكم ورحمة  الله وبركاته ،
في الحقيقة كان كلما سألني شخص : "  هل برنامجك يتستعمل الباركود" ، كان هذا السؤال يضعني في مأزق لجهلي بهذا البراكود . Dodgy 
لكن عزمت على استعماله في برامجي ، اشتريت جهاز الباركود منفذ USB  ، و اتكلت على الله ،
وكانت المفاجأة أن هذا الجهاز ليس إلا  لوحة المفاتيح ، واستعماله غاية في السهولة.
لنفرض أن لدينا جدول اسمه Articles  يحوي قائمة المواد بأسمائها و لنفرض أن هذا الجدول يحوي الخصائص التالية :
 CodeArticle  (أي الكود)
Designation  (أي التعيين)
Qte(أي الكمية الموجودة في المخزون)
Prix(أي ثمن المادة)
البريمج (تصغير برنامج Big Grin ) الذي سنقوم بإنشائه هو إدخال كود المادة  CodeArticle  و البريمج يقوم بجلب جميع معلومات المادة.
نقوم بإنشاء برنامج جديد ، نضع المكونات التالية Edit1 ،  DbEdit1  ، DbEdit2 ، DbEdit3
نضع مكون  Query  أو  ADOQuery أو IBQuery  على حسب الذوق.
في تعليمة ال Query  ندخل التعليمة التالية :

كود :
Select Designation  ,Qte,Prix From Articles   Where CodeArticle = :C

حيث أن C  هو باراميتر.
لحد الساعة لم نأت بشيء جديد.
المكون Edit1  نستعمله في إدخال قيمة CodeArticle .
عندما يدخل الزبون قيمة في Edit1  و يضغط على زر Enter في لوحة المفاتيح ، نقوم بالبحث عن الكود المادة.
في الحدث  OnKeyDown الخاص بال Edit1  نكتب ما يلي :

كود :
If Key = Vk_Return then begin      Query1.close; Query1.ParamByName('C').AsString := Edit1.Text;     Query1.open;   end
 

كود :
if Query1.IsEmpty then showmessage('Not Found')

لنستعمل الآن جهز الباركود ، عندما نقرأ الباركود ل مادة معينة (طبعا داخل ال Edit1) بعد قراءتها جهاز الباركود مباشرة يقوم بالحدث Enter ، وهكذا يقوم البرنامج بالبحث عن المنتوج.

بقيت طباعة الباركود (على الورق)  ، يمكن استعمال مولدات التقارير مثل  CrystalRepot   FastReport QuickReport
كما يمكن طباعته ببرمامج  الWord  باستعمال نمط خط محدد  مثل IDAutomationHC39M.ttf  (النمط في المرفقات) ،
الطريقة سهلة جدا ...
أنشئ ملف وورد جديد   ،
اكتب
**
بين النجمتين (**)  أكتب الكود المراد طباعته ،
مثال
*Delphi4Arab*
قم بتظليل الكلمة كلها بما فيها النجمتين لأنها تعتبران بداية و نهاية الباركود.
ثم اختر نوع الخط (طبعا بعد تثبيته)  IDAutomationHC39M
و انتهى.

أرجو أن لا أكون قد أطلت في موضوعي ، Tongue
كما أرجو أن يستفيد منه المبتدئين أمثالي.


RE: استعمال الباركود في جلب المعلومات من قاعدة البيانات - bassem_43 - 14-03-2016

بارك الله فيك مشرفنا Unprogramme على الموضوع
لكن بقيت نقطة صغيرة لم توضحها جيدا
*لنستعمل الآن جهز الباركود ، عندما نقرأ الباركود ل مادة معينة (طبعا داخل ال Edit1) بعد قراءتها جهاز الباركود مباشرة يقوم بالحدث Enter *
لم تشرح كيف نجعل Edit1 يحمل القيمة المقروءة من قارء البار كود تلقائيا ان صح التعبير
وشكرا مجددا


RE: استعمال الباركود في جلب المعلومات من قاعدة البيانات - أبو معاذ - 14-03-2016

وفيكم بارك الله أخي باسم ،
في الحدث OnCreate للفورم نضع :

كود :
Edit1.setfocus;

في هذه الحالة مباشرة عندما يقرأ الجهاز قيمة الباركود يضعها مباشرة في ال Edit1  ، أي بمعنى عوضا أن تكتب كود المنتوج عن طريق لوحة المفاتيح ، جهاز الباركود يقوم بهذه العملية في مكانك.


RE: استعمال الباركود في جلب المعلومات من قاعدة البيانات - bassem_43 - 14-03-2016

شكرا لك  اخي Unprogramme  تستحق 10/10    Big Grin
شرح وافي وكافي
تسلم


RE: استعمال الباركود في جلب المعلومات من قاعدة البيانات - wadoud - 14-03-2016

شكرا لك أخي الكريم Unprogramm على تنويرك لنا و نقل تجربتك بارك الله فيك.


RE: استعمال الباركود في جلب المعلومات من قاعدة البيانات - Manarsoft - 16-03-2016

إستعمال الباركود في غاية السهولة
فقط نرجوا التأكد من أن الكيبور في وضعية الكتابة بالأحرف الكبيرة MAJUSCULES
كي لايقوم الجهاز بإدراج رموز بدل الأرقام

الحدث في الـEdit هو كالتالي:
OnKeyPressed
if Key = #13 then
Table.Locate()


RE: استعمال الباركود في جلب المعلومات من قاعدة البيانات - justnick - 21-04-2016

ماذا لو كان الfocus بعيد عن edit1 ؟؟
===
الحل كان عن طريق برمجة القارئ نفسه باضافة prefix عند استخدامه واستخدمت ال prefix علامة الدولار ساين "$"

فى الForm جعل الخاصية KeyPreview:=True
وفى الحدث onkeypress للفورم نجعله ينتظر الرمز "$" ثم يضع الFocus فى الEdit1
كود :
if key = '$' then begin Edit1.SetFocus; end;

فى الحدث onkeypress للEdit1 ينبغى علينا حذف الprefix قبل القيام بعملية البحث

كود :
if key = '$' then begin key := #0; end;



RE: استعمال الباركود في جلب المعلومات من قاعدة البيانات - h-farid - 26-05-2016

justnick :
(الحل كان عن طريق برمجة القارئ نفسه باضافة prefix عند استخدامه )


كيف ؟


RE: استعمال الباركود في جلب المعلومات من قاعدة البيانات - justnick - 29-05-2016

(26-05-2016, 06:52 PM)h-farid كتب : justnick :
(الحل كان عن طريق برمجة القارئ نفسه باضافة prefix عند استخدامه )


كيف ؟
القارئ ياتى معه مجموعة من الباركود لبرمجته
فهناك كود يفتح عملية البرمجة عند تمريره يضع القارئ فى وضع الاعدادات
ثم تقوم باختيار اضافة prefix
وعند الانتهاء تدخل باركود لغلق وضع الاعدادات فى القارئ
--
فى حالة استخدام القارئ فى الوضع العادى
يقوم باضافة ال prefix قبل كل باركود
مثال
افترض انى استخدم الprefix "$"
عندى علبة دواء لها باركود "611501"
عند تمرير الباركود على القارئ
يكون "611501$"


RE: استعمال الباركود في جلب المعلومات من قاعدة البيانات - h-farid - 29-05-2016

بارك الله فيك أخي, الآن اتضحت الأمور.