MSCOMM هي التحكم في الاتصالات التسلسلية القوية لـ Microsoft. تتم معالجة الرموز التالية في سداسي عشرة للإرسال والاستلام.
var
SendData: Array [1..10] of Char ؛
Redata: مجموعة من البديل.
Sendstr: سلسلة ؛
تقييد: سلسلة.
أنا: Longint ؛
يبدأ
MSCOMM1.COMMPORT: = 1 ؛
mscomm1.settings: = '9600 ، n ، 8،1' ؛
mscomm1.inbuffersize: = 1024 ؛
mscomm1.OutBuffersize: = 1024 ؛
mscomm1.InputMode: = وضع الاستلام
mscomm1.inputlen: = 0 ؛
MSCOMM1.STHRESSING: = 0 ؛
mscomm1.inbuffercount: = 0 ؛
mscomm1.OutBufferCount: = 0 ؛
mscomm1.portopen: = صحيح ؛
mscomm1.rthreshold: = 16 ؛ // اضبط كم عدد البايتات لتلقيها لإنشاء حدث OnComm
SendData [1]: = chr ($ 06) ؛
SendData [2]: = chr ($ 03) ؛
SendData [3]: = chr ($ 00) ؛
SendData [4]: = chr ($ 03) ؛
SendData [5]: = chr ($ 10) ؛
sendstr: = '' ؛
لأني: = 1 إلى 5 تفعل
sendStr: = sendstr + sendData [i] ؛
mscomm1.Output: = sendstr ؛
أنا: = 0 ؛
BZW: = خطأ ؛
يكرر
النوم (10) ؛
Application.ProcessMessages ؛
i: = i + 1 ؛
إذا كنت> 30000 ثم
يبدأ
ShowMessage ('إرسال المهلة!') ؛
استراحة؛
نهاية؛
حتى BZW = صحيح ؛
Redata: = mscomm1.inpt ؛
كبح: = '' ؛
لأني: = 0 إلى vararrayhighbound (Redata ، 1) افعل
crown: = crown + inttoHex (redata [i] ، 2) + '' ؛
mscomm1.portopen: = false ؛
flatmemo1.text: = crown ؛
نهاية؛
// الحدث OnComm
الإجراء tform1.MSComm1Comm (المرسل: tobject) ؛
يبدأ
حالة mscomm1.commevent من
ComevReceive: BZW: = True ؛
نهاية؛
نهاية؛
أخيرًا ، عند إطلاق البرنامج ، يجب عليك إحضار ملف MSCOMM32.OCX.