胖胖虫关于Delphi中文件和注册表的自以为是的经验总结

来源:互联网 发布:linux telnet端口不通 编辑:程序博客网 时间:2024/04/30 07:53

文件操作

TFileStream

ReadWrite方法调用如下:

 

Write(Var Buffer; Count : integer) , 其中Buffer是指内存中一个真实的地址, Read方法将读取文件内容放到该位置上,

Write方法从该位置读取内容写入文件. 所以:

 

如果是操作 AnsiString 类型变量, : Write(xString[1], ....); 将字符串中第一个字符的内存位置传递给该方法.

 

如果是操作 PChar 类型变量, : Write(xChar^ , .....); 将该指针指向的内存位置传递给该方法.

 

注册表操作

基本概念

CurrentKeyCurrentPath

CurrentPath是一个字符串表达的路径,它是当前打开的注册表键相对于所在根键的字符串路径,类似于“……\……\……\……”这样的形式,其中第一个目录符\被省略掉了。

Delphi中注册表类的CurrentKey就是API中的HKEY类型,它是一个句柄,指向当前已经打开的注册表键。

 

TRegistryTRegIniFile

TRegIniFileTRegistry的子类,它包装并处理了TRegistry抛出的异常,并且在读写注册表时并不真正按照注册表中的数据类型读写,所以如果要读取的注册表项目如果不是用TRegIniFile写进去的,最好也不要用TRegIniFile读出来。

如果希望利用TRegIniFile的方便,又要有TRegistry的功能,则如下:

XReg := TRegIniFile.create(….);

TRegistry (XReg).writeinteger……