اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

استخدم هذا الكود ....

Option Compare Database
Dim dblStart As Double
Dim dblEnd As Double
Dim dblTime As Double
Private Sub txtTest_Change()
If Len(txtTest.Text) <= 1 Then
    dblStart = Timer
Else
    dblEnd = Timer
    dblTime = Round(dblEnd - dblStart, 2)
If dblTime > 0.2 Then
txtTest = ""
        MsgBox " عفوا ... لايمكن الإدخال إلا عن طريق قارئ الباركود"
    End If
End If

End Sub

 

  • Like 6
قام بنشر

شكر استاذ kanory على الاجابة واسف على تاخري في التجربة بسبب عدم تأخر حصولي على جهاز الباركود .

لقد تم تجربة الكود وهو المطلوب لكن هنالك مشكلة واحدة وهي انه يمكن كتابة  مرتبة واحدة في مربع الادخال المطلوب كيف يمكن منع كتابة حتى لو كانت مرتبة واحدة .

وشكرا

قام بنشر (معدل)
  في 4‏/8‏/2021 at 17:20, النهر العطشان said:

شكر استاذ kanory على الاجابة واسف على تاخري في التجربة بسبب عدم تأخر حصولي على جهاز الباركود .

لقد تم تجربة الكود وهو المطلوب لكن هنالك مشكلة واحدة وهي انه يمكن كتابة  مرتبة واحدة في مربع الادخال المطلوب كيف يمكن منع كتابة حتى لو كانت مرتبة واحدة .

وشكرا

Expand  

كلام صحيح .. لان الكود يعتمد على الفترة الزمنية بين كتابة الرقم الاول والثاني... ولا اعتقد ان هناك باركود عبارة عن رقم واحد ..

.... لكن جاري البحث عن كود يلبي طلبك

تم تعديل بواسطه kanory
  • Like 4
قام بنشر
  في 4‏/8‏/2021 at 18:20, kanory said:

 ولا اعتقد ان هناك باركود عبارة عن رقم واحد ..

Expand  

حسب علمي قارىء الباركود لا يقرأ اقل من 3 خانات

بمعنى انه لا يقرأ الباركود المكون من رقم او رقمين وينطبق هذا على الحروف

  • Like 1
  • Thanks 1
قام بنشر

السلام عليكم

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

يمكن تحويل اي رقم حتى لو بمرتبة واحدة الى باركود كان يكون ارقام (الترقيم التلقائي) لجدول معين والذي يبدأ من رقم (1) وتصاعديا.

الذي احتاجه هو ان امنع المدخل من ادخال اي رقم عن طريق الكيبورد ويكون الادخال عن طريق جهاز الباركود فقط .

قام بنشر
  في 4‏/8‏/2021 at 21:47, Hawiii said:

موضوع قديم قد يثري موضوعك

Expand  

لا لا .. هذا يخالف ما ننتظره منك  ، الموضوع قديم  حتى ان بعض المشاركين لا يعرفون ما يتحدثون عنه .

لما رأيت مشاركتك دخلت ، وانا متأكد انني سوف اجد حلا للمشكلة 

انت خبير ومخضرم  .. حتى ان الاستاذ  جعفر حفظه الله في وقت سابق استشارني  بضمك الى مجموعة الخبراء  .. فاعترضت عليه بان هاوي اكبر من ذلك 

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

لانه يمكنه من ادارة المهام في وندوز ان يوقف عمل لوحة المفاتيح

 

 

قام بنشر
  في 4‏/8‏/2021 at 23:11, ابوخليل said:

لا لا .. هذا يخالف ما ننتظره منك  ، الموضوع قديم  حتى ان بعض المشاركين لا يعرفون ما يتحدثون عنه .

Expand  

حياك الله أخي @أبوخليل ، قرأت مشاركتك 3 أو 4 مرات ولم أفهم قصدك ، هل أنت عاتب وتلومني وإلا تمازحني بشكل عتاب؟، حتى أفهم قصدك بعدها أقدر أدردش معك 🙄

قام بنشر

ابدا .. لا عتاب .. ولا مزاح

جميع من في المنتدى من خبراء واعضاء هم اهلي واحبتي واخواني وانت منهم

غالبا لا ادخل لاي موضوع الا حينما يكون العنوان جاذبا ، وخاصة اذا اشترك في الموضوع اكثر من خبير

 انا اكتب بما اراه واعتقده .. بغض النظر عمن  اكتب له

نرجع الى نقاشنا في الموضوع :

فالموضوع يختلف عن  الرابط الذي وضعته

صاحب الموضوع يريد ان يحصر  الادخال  على قارىء الباركود ..  ويحجب لوحة المفاتيح

