如下,buf值已知的情况:
var :array of byte;
begin
setlength(buf,3);
buf[0]:=$41;注:1
buf[1]:=$54;
buf[2]:=$2A;
end;
上面的工作正常,遇到的问题是:
buf值是未知的,得从str中读取
str:string;
str:='41542A';
buf[0]:=$copy(str,1,2);//以下3行为伪代码
buf[1]:=$copy(str,3,2);
buf[2]:=$copy(str,5,2);
关键就是如何实现倒数三行这种功能,从而达到"注1"的那种效果.
请各位帮帮小弟,感激不尽
var :array of byte;
begin
setlength(buf,3);
buf[0]:=$41;注:1
buf[1]:=$54;
buf[2]:=$2A;
end;
上面的工作正常,遇到的问题是:
buf值是未知的,得从str中读取
str:string;
str:='41542A';
buf[0]:=$copy(str,1,2);//以下3行为伪代码
buf[1]:=$copy(str,3,2);
buf[2]:=$copy(str,5,2);
关键就是如何实现倒数三行这种功能,从而达到"注1"的那种效果.
请各位帮帮小弟,感激不尽
解决方案 »
- IE临时文件问题,100分请教
- 菜鸟请教怎么做进度条
- 我東莞,我想用delphi做一個程序啟動我們在臺灣的sql server服務器,請問可以嗎?
- 20分求助!请问关于edit的问题!
- 求救!!!
- 如何比较两个dbgrid中显示的内容是否相同?送高分!谢谢!
- 程序怎么运行不了?各位帮忙看看!
- 在程序中怎样是http://www.csdn.net还是ftp://ftp.csdn.net
- 我用下面的代码来打印图片,为何打印出来的图片那么小,如何能够做到象ACDSEE那样的打印功能?
- 怎样调试DLL???
- 各位老大 怎么样写一个带参的程序? 在线等!
- 多层数据库应用系统----插入时出现的问题...请大加帮帮忙
str: string;
buf: array of byte;
begin
str := '41542A';
SetLength(buf, Length(str) div 2);
buf[0] := StrToInt('$' + str[1] + str[2]);
buf[1] := StrToInt('$' + str[3] + str[4]);
buf[2] := StrToInt('$' + str[5] + str[6]);
end;
在delphi中,16進制的數在其前面加'$'來表示
如$AA
str: string;
buf: array of byte;
i:integer;
begin
str := '41542A';
i:=0;
SetLength(buf, Length(str) div 2);
while str<>'' do
begin
buf[i]:=strtoint('$'+copy(str,1,2));
inc(i);
str:=copy(str,3,length(str)-2);
end;
end;