以下spcomm源程序在win98下测试通过
而在win2000下则不行, 请高手帮忙查错.
var
rbuf: array[1..25] of char;
viewstring:string;
i:integer;
f_kqj: Tf_kqj;implementation{$R *.dfm}procedure Tf_kqj.Button1Click(Sender: TObject);
var s: string;
begin
s := '0900:33'; //将时间改为09:00 33是校验码
with comm1 do
begin
StartComm;
WriteCommData(chr(10),1);
StopComm; StartComm;
WriteCommData(pchar(s), length(s));
StopComm; StartComm;
WriteCommData(chr(13),1);
StopComm;
end;
end;
//接收考勤机的数据
procedure Tf_kqj.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
i:integer;
begin
viewstring := '';
move(buffer^, rbuf, bufferlength);
for i := 1 to bufferlength do viewstring := viewstring + rbuf[i];
memo1.lines.add(viewstring);
comm1.StopComm;
end;//修改日期
procedure Tf_kqj.Button2Click(Sender: TObject);
var s: string;
begin
s := '010503/28'; //修改日期为03.05.01 /28为校验码
with comm1 do
begin
StartComm;
WriteCommData(chr(10),1);
StopComm; StartComm;
WriteCommData(pchar(s), length(s));
StopComm; StartComm;
WriteCommData(chr(13),1);
StopComm;
end;
end;//读取日期 时间
procedure Tf_kqj.Button3Click(Sender: TObject);
var s: string;
begin
s := '#23';
with comm1 do
begin
StartComm;
WriteCommData(chr(10),1);
StopComm; StartComm;
WriteCommData(pchar(s), length(s));
StopComm; StartComm;
WriteCommData(chr(13),1);
// StopComm; end;
end;
//读取考勤记录
procedure Tf_kqj.Button4Click(Sender: TObject);
var s: string;
begin
s := 'R52';
with comm1 do
begin
StartComm;
WriteCommData(chr(10),1);
StopComm; StartComm;
WriteCommData(pchar(s), length(s));
StopComm; StartComm;
WriteCommData(chr(13),1);
// StopComm; end;
end;end.
而在win2000下则不行, 请高手帮忙查错.
var
rbuf: array[1..25] of char;
viewstring:string;
i:integer;
f_kqj: Tf_kqj;implementation{$R *.dfm}procedure Tf_kqj.Button1Click(Sender: TObject);
var s: string;
begin
s := '0900:33'; //将时间改为09:00 33是校验码
with comm1 do
begin
StartComm;
WriteCommData(chr(10),1);
StopComm; StartComm;
WriteCommData(pchar(s), length(s));
StopComm; StartComm;
WriteCommData(chr(13),1);
StopComm;
end;
end;
//接收考勤机的数据
procedure Tf_kqj.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
var
i:integer;
begin
viewstring := '';
move(buffer^, rbuf, bufferlength);
for i := 1 to bufferlength do viewstring := viewstring + rbuf[i];
memo1.lines.add(viewstring);
comm1.StopComm;
end;//修改日期
procedure Tf_kqj.Button2Click(Sender: TObject);
var s: string;
begin
s := '010503/28'; //修改日期为03.05.01 /28为校验码
with comm1 do
begin
StartComm;
WriteCommData(chr(10),1);
StopComm; StartComm;
WriteCommData(pchar(s), length(s));
StopComm; StartComm;
WriteCommData(chr(13),1);
StopComm;
end;
end;//读取日期 时间
procedure Tf_kqj.Button3Click(Sender: TObject);
var s: string;
begin
s := '#23';
with comm1 do
begin
StartComm;
WriteCommData(chr(10),1);
StopComm; StartComm;
WriteCommData(pchar(s), length(s));
StopComm; StartComm;
WriteCommData(chr(13),1);
// StopComm; end;
end;
//读取考勤记录
procedure Tf_kqj.Button4Click(Sender: TObject);
var s: string;
begin
s := 'R52';
with comm1 do
begin
StartComm;
WriteCommData(chr(10),1);
StopComm; StartComm;
WriteCommData(pchar(s), length(s));
StopComm; StartComm;
WriteCommData(chr(13),1);
// StopComm; end;
end;end.
解决方案 »
- 如何用最简洁的方法,输出从a到zzzz
- 怎么在form创建时调用ADOConnection连接oracle
- 付费求delphi拼音编程
- cs模式的软件,客户端错误报告提交 解决方案。(如 qq的错误提交)
- 结束进程问题
- 怎么实现EXL表里数据导入SQL数据库里
- intraweb7.0 中的"Pool Data Connections"是怎么回事?
- 在delphi中,如何按照byte一编译
- 高难度挑战问题(Api,windows底层,屏幕取字,IE)
- 在Delphi下,一行字符大于256改怎么办?
- [SQLSERVER]Delphi中存储数据到SQLSERVER如何保证浮点数正确?
- 万分紧急 怎么样读取memo一行中的一个字(明天我就要答辩了 )给了我所有的分
那在WIN2000下该如何办
你可以用CPort沙,很好用,有例程