MSCOMM은 Microsoft의 강력한 직렬 통신 제어입니다. 다음 코드는 전송 및 수신을 위해 16 진수로 처리됩니다.
var
senddata : char의 배열 [1..10];
REDATA : 변형 배열;
sendstr : 문자열;
구속 : 문자열;
I : Longint;
시작하다
mscomm1.commport : = 1;
MSCOMM1.SETTINGS : = '9600, N, 8,1';
mscomm1.inbuffersize : = 1024;
mscomm1.outbuffersize : = 1024;
mscomm1.inputmode : = cominputmodebinary;
mscomm1.inputlen : = 0;
mscomm1.sthreshold : = 0;
mscomm1.inbuffercount : = 0;
mscomm1.outbuffercount : = 0;
MSCOMM1. 포트 토펜 : = TRUE;
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 : = '';
i : = 1 ~ 5 do
sendstr : = sendstr + senddata [i];
mscomm1.output : = sendstr;
I : = 0;
BZW : = 거짓;
반복하다
수면 (10);
Application.ProcessMessages;
I : = i + 1;
내가> 30000이라면
시작하다
showmessage ( '보내기 시간!');
부서지다;
끝;
BZW = 참으로;
REDATA : = MSCOMM1.INPUT;
구속 : = '';
i : = 0에서 Vararrayhighbound (Redata, 1) do
구속 : = 구속 + inttoHex (Redata [i], 2) + '';
MSCOMM1. 포트 토펜 : = 거짓;
flatmemo1.text : = 구속;
끝;
// OnComm 이벤트
절차 tform1.mscomm1comm (sender : tobject);
시작하다
CASE MSCOMM1.COMMEVENT OF
comevreceive : bzw : = true;
끝;
끝;
마지막으로 소프트웨어를 출시 할 때 MSCOMM32.ocx 파일을 가져와야합니다.