Reads specified number of bytes from serial port.
| Delphi | function Read(DataBuffer: Pointer; BytesToRead: Cardinal): Cardinal;
|
|---|---|
| BCBuilder | Cardinal Read(void * DataBuffer, Cardinal BytesToRead);
|
DataBuffer
[out] Pointer to the buffer that receives the data. Use type-casting to convert it to void* or char*.
BytesToRead
[in] Number of bytes to read from serial port
Number of bytes read from serial port.
The method may throw exception. Refer to Handle errors sample for details.
In Visual Basic use function ReadArray.
procedure TForm1.FTSPCControl1Receive(Sender: TObject; Count: Cardinal);
var
ReadBuffer: array of byte;
ReadCount: DWORD;
i: integer;
begin
try
SetLength(ReadBuffer, Count);
ReadCount := FTSPCControl1.Read(@ReadBuffer[0], Count);
if ReadCount > 0 then
begin
for i := 0 to ReadCount - 1 do
begin
Memo_Terminal.Text := Memo_Terminal.Text +
char(ReadBuffer[i]);
end;
end;
except
on e:FTSPCException do
begin
application.MessageBox(PChar('Error: ' +
inttostr(e.ErrorCode) + ' - ' +
e.ErrorSource), 'Error!', MB_OK +
MB_ICONERROR);
end;
end;
end;