网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Delphi
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.在Delphi中处理数据库日期型字段.
.谈用Access数据库做服务器.
.一个读取速度超快的FileStream!.
.Delphi编程技巧(一)内存管理.
.NeHe的opengl教程delphi版(8)---.
.Delphi编码标准——文件命名.
.控制Windows分辨率.
.Delphi字符串函数大全.
.如何制作平面式列头的Listview.
.多层数据库开发十二:使用数据控件.
.字符画软件的四个关键技术.
.用Delphi编写VxD设备驱动程序.
.实现Lucas-Kanade光流计算的Delp.
.将Dcom对象转换成Com+对象的一种.
.Delphi中获取打印机设备名和端口.
.调用DLL文件中的FORM.
.UltraEdit也支持Delphi语法高亮.
.两个字符串分割函数引出的奇怪问.
.流的压缩和解压.
.Delphi数据压缩处理(2).

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

发表日期:2006-2-4


 

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

在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;

上一篇:轻松实现DBGrid的多表头 人气:5294
下一篇:在Delphi中捕获控制台程序的输出 人气:4436
浏览全部Delphi的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