WEB开发网
开发学院软件开发Delphi 关于读写注册表二进制数据的问题 阅读

关于读写注册表二进制数据的问题

 2006-02-04 13:36:59 来源:WEB开发网   
核心提示: 关于读写注册表二进制数据的问题在Delphi的帮助文件中得到了关于注册表二进制数据的读写函数声明,但是帮助文件中并没有给出例子.现在我给出例程.1.读取二进制数据function ReadBinaryData(const Name: String; var Buffer; BufSize: Integer): Int
 

关于读写注册表二进制数据的问题

在Delphi的帮助文件中得到了关于注册表二进制数据的读写函数声明,但是帮助文件中并没有给出例子.现在我给出例程.

1.读取二进制数据
function ReadBinaryData(const Name: String; var Buffer; BufSize: Integer): Integer;
从当前键值返回一个二进制数据.如果成功则返回所需数据,所需数据保存在buffer中,而返回的integer值表示返回数据的大小(byte).

2.存储二进制数据
PRocedure WriteBinaryData(const Name: String; var Buffer; BufSize: Integer);
存储一个二进制数据到指定的键值.

例程:
procedure TForm1.Button1Click(Sender: TObject);
var
  reg:TRegistry;        {声明Regstry对象}
  typ:TRegDataType;    {注册表数据类型.常用的有字符串类型(rdString)、数值类型(rdInteger)、二进制类型(rdBinary)}
  str:string;            {用于显示操作信息}
  i:integer;             {注册表的数据大小,以字节为单位}
  vv:integer;             {注册表的数据内容}
begin
  reg:=TRegistry.Create;                     {创建注册表对象}
  reg.RootKey :=HKEY_LOCAL_MACHINE;     {设置根键}
  reg.OpenKey ('MYSOFT',TRUE);             {打开主键}
  typ:=reg.GetDataType('ccc');               {得到所需数据的类型}
  i:=reg.GetDataSize('ccc');                   {得到所需数据的大小}
  case typ of                             {根据数据类型显示提示信息}
   rdstring:
     str:='This is String Type';
   rdInteger:
     str:='This is Integer Type';
   rdBinary:
     str:='This is Binary Type';
  else
   str:='This is Unknown Type';
  end;
  memo1.Lines.Add(str);
  memo1.lines.Add(inttostr(i));            {提示信息结束}
  reg.ReadBinaryData('ccc',vv,i);         {读取数据的内容,函数返回数据内容的大小[本例中未写出返回值]}
  memo1.Lines.add(inttostr(vv));
  vv:=1;                            {设定数据内容vv=1}
  reg.WriteBinaryData('ccc',vv,i);          {把数据内容写入注册表中}
  reg.CloseKey;                      {关闭主键}
  reg.Free;                         {释放注册表对象}
end;

Tags:关于 读写 注册表

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接