procedure TForm1.MSComm1Comm(Sender: TObject);
var
receive:olevariant;
begin
if mscomm1.CommEvent=ComEvReceive then
begin
receive:=MsComm1.Input;
?//加什么代码?
memo1.Lines.Add('?');
end;
end;
var
receive:olevariant;
begin
if mscomm1.CommEvent=ComEvReceive then
begin
receive:=MsComm1.Input;
?//加什么代码?
memo1.Lines.Add('?');
end;
end;
我想读出卡号(形如S010002597416E),
通讯参数设置正确,接受的MsComm1.Input,如何转换?
procedure TForm1.MSComm1Comm(Sender: TObject);
var
receive:olevariant;
begin
if mscomm1.CommEvent=ComEvReceive then
begin
receive:=MsComm1.Input;
?//加什么代码?使的memo1中正确显示S010002597416E,?
memo1.Lines.Add('?');//目前显示的是‘???’,用listbox显示的是乱吗,
end;
end;
receive:=MsComm1.Input;
?//加什么代码?
memo1.text := memo1.text + receive;也可将 var receive: string;试验下
var
receive:olevariant;
begin
if mscomm1.CommEvent=ComEvReceive then
begin
receive:=MsComm1.Input;
?//加什么代码,使的memo1中正确显示S010002597416E,?
memo1.Lines.Add('?');//目前显示的是‘???’,用listbox显示的是乱吗,
end;
end;
var
receive:olevariant;
begin
if mscomm1.CommEvent=ComEvReceive then
begin
receive:=MsComm1.Input;
?//加什么代码,使的memo1中正确显示S010002597416E,?
memo1.Lines.Add('receive');//目前显示的是‘???’,用listbox显示的是乱吗,
end;
end;
var
receive:olevariant;
begin
if mscomm1.CommEvent=ComEvReceive then
begin
receive:=MsComm1.Input;
?//加什么代码,使的memo1中正确显示S010002597416E,?
memo1.Lines.Add('receive');//目前显示的是‘???’,用listbox显示的是乱吗,
end;
end;
1、你所用的这个串口中的读取函数没有调用,调用的结果应该有个返回值,返回值就是你所需要的。如:read ,write之类。
2、在调用函数的时候注意类型的转换。
我用过各种读卡设备,有IC,有磁卡,不管什么都一样,调用厂家推荐的DLL最方便。