الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة بالباركود

بدأه MMA_EG_Cairo في 20 مايو 2008 · 5 رد · 822 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الأخوة الكرام ، تحية طيبة وبعد ،

أنا فاهم فكرة الباركود ، ولكن هناك شيء أتمني أن يتم حلة !!!

من الطبيعي أن جهاز الباركود يقوم بإراسل قيمة رقمية علي مربع نص ، ومن ثم أقتبس هذه القيمة وأبحث عنها كما أشاء !!!

ولكن ما انا أحتاجة هو تحميل قيمة الباركود علي متغير ، لأنني لا أرغب في رؤية أي مؤشرات للباركود للمستخدم العادي ، والمشكلة أنني حالياً لا أملك أي جهاز باركود ، فمشتت نسبياً ، فياريت أي أحد يأكدلي المعلومة !!!

حيث أنا أفكر في أمرين ،

1- أن الباركود يخذن مؤقتاً في الـ Clibpoard .

2- في حدث KeyPriss أجلب قيمة حرف حرف يتم إرسال الباركود لبرنامجي كما يلي :

 

Option Explicit
Dim strBarCode As String

''Form property ( KeyPreview = True)
Private Sub Form_KeyPress(KeyAscii As Integer)
	Static strKeys As String
	strKeys = strKeys & Chr(KeyAscii)
	If (KeyAscii = 13) Then
	   strBarCode = strKeys
	   strKeys = ""
	End If
End Sub

فسؤالي الآن ، أي طريقة صحيحة ، هل الأولي أم الثانية ؟؟؟

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

شكراً ، وأنتظر الرد

تم تعديل هذه المشاركة بواسطة MMA_EG_Cairo في 20 مايو 2008 في 12:50

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

#2

السلام عليكم

اولا الباركود لا يخزن في الحافظة فالطريقة الاولى غير صحيحة .

وانما يتم ادخاله كانك تكتب من خلال لوحة المفاتيح واعتقد الان ان معظم قارءات الباركود الحديثة تستخدم هذه الطريقة بحيث تكون تكون مرتبطة مع لوحة المفاتيح عن طريقة تفريعة خاصة على العكس من قارءات الباركود القديمة والتي كانت متربطة مع Serial port والتي بحاجة الى معالجة خاصة لقراءة مدخلاتها

#3

شكراً أخي علي مرورك ، ولكن أخي هل الطريقة الثانية هي الأصح ام لا !!!

معذرةً أخي ، انا حالياً لم أملك جهاز الباركود ، وأعلم جيداً أن جهاز الباركود يرسل ضرباط مفاتيح للبرنامج ، ولكن هل الكود الثاني يعمل بنجاح أم لا ، بغض النظر عن الـ Clipboard ؟؟؟؟

شكراً مرة أخري

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

#4

السلام عليكم

الطريقة الثانية صحيحة وبامكانك ان تجربها على لوحة المفاتيح فلا فرق بين قارئ الباركود ولوحة المفاتيح (حاليا غير موجود عندي قارئ باركود لكن عملت عليه من قبل )

#5

أشكرك أخي ، بس هناك مصيبة أخري لم نأخذ بالنا فيها

المفروض أن جهاز الباركود يرسل ضربات لوحة المفاتيح ، وفي نفس الوقت المستخدم يرسل ضرباط ، فكيف أميز بين الإثنثن ؟؟؟

هل فهمت قصدي

لأن لو المستخدم أدخل أي قيمة يدوياً من لوحة المفاتيح سيؤدي الي إفتباس هذه الحروف كقيمة حرفية أو رقمية ، وإذا نقر علي زر Enter ستبدأ عملية البحث

فما الحل

شكراً ، وجزاك الله كيل خير

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

#6

السلام عليكم

تقريبا ما في حل لهذه المشكلة لذا ارى من الافضل وضع مربع نص لاستقبال الادخال من الباركود

ويمكن محاولة معرفة الادخال اليدوي عن الباركود عن طريق وضع توقيت فاذا كان سريع يكون من الباركود والا من لوحة المفاتيح

اقتباس
Static strKeys As String

static tmr as double

if tmr=0 then

strKeys = strKeys & Chr(KeyAscii)

tmr=timer

elseif timer-tmr<0.5 then

If (KeyAscii = 13) Then

strBarCode = strKeys

strKeys = ""

tmr=0

End If

else

tmr=0

strBarCode =""

strKeys = ""

endif

تقريبا بهذه الطريقة يمكن التفريق ويمكن زيادة الوقت او التنقيص منه حسب المناسب (عند الرقم 0.5)

مواضيع مشابهة