Spcomm串口控件的例程:
//串口初始化
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
comm1.startcomm;
end;
//关闭串口
procedure TForm1.BitBtn4Click(Sender: TObject);
begin
comm1.StopComm;
end;
//发送数据
procedure TForm1.BitBtn1Click(Sender: TObject);{var str:string;
ch1:char;
begin
comm1.WriteCommData(ch,1);
end.
//接收数据
procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
type ss=array[1..500]of char ;
var str1:^ss;
i:integer;
s:array[0..15] of char ;
n:integer;
begin
str1:=Buffer;
//s[]=('0','1','2','3'...'E')
for i:=0 to 9 do
s[i]:=chr(48+i);
for i:=10 to 15 do
s[i]:=chr(55+i);
for i:=1 to bufferlength do
begin
n:=ord(str1^[i]);
listbox1.Items.add(
inttostr(listbox1.Items.Count+1)
+' - '+s[n p 16]+s[n mod 16]);
end;
listbox1.Refresh;
if listbox1.Items.count > strtoint(form2.edit1.text)
then listbox1.Items.Clear;
end;