كيفيه التلقي من المنفذ التسلسلي باستخدام MScomm32 في Visual FoxPro


الملخص


توفر لك هذه المقالة التقنيتان التي يمكنك استخدامها لتلقي البيانات من المنفذ التسلسلي باستخدام عنصر التحكم Mscomm32. يستخدم الأول أسلوبا معتمدا علي الحدث ولا يتطلب الاستقصاء عن المنفذ التسلسلي للتحقق من وجود الأحرف المستلمة. تسمح هذه التقنية بالمرونة الكبيرة ولا تتطلب ترميزا شاملا لمنع تشغيل المخزن المؤقت. يتطلب الأسلوب الثاني استقصاء المخزن المؤقت للإدخال بشكل دوري للتحقق من وجود الأحرف المستلمة. تصف هذه المقالة التقنيتين التاليتين وتوفر أمثله لكل منها.

مزيد من المعلومات


قم بتعيين الخصائص التالية بغض النظر عن التقنية التي تستخدمها:
  • الخاصية كومبورت: قم بتعيين هذه الخاصية الرقمية إلى منفذ الاتصالات المطلوب. القيم الصالحة هي 1 أو 2 أو 3 أو 4 استنادا إلى المنافذ التسلسلية المتوفرة وتكوين الكمبيوتر الفردي. تتوافق هذه القيم مع Com1 و Com2 و Com3 و و Com4 علي التوالي.
  • خاصيه الإعدادات: تعيين خاصيه الحرف هذه إلى معدل الباود ، والتماثل ، وبت البيانات ، وبتات التوقف المطلوبة بواسطة الجهاز المتصل بالمنفذ التسلسلي. هذه الخاصية عبارة عن حرف ، وقائمه محدده بفواصل. علي سبيل المثال ، لتعيين المنفذ التسلسلي إلى 14,400 الباود ، وحتى التماثل ، و 7 بت في البيانات ، و 1 بت للتوقف ، عين السلسلة إلى:
       14400,E,7,1
  • الخاصية بورتوبين: قم بتعيين هذه الخاصية المنطقية إلى true لفتح الاتصالات بالمنفذ التسلسلي. يمكنك أيضا التحقق من هذه الخاصية لتحديد ما إذا كان المنفذ مفتوحا بشكل صحيح.

الأسلوب الأول: تلقي معتمد علي الحدث

ينشئ تقنيه تعتمد علي الحدث حدث أونكوم عند وجود أحرف في انتظار المخزن المؤقت للإدخال. بالاضافه إلى ذلك ، ستحتوي الخاصية كوميفينت علي رقم 2. بالنسبة إلى الحدث أونكوم الذي سيتم تشغيله ، يجب تعيين خاصيه رثريشولد إلى قيمه أخرى غير الصفر (الافتراضي). الاعداد الأكثر شيوعا لخاصيه رثريشولد هو 1 ، مما يعني انه يتم تشغيل الحدث أونكوم إذا كان الحد الأدنى لحرف واحد في المخزن المؤقت للإدخال. علي سبيل المثال ، يمكنك وضع التعليمات البرمجية التالية في الحدث أونكوم للحاق البيانات المستلمة بخاصيه نموذج يسمي ميبوفير:
   Procedure MyCom.OnComm     IF This.CommEvent = 2       ThisForm.mybuffer = ThisForm.mybuffer + This.Input     ENDIF   ENDPROC

الأسلوب الثاني: استقصاء المخزن المؤقت للإدخال

الاستقصاء يتطلب المخزن المؤقت للإدخال ان يقوم البرنامج بإيقافه بشكل دوري والتحقق لمعرفه ما إذا كانت هناك أحرف في انتظار المخزن المؤقت للإدخال. عند استخدام هذه التقنية ، اترك الخاصية رثريشولد علي 0 (قيمتها الافتراضية) ، وحدد الخاصية إينبوفيركونت لمعرفه ما إذا كانت أكبر من الصفر ، والتي تشير إلى وجود أحرف في انتظار المخزن المؤقت.ملاحظة يتم إصدار Acrobat Reader من قِبل شركة Adobe Systems Inc.‎. باستخدام تقنيه مثل التحقق من طول خاصيه الإدخال بالأحرف المفقودة لأنه بمجرد الوصول إلى خاصيه الإدخال ، يتم إفراغ المخزن المؤقت للإدخال. استخدم الخاصية إينبوفيركونت بدلا من ذلك. بافتراض ان عنصر تحكم مسكوم موجود في النموذج ولديه الاسم ميكوم وكانت هناك خاصيه نموذج تسمي ميبوفير ، فان التعليمات البرمجية التالية توضح كيفيه الاستقصاء لأحرف الانتظار:
   Procedure myform.myproc     IF Thisform.MyCom.InBufferCount > 0       Thisform.mybuffer = Thisform.mybuffer + Thisform.MyCom.Input     ENDIF   ENDPROC
يمكن ان يتم استدعاء التعليمات البرمجية للاجراء في أسلوب المؤقت لتسهيل البحث عن الأحرف في فواصل زمنيه نصف عادية. ومع ذلك ، إذا كان من المتوقع تلقي كميات كبيره من البيانات من المنفذ التسلسلي ، سيؤدي ذلك إلى تقليل فرصه تشغيل المخزن المؤقت للإدخال.