قام بنشر
  في 5‏/8‏/2021 at 01:28, ابوخليل said:

 

فالموضوع يختلف عن  الرابط الذي وضعته

صاحب الموضوع يريد ان يحصر  الادخال  على قارىء الباركود ..  ويحجب لوحة المفاتيح

Expand  

كتبت رد طويل عريض على مشاركتك ولكن للأسف بعد أن ضغطت "أضف رد" لم أرى الرد .. اختفى!!

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

قام بنشر
  في 4‏/8‏/2021 at 23:11, ابوخليل said:

 

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

لانه يمكنه من ادارة المهام في وندوز ان يوقف عمل لوحة المفاتيح

Expand  

وافتراحك هذا غير موفق ولن أشرح لك .. بعدني معصب من ضياع ردي الأول.

قام بنشر (معدل)

هذه الشفرة من أبي هادي مع تصرف:

يوجد في الشفرة رقم 4 ولم أفهمه ، تفسيري هو طول رقم الموظف 3 + حرف "-" أو "+" .. ربما.
في حالة تجاربكم إذا كان طول رقم الموظف 3 فاجعلوا الرقم 3 وإذا أخفق الحل اجعلوا الرقم طوله الحقيقي +1 ، (غير متأكد).
 

Option Compare Database

Dim InTime As Single
Const Gap As Double = 0.02
Const BadgeNoLen = 3        'Hawiii

Private Sub txtBadgeNo_KeyDown(KeyCode As Integer, Shift As Integer)
  If KeyCode = 13 Then
    If Timer - InTime > Gap Then Me.txtBadgeNo.Tag = ""
   'Me.txtBadgeNo.Tag = Right(Me.txtBadgeNo.Tag, 4)
    Me.txtBadgeNo.Tag = Right(Me.txtBadgeNo.Tag, BadgeNoLen)    'Hawiii
    Me.txtBadgeNo.Text = Me.txtBadgeNo.Tag
    Me.txtBadgeNo.Tag = ""
  End If
End Sub

Private Sub txtBadgeNo_KeyPress(KeyAscii As Integer)
  Select Case Chr(KeyAscii)
    Case "0" To "9"
      If Me.txtBadgeNo.Tag = "" Then InTime = Timer
      If Timer - InTime <= Gap Then
        Me.txtBadgeNo.Tag = Me.txtBadgeNo.Tag & Chr(KeyAscii)
        InTime = Timer
      Else
       'Me.txtBadgeNo.Tag = Chr(KeyAscii)
        Me.txtBadgeNo.Tag = ""              'Hawiii
        InTime = Timer
        
        'MsgBox "لا يقبل الإدخال عن طريق لوحة المفاتيح!!"     'Hawiii
      End If
    Case Else
      Me.txtBadgeNo.Tag = ""
  End Select
End Sub

ما عندي قارئ لأجرب.

تم تعديل بواسطه Hawiii
تعديل في الكود
قام بنشر
  في 30‏/7‏/2021 at 21:22, النهر العطشان said:

السلام عليكم 

هل يمكن التحكم في تيكست عن طريق كود لادخال ارقام عن طريق جهاز قارئ الباركود فقط ولايمكن ادخال اي رقم عن طريق الكيبورد يدوي وشكرا.

 

Expand  

نعم يمكن ذلك

في حدث عند الفتح ضع التالي

Private Sub Form_Open(Cancel As Integer)
Me.KeyPreview = True
End Sub

و في حدث عند المفتاح للأسفل ضع التالي

Private Sub form_KeyDown(KeyCode As Integer, Shift As Integer)
On Error Resume Next
Dim ctl As Control
    Select Case KeyCode
    Case vbKeyA To vbKeyZ
        DoCmd.RunCommand acCmdUndo
    Case vbKey0 To vbKey9
        DoCmd.RunCommand acCmdUndo
   End Select   
End Sub

 

 

قام بنشر
  في 5‏/8‏/2021 at 06:48, د.كاف يار said:
Private Sub form_KeyDown(KeyCode As Integer, Shift As Integer)
On Error Resume Next
Dim ctl As Control
    Select Case KeyCode
    Case vbKeyA To vbKeyZ
        DoCmd.RunCommand acCmdUndo
    Case vbKey0 To vbKey9
        DoCmd.RunCommand acCmdUndo
   End Select   
End Sub
Expand  

الكمبيوتر لا يفرق بين لوحة المفاتيح والقارئ .. لذا كل الإدخالات لن تتم حتى التي عن طريق القارئ.

  • Like 1
قام بنشر (معدل)

