从D7升级到D2010后,在D2010版本上加入D7同样Spcomm控件,运行时按照提示将Char换成AnsiChar。用串口监控软件监测到的十六进制代码为发送的一半,且每个代码后都多出一个‘00’。
如发送: 3A 00 08 00 03 03 06 0D 17 EF 01 FE FE FF
接收代码变为:3A 00 00 00 08 00 00 00 03 00 03 00 06 00
如果发送时将发送长度X2,
结果为:3A 00 00 00 08 00 00 00 03 00 03 00 06 00 0D 00 17 00 EF 00 01 00 FE 00 FE 00 FF 00
以上是没有将String转换为Ansistring 如果把String转换为Ansistring
如发送: 3A 00 08 00 03 03 06 0D 17 EF 01 FE FE FF
接收代码变为:3A 00 08 00 03 03 06 0D 17 3F 01 3F 3F 3F
(经我测试过所有大于7F的数据都会变为3F)但是在D7内运行就没有这样的问题。
请问各位大虾解决这个问题
如发送: 3A 00 08 00 03 03 06 0D 17 EF 01 FE FE FF
接收代码变为:3A 00 00 00 08 00 00 00 03 00 03 00 06 00
如果发送时将发送长度X2,
结果为:3A 00 00 00 08 00 00 00 03 00 03 00 06 00 0D 00 17 00 EF 00 01 00 FE 00 FE 00 FF 00
以上是没有将String转换为Ansistring 如果把String转换为Ansistring
如发送: 3A 00 08 00 03 03 06 0D 17 EF 01 FE FE FF
接收代码变为:3A 00 08 00 03 03 06 0D 17 3F 01 3F 3F 3F
(经我测试过所有大于7F的数据都会变为3F)但是在D7内运行就没有这样的问题。
请问各位大虾解决这个问题
解决方案 »
- 急急。。从数据库读出到stringgrid修改的问题,送分的。
- IdPOP3控件收邮件会出现Content-Transfer-Encoding: base64
- 高分请教一个有关textarea的简单问题,弄了一天一夜搞不定!
- ★Delphi中默认的color颜色有限,太少,如何把自己需要的颜色设置到控件上??
- 做了个程序,用于快速打开程序或网址,请大家看看。
- 如何让我的应用程序截获关闭计算机,注销,重新启动计算机的消息?
- 开始用DELPHI做MIS了,问兄弟们几个问题。
- 请教:关于grid的问题?
- DELPHI的正确读音是['delfai]还是['delfi]?
- 为什么总是imcompitable types
- 新手delphi 问题 求解
- 关于串口的问题-------------------------懂串口的都来看看
function HexStrToStr(const S:String):String;
//16进制字符串转换成字符串
var
t:Integer;
ts:String;
M,Code:Integer;
begin
t:=1;
Result:='';
while t<=Length(S) do
begin
while (t<=Length(S)) and (not (S[t] in ['0'..'9','A'..'F','a'..'f'])) do
inc(t);
if (t+1>Length(S))or(not (S[t+1] in ['0'..'9','A'..'F','a'..'f'])) then
ts:='$'+S[t]
else
ts:='$'+S[t]+S[t+1];
Val(ts,M,Code);
if Code=0 then
Result:=Result+Chr(M);
inc(t,2);
end;
end;
发送
procedure TForm_Com.SendString(const str: string); //发送数据
begin
Comm1.WriteCommData(PAnsichar(str),Length(str));
//结果为多00的
Comm1.WriteCommData(PAnsichar(Ansistring(str)),Length(str));
//结果为超7F的就会变成3F
end;