MSCOMM ist eine leistungsstarke serielle Kommunikationskontrolle für Microsoft. Die folgenden Codes werden in Hexadezimal zum Senden und Empfangen verarbeitet.
var
sendData: Array [1..10] von char;
Redata: Array der Variante;
SendStr: String;
Rückspann: String;
I: longint;
Beginnen
MSComm1.Commport: = 1;
MSCOMM1.Settings: = '9600, n, 8,1';
mscomm1.inBufferSize: = 1024;
mscomm1.outbufferSize: = 1024;
MSComm1.InputMode: = CominputModeBinary;
mscomm1.inputlen: = 0;
mscomm1.shreshold: = 0;
mscomm1.inbufferCount: = 0;
MSCOMM1.OUTBUFFERCOUNT: = 0;
mscomm1.portopen: = true;
MSCOMM1.Rthreshold: = 16; // Legen Sie fest
sendData [1]: = chr ($ 06);
sendData [2]: = chr ($ 03);
sendData [3]: = chr ($ 00);
sendData [4]: = chr ($ 03);
sendData [5]: = chr ($ 10);
sendstr: = '';
für i: = 1 bis 5 tun
sendStr: = sendstr + sendData [i];
mscomm1.output: = sendstr;
I: = 0;
BZW: = falsch;
wiederholen
Schlaf (10);
application.ProcessMessages;
i: = i + 1;
Wenn ich> 30000 dann
Beginnen
ShowMessage ('Timeout senden!');
brechen;
Ende;
Bis btzw = wahr;
redata: = mscomm1.input;
rest: = '';
für i: = 0 bis vararrayHighbound (redata, 1) tun
rest: = rest + inttohex (redata [i], 2) + '';
mscomm1.portopen: = false;
flatmemo1.text: = rest;
Ende;
// Oncomm Event
procedure tform1.mscomm1comm (Absender: tobject);
Beginnen
Fall MSCOMM1.Commevent von
Comvreceive: BZW: = True;
Ende;
Ende;
Schließlich müssen Sie bei der Veröffentlichung der Software die Datei mscomm32.ocx mitbringen.