有关注册表的问题(20分)

G

gmfzh

Unregistered / Unconfirmed
GUEST, unregistred user!
我有两个问题不能处理了,请大家帮忙:
1。 怎样向注册表中写入二进制数,形式如:FF FF FF FF、07 07 00 00等。
2。怎样修改注册表中的默认值,如把一个默认值由REGFILE改为TXTFILE。
谢谢大家。
 

function tohexstr(value:byte): string;
var count :integer;
howfar,tmp,andresul:word;
output :string;
begin
Howfar:=15;
Output:='';
tmp:=Value;
{ One bit at a time }
For count:=1 To 2 do
begin
AndResul:=tmp AND Howfar;
case AndResul Of
0 : OutPut:='0'+Output;
1 : OutPut:='1'+Output;
2 : OutPut:='2'+Output;
3 : OutPut:='3'+Output;
4 : OutPut:='4'+Output;
5 : OutPut:='5'+Output;
6 : OutPut:='6'+Output;
7 : OutPut:='7'+Output;
8 : OutPut:='8'+Output;
9 : OutPut:='9'+Output;
10 : OutPut:='A'+Output;
11 : OutPut:='B'+Output;
12 : OutPut:='C'+Output;
13 : OutPut:='D'+Output;
14 : OutPut:='E'+Output;
15 : OutPut:='F'+Output;
end;
tmp:=tmp DIV 16;
end;
result := output;
end;

procedure TForm1.Button1Click(Sender: TObject);
var finifile : TRegistry;
buffer : array[0..1024] of byte;
i : integer;
begin
finifile := TRegistry.create;
FiniFile.OpenKey('/SoftWare/EasySoft/邮件快递/', true);
label1.caption := inttostr(FInifile.ReadBinaryData('test',buffer,sizeof(buffer))) + ' ';
for i := 1 to FInifile.ReadBinaryData('test',buffer,sizeof(buffer)) do
label1.caption := label1.caption + ' ' + tohexstr(buffer[i-1]);
finifile.Free;
end;

 
第一个问题:
var
reg:tregistry;
begin
reg:=tregistry.Create;
reg.RootKey:=HKEY_LOCAL_MACHINE;
reg.OpenKey('/SOFTWARE/ddd',false);
reg.WriteInteger('ssss',222);
reg.CloseKey;
reg.Free;
第二个问题我是这样解决的
先把那个默认的删掉,再写入一个同名的值
reg.DeleteValue('(默认)');
reg.WriteString('(默认)','');
 
谢谢大家,以后有什么问题,再向大家请教。
 
顶部