这样能实现嘛? ( 积分: 10 )

  • 主题发起人 主题发起人 lilyqiu_80
  • 开始时间 开始时间
L

lilyqiu_80

Unregistered / Unconfirmed
GUEST, unregistred user!
我想把一个两位的字符串看成十六进制数,直接放到字节数组里去,能实现嘛?
例如:
var
str:string;
textbyte:array of byte;
begin
for i:=0 to 2 do
str:=copy('0a0002',2*i+1,2); //每次取出字符串中的两位数字
textbyte:=strtoint(str); //想实现把‘0a’直接放入字节数组里,可是a不
是整数,转换时会出错,应该怎么做呢?
end;

正常的赋值,可以这样写
textbyte:=$90;
可是写成textbyte:=$+str 是不行的,请问各位大侠,那要怎么实现呢?
 
我想把一个两位的字符串看成十六进制数,直接放到字节数组里去,能实现嘛?
例如:
var
str:string;
textbyte:array of byte;
begin
for i:=0 to 2 do
str:=copy('0a0002',2*i+1,2); //每次取出字符串中的两位数字
textbyte:=strtoint(str); //想实现把‘0a’直接放入字节数组里,可是a不
是整数,转换时会出错,应该怎么做呢?
end;

正常的赋值,可以这样写
textbyte:=$90;
可是写成textbyte:=$+str 是不行的,请问各位大侠,那要怎么实现呢?
 
字节型不行吧?
 
procedure TForm1.Button1Click(Sender: TObject);
var
I : Integer;
str:string;
textbyte:array of byte;
begin
SetLength(textbyte, 2);
for i:=0 to 2 do begin
str:=copy('0a0002',2*i+1,2); //每次取出字符串中的两位数字
textbyte:=strtoint('$' + str); //想实现把‘0a’直接放入字节数组里,可是a不
end;
end;
这样就没问题了,在字符串前面加
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部