معلومة لمن يريد أن يساهم في التجارب والحل:
الإدخال عن القارئ سيتم الإدخال خانة/خانة ثم ينتهي بمفتاح الإدخال/Enter  ، وكأنما أدخلت يدويا ولكن بسرعة عالية جدا.

والسبيل الوحيد "لقفش" الإدخال اليدوي أي لوحة المفاتيح هو قياس سرعة الإدخال.

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

تم تعديل بواسطه Hawiii
قام بنشر
  في 5‏/8‏/2021 at 07:00, Hawiii said:

الكمبيوتر لا يفرق بين لوحة المفاتيح والقارئ .. لذا كل الإدخالات لن تتم حتى التي عن طريق القارئ.

Expand  

تمام بارك الله فيك

تعني من  ردك هذا : 

  في 5‏/8‏/2021 at 04:11, Hawiii said:

وافتراحك هذا غير موفق ولن أشرح لك .. بعدني معصب من ضياع ردي الأول.

Expand  

انه عند حجب لوحة المفاتيح من ادارة المهام  سيتم حجب قارىء الباركود تبعا ؟

قام بنشر
  في 5‏/8‏/2021 at 07:00, Hawiii said:

الكمبيوتر لا يفرق بين لوحة المفاتيح والقارئ .. لذا كل الإدخالات لن تتم حتى التي عن طريق القارئ.

Expand  

غير صحيح

راجع الكود ستجدني حصرت مفاتيح الإدخال فقط

قام بنشر

نقاش وحوارات بين اساتذة كبار .. استفدنا منها ... وهذا ما نحتاجه في مثل هذه المنتديات .... بارك الله في جهودكم جميعا ...

  • Like 4
قام بنشر
  في 5‏/8‏/2021 at 10:34, د.كاف يار said:

غير صحيح

Expand  

 

  في 5‏/8‏/2021 at 07:00, Hawiii said:

الكمبيوتر لا يفرق بين لوحة المفاتيح والقارئ .. لذا كل الإدخالات لن تتم حتى التي عن طريق القارئ.

Expand  

بعد التجربة للاكواد التي اشار اليها الدكتور.كاف

اتفق مع رد الاستاذ هاوي حيث قمت بالتجربة بجهاز الباركود ولوحة المفاتيح

وكانت النتيجة

  • قبول رقم واحد من لوحة المفاتيح
  • رقم واحد ايضا من قارئ الباركود
  • يمكن تجاوزة والادخال بلوحة المفاتيح عند استخدام لوحة الارقام الجانبية
  • يمكن تجاوزة من خلال كتابة اي ارقام او حروف في المفكرة ثم لصقها في الحقل

------------------------------

كود الاستاذ kanory

  • يقبل ادخال رقم واحد فقط من لوحة المفاتيح ثم يقوم بحذفه
  • يعمل بشكل ممتاز مع الباركود
  • يتعامل مع الارقام الجانبية كتعامله مع اي حرف بلوحة المفاتيح
  • عند اللصق لايقبل الادخال

وحيث ان ارقام الموظفين اكثر من حرف فاعتقد ممكن يؤدي الغرض

-----------------------------

كود الاستاذ ابو هادي لم اجربه ومن قراءة سريعة اعتقد انه مقارب لفكرة kanory

هذه تجربتي البسيطة وليس الهدف تفضيل عمل على اخر

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

واعتذر عن اي اضافة اخرى في الموضوع

تحياتي

 

  • Like 2
  • Thanks 2
قام بنشر
  في 5‏/8‏/2021 at 09:41, ابوخليل said:

انه عند حجب لوحة المفاتيح من ادارة المهام  سيتم حجب قارىء الباركود تبعا ؟

Expand  

ربما ، ولكني فكرت فيها من ناحية أخرى ، ملاحظتي عبارة عن تساؤل : ماذا لو دعت الحاجة لإعادة تشغيل الكمبيوتر وإعادة تشغيل البرنامج مع عدم وجود/حضور تقنية المعلومات؟.
 

قام بنشر
  في 5‏/8‏/2021 at 11:35, kha9009lid said:

 

كود الاستاذ ابو هادي لم اجربه ومن قراءة سريعة اعتقد انه مقارب لفكرة kanory

Expand  

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

قام بنشر

السلام عليكم .. استخدمت الكود التالي  ولم تعمل معي لوحة المفاتيح لكن ليس لدي جهاز باركود لاختبر قراءته

Private Sub Barcode_KeyDown(KeyCode As Integer, Shift As Integer)
KeyCode = 0
End Sub

 

قام بنشر

لقد طلب قارئ باركود عن الطريق النت لعمل الإختبارات بشكل كاف وواف ، وسأعود لكم بالنتائج إن شاء الله تعالى.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information