怎样把一个字符串转换成二进制,并存放在一个buffer里?
字符串如下:24 00 12 00 1A
我想用来把这个字符串转化为二进制写在binary类型的注册表值中?
其他部分代码如下:
case datatype of
rdstring:begin
reg.WriteString(value,data);
result:=true;
end;
rdBinary:begin
mybuffersize:=length(data)/2;
GetMem(mybuffer,mybuffersize);
for j:=0 to mybuffersize -1 do
begin
hextobin();
end;
reg.WriteBinaryData(value,mybuffer,mybuffersize);
result:=true;
end;
rdinteger:begin
reg.WriteInteger(value,strtoint(data));
result:=true;
end;
字符串如下:24 00 12 00 1A
我想用来把这个字符串转化为二进制写在binary类型的注册表值中?
其他部分代码如下:
case datatype of
rdstring:begin
reg.WriteString(value,data);
result:=true;
end;
rdBinary:begin
mybuffersize:=length(data)/2;
GetMem(mybuffer,mybuffersize);
for j:=0 to mybuffersize -1 do
begin
hextobin();
end;
reg.WriteBinaryData(value,mybuffer,mybuffersize);
result:=true;
end;
rdinteger:begin
reg.WriteInteger(value,strtoint(data));
result:=true;
end;
解决方案 »
- delphi中TCollection是如何实现用下标存取TCollectionItem的
- 用delphi 如何实现程序间即时通信,其原理是怎样的
- 怎么样才能让 insert 的记录 在数据库中保存的 位置 跟插入位置一样
- DATABASE连接SQL2000报错!(两层)连接数据库成功但表格无法打开,说对象lxgl不存在!
- delphi怎么自己关闭了
- 有没办法将一个查询出来的记录集加到另一个记录集上?
- delphi 如何将dbgrid数据导入到远程SQL服务器中?
- 如何利用delphi7.0与SQL server进行库连接及对库的操作!回答后立即给分100
- 哪里有好一点的电子书籍下载?
- 谁能简要介绍一下stringgrid的用法?
- 希望Delphi8中已经把Screen中的几个Last相关属性放出来了!
- 创建MDI应用程序的问题!
WriteBinaryData('', mybuffer[1], Length(mybuffer));
function WriteValue(mRootKey: HKEY; mKey, mName, mData: string): Boolean;
var
vRegDataInfo: TRegDataInfo;
begin
Result := False;
with TRegistry.Create do try
RootKey := mRootKey;
if not OpenKey(mKey, False) then Exit;
GetDataInfo(mName, vRegDataInfo);
case vRegDataInfo.RegData of
rdUnknown: Exit;
rdString, rdExpandString: WriteString(mName, mData);
rdInteger: WriteInteger(mName, StrToIntDef(mData, 0));
rdBinary: WriteBinaryData(mName, mData[1], Length(mData));
end;
finally
CloseKey;
Free;
end;
Result := True;
end; { WriteValue }
type
BufType :array of byte;
function MakeBuffer(src :string) :BufType;
var
buf :BufType;
i,j :integer;
begin
j := length(src) div 2;
setlength(buf,j);
for i := 0 to j-1 do
begin
buf[i] := strtoint('$'+midstr(src,i*2+1,2));
end;
Result := buf;
end;
照你们这样是吧字符串的ascii码写进去了,我要把这个字符串转化为16进制呀!
var buff :array of byte;
buff := makebuffer(data)
rdBinary: WriteBinaryData(mName, buff , Length(buff));