O MSCOMM é um poderoso controle de comunicação serial para a Microsoft. Os códigos a seguir são processados em hexadecimal para enviar e receber.
var
SendData: Array [1..10] de Char;
Redata: matriz de variante;
sendstr: string;
REST: String;
i: longint;
Começar
MSCOMM1.Commport: = 1;
MSCOMM1
MSCOMM1.InBuffersize: = 1024;
MSCOMM1.OUTBUFERSIZE: = 1024;
MSCOMM1.InputMode: = CominputModeBinary;
msComm1.inputlen: = 0;
MSCOMM1.STHREHOLD: = 0;
MSCOMM1.InBUFERCOUNT: = 0;
MSCOMM1.OUTBUFFERCOUNT: = 0;
MSCOMM1.PORTOPEN: = true;
MSCOMM1.RTHREHOLD: = 16; // Defina quantos bytes recebem para gerar o OnComm Event
sendData [1]: = Chr ($ 06);
sendData [2]: = Chr ($ 03);
sendData [3]: = Chr ($ 00);
sendData [4]: = Chr ($ 03);
sendData [5]: = Chr ($ 10);
sendstr: = '';
para i: = 1 a 5 fazer
sendstr: = sendstr + sendData [i];
MSCOMM1.OUTPUT: = SendStr; // Envie dados
i: = 0;
bzw: = false;
repita
sono (10);
Application.processMessages;
i: = i + 1;
Se eu> 30000 então
Começar
showMessage ('Send Timeout!');
quebrar;
fim;
Até bzw = true;
Redata: = MSCOMM1.Input;
REST: = '';
para i: = 0 para vararrayhighbound (redata, 1)
REST: = REST + INTTOHEX (Redata [i], 2) + '';
MSCOMM1.PORTOPEN: = false;
flatMemo1.Text: = REST;
fim;
// Evento OnComm
Procedimento TForm1.MSCOMM1COMM (remetente: TObject);
Começar
Caso MSCOMM1.ComMevent of
ComevReceive: bzw: = true;
fim;
fim;
Por fim, ao lançar o software, você deve trazer o arquivo MSCOMM32.OCX.