 |
:: عضو فضي ::
تاريخ التسجيل: May 2010
الدولة: LIBYA-BENGHAZY
المشاركات: 1,473
|
|
نشاط [ lovevb6 ]
قوة السمعة:
|
|
22-05-2010, 02:27 PM
المشاركة 17
|
|
|
السلام عليكم
هذا الشرح منقول للامانة ارجو ان يفيدك في شيء
MSComm:
هناك عدة طرق للوصول إلى منفذ الـ com أحدها الأداة MSComm في VB6 كما يمكنك الوصل إليه باستخدام توابع API أو المشغلات Drivers أو مكتبات الربط الديناميكية DLL .
سنعتمد في تطبيقاتنا على الأداة MSComm المخصصة للاتصال التسلسلي و التي تزودنا بإمكانية إرسال و استقبال البيانات عبر المنفذ التسلسلي.
كما هو معلوم لكل أداة في VB6 خصائص تحدد شكلها الخارجي و سلوكها, فللأداة MSComm خصائص لتشكيل المنفذ, و أخرى لإرسال و استقبال المعطيات, و أخرى للمصافحة, إلا أنها أداة غير ظاهرة وقت التنفيذ فهي لا تملك خصائص لتحديد الشكل الخارجي.
ما يهمنا من خصائصها مايلي:
- CommPort تمكننا من معرفة و ضبط رقم المنفذ المستخدم.
فإن أردت استخدام المنفذ الثاني COM2 في حال توفره في جهازك فما عليك إلا أن تكتب الكود التالي:
رمز:
MSComm1.CommPort = 2
و بهذه الطريقة يمكنك معرفة المنفذ الذي يستخدمه التطبيق:
رمز:
Dim COMx As Byte
COMx = MSComm1.CommPort
' COMx = 1 --- > COM1
' COMx = 2 --- > COM2
' COMx = 3 --- > COM3
'etc..
- PortOpen تمكننا من معرفة و ضبط حالة المنفذ.
لفتح المنفذ:
رمز:
MSComm1.PortOpen = True
لإغلاقه:
رمز:
MSComm1.PortOpen = False
طبعاً عند قراءتها True تعني المنفذ مفتوح, و عند قراءتها False تعني المنفذ مغلق.
رمز:
Dim State As Boolean
MSComm1.PortOpen = False
'False meaning Close
'True meaning Open
- InBufferSize تمكننا من معرفة و ضبط حجم عازل الاستقبال مقدراً بالبايت.
و عازل الاستقبال ذاكرة مؤقتة لتخزين البيانات ريثما يتم قراءتها, فإن كنت سترسل من مايكرو أو جهاز آخر رسالة نصية من 100 محرف فأنت بحاجة لـ 100 بايت على الأقل أو أكثر لاستقبالها, و الضبط بحجم أصغر يتسبب بضياع جزء من الرسالة, هذا طبعاً إذا قمت بقراءة بيانات الاستقبال دفعة واحدة.
- InBuffercount تمكننا من معرفة عدد المحارف في عازل الاستقبال.
- Rthreshold تمكننا من معرفة و ضبط عدد المحارف المستقبلة في عازل الاستقبال قبل قراءتها.
- Input لقراءة المعطيات من عازل الاستقبال.
رمز:
Dim MyData As String
MyData = MSComm1.Input
- OutBufferSize تمكننا من معرفة و ضبط حجم عازل الإرسال مقدراً بالبايت.
كذلك منفذ الـ COM يمتلك ذاكرة مؤقتة لتخزين البيانات ريثما يتم إرسالها.
- OutBufferCount تمكننا من معرفة عدد المحارف في عازل الإرسال.
- Sthreshold تعيد و تضبط الحد الأدنى للمحارف التي ستوضع في عازل الإرسال قبل بدأ الإرسال.
- Output ترسل المعطيات إلى عازل الإرسال.
رمز:
Dim MyData As String
MyData = "www.qariya.com"
MSComm1.Output = MyData
'MSComm1.Output = "www.qariya.com"
- InputMode تمكننا من معرفة و ضبط نوع المعطيات التي ستستخدم في الدخل و الخرج, و هي نوعين أما نصية Text 8 بت لكل محرف, أو ثنائية Binary.
رمز:
'Binary
MSComm1.InputMode = comInputModeBinary
MSComm1.Output = &HFF
'Text
MSComm1.InputMode = comInputModeText
MSComm1.Output = "aalelectron******.com"
- InputLen تمكننا من معرفة و ضبط عدد محارف الدخل التي سيتم قراءتها عند قدح حدث الاستقبال.
- NullDiscard لإرسال أو عد إرسال المحرف الفارغ.
- ParityReplace تمكننا من معرفة و ضبط المحرف الذي سيستبدل المحرف الخاطئ عن خطأ التكافؤ الذي سنبينه في الفقرة القادمة بإذن الله.
- Settings تمكننا من معرفة و ضبط معدل نقل البيانات, و استخدام أو عدم استخدام بت التكافؤ, و عدد بتات البيانات, و تحديد بت التوقف.
- ComEvent تمكننا من معرفة الحدث الذي يقع كبدأ الاستقبال أو بدأ الإرسال.
هذا و هناك خصائص أخرى لهذه الأداة يمكننك الإطلاع عليها بالرجوع إلى مكتبة MSDN .
|
السلام عليكم
ولله شرحك كبير وجميل وصحة لك على المجهود الكبير انت حقا تستحق الشكر
لكن ياريت تنزل برنامج جاهز بالفجوال بيسك يستقبل ويرسل من والى البيك وتبقى كملت جميلك
|