程序原码如下:
var
CLOCK: array[0..11] of variant;//=($7B,$09,$00,$01,$43,$4C,$4F,$43,$4B,$2A,$A0,$7D];
CMENU: array[0..11] of olevariant;//= ($7B,$09.$00.$01.$43.$4D.$45.$4E.$55.$2A.$AC.$7D);
CRST: array[0..11] of variant;//=(7B,08,00,01,43,52,53,54,2A,6F,7D);
CSTOP: array[0..12] of variant;//=(7B,09,00,01,43,53,54,4F,50,2A,BD,7D);
CTENTER: array[0..13] of variant;//=(7B,0B,00,01,43,54,45,4E,54,45,52,2A,4B,7D);
CTEST: array[0..12] of variant;//=(7B,09,00,01,43,54,45,53,54,2A,B7,7D);
CUNLOCK: array[0..14] of variant;//=(7B,0B,00,01,43,55,4E,4C,4F,43,4B,2A,45,7D);
I:integer;
begin
clock[0] :=$7B;
clock[1] :=$09;
clock[2] :=$00;
clock[3] :=$01;
clock[4] :=$43;
clock[5] :=$4C;
clock[6] :=$4F;
clock[7] :=$43;
clock[8] :=$4B;
clock[9] :=$2A;
clock[10] :=$A0;
clock[11] :=$7D;
Mscomm1.Settings:='9600,n,8,1';
Mscomm1.CommPort:=1;
mscomm1.PortOpen:=true;
for i:=0 to 11 do
mscomm1.Output:=clock[i];
end;
请高手指点下呀,不知道错在什么地方?总说未知端口。但我用随便的'dffddd'什么换掉clock[i]都正常。
我要用MSCOMM控件向rs232输出7B 09 00 01 43 4C 4F 43 4B 2A A0 7D。请高手指点写用代码,谢谢
var
CLOCK: array[0..11] of variant;//=($7B,$09,$00,$01,$43,$4C,$4F,$43,$4B,$2A,$A0,$7D];
CMENU: array[0..11] of olevariant;//= ($7B,$09.$00.$01.$43.$4D.$45.$4E.$55.$2A.$AC.$7D);
CRST: array[0..11] of variant;//=(7B,08,00,01,43,52,53,54,2A,6F,7D);
CSTOP: array[0..12] of variant;//=(7B,09,00,01,43,53,54,4F,50,2A,BD,7D);
CTENTER: array[0..13] of variant;//=(7B,0B,00,01,43,54,45,4E,54,45,52,2A,4B,7D);
CTEST: array[0..12] of variant;//=(7B,09,00,01,43,54,45,53,54,2A,B7,7D);
CUNLOCK: array[0..14] of variant;//=(7B,0B,00,01,43,55,4E,4C,4F,43,4B,2A,45,7D);
I:integer;
begin
clock[0] :=$7B;
clock[1] :=$09;
clock[2] :=$00;
clock[3] :=$01;
clock[4] :=$43;
clock[5] :=$4C;
clock[6] :=$4F;
clock[7] :=$43;
clock[8] :=$4B;
clock[9] :=$2A;
clock[10] :=$A0;
clock[11] :=$7D;
Mscomm1.Settings:='9600,n,8,1';
Mscomm1.CommPort:=1;
mscomm1.PortOpen:=true;
for i:=0 to 11 do
mscomm1.Output:=clock[i];
end;
请高手指点下呀,不知道错在什么地方?总说未知端口。但我用随便的'dffddd'什么换掉clock[i]都正常。
我要用MSCOMM控件向rs232输出7B 09 00 01 43 4C 4F 43 4B 2A A0 7D。请高手指点写用代码,谢谢
CLOCK: array[0..11] of olevariant;
I:integer;
begin
clock[0] :=byte($7B);
clock[1] :=byte($09);
clock[2] :=byte($00);
clock[3] :=byte($01);
clock[4] :=byte($43);
clock[5] :=byte($4C);
clock[6] :=byte($4F);
clock[7] :=byte($43);
clock[8] :=byte($4B);
clock[9] :=byte($2A);
clock[10] :=byte($A0);
clock[11] :=byte($7D);
Mscomm1.Settings:='9600,n,8,1';
Mscomm1.CommPort:=1;
mscomm1.PortOpen:=true;
for i:=0 to 11 do
mscomm1.Output:=clock[i];
end;
不知道为什么总提示无效有端口?如果mscomm1.Output:=clock[i];换成mscomm1.Output:=‘gfhgf';没有错?
http://topic.csdn.net/t/20030605/17/1880509.html
http://zhidao.baidu.com/question/69690172.html
你可以直接转成char型发送
CLOCK: array[0..11] of char;//=($7B,$09,$00,$01,$43,$4C,$4F,$43,$4B,$2A,$A0,$7D];
CMENU: array[0..11] of olevariant;//= ($7B,$09.$00.$01.$43.$4D.$45.$4E.$55.$2A.$AC.$7D);
CRST: array[0..11] of variant;//=(7B,08,00,01,43,52,53,54,2A,6F,7D);
CSTOP: array[0..12] of variant;//=(7B,09,00,01,43,53,54,4F,50,2A,BD,7D);
CTENTER: array[0..13] of variant;//=(7B,0B,00,01,43,54,45,4E,54,45,52,2A,4B,7D);
CTEST: array[0..12] of variant;//=(7B,09,00,01,43,54,45,53,54,2A,B7,7D);
CUNLOCK: array[0..14] of variant;//=(7B,0B,00,01,43,55,4E,4C,4F,43,4B,2A,45,7D);
I:integer;
begin
clock[0] :=#$7B;
clock[1] :=#$09;
clock[2] :=#$00;
clock[3] :=#$01;
clock[4] :=#$43;
clock[5] :=#$4C;
clock[6] :=#$4F;
clock[7] :=#$43;
clock[8] :=#$4B;
clock[9] :=#$2A;
clock[10] :=#$A0;
clock[11] :=#$7D;
Mscomm1.Settings:='9600,n,8,1';
Mscomm1.CommPort:=1;
mscomm1.PortOpen:=true;
for i:=0 to 11 do
mscomm1.Output:=clock[i];
var
CLOCK: array[0..11] of olevariant;
I:integer;
sendss:string;
begin
clock[0] :=byte($7B);
clock[1] :=byte($09);
clock[2] :=byte($00);
clock[3] :=byte($01);
clock[4] :=byte($43);
clock[5] :=byte($4C);
clock[6] :=byte($4F);
clock[7] :=byte($43);
clock[8] :=byte($4B);
clock[9] :=byte($2A);
clock[10] :=byte($A0);
clock[11] :=byte($7D);
sendss:='';
Mscomm1.Settings:='9600,n,8,1';
Mscomm1.CommPort:=1;
mscomm1.PortOpen:=true;
for i:=0 to 11 do
sendss:=sendss+clock[i];
mscomm1.Output:=sendss;
end;
就没有问题了