| 资源简介: |
因WINDOWS的注册表不能另存为单独的文件以及开发系统的需求, 特编写此TBHRegister控件以替换写入数据到WINDOWS注册表的功能 功能:实现类试WINDOWS注册表的树状存储功能 并能存为单独的文件 可以存储的数据类型: Key:主键 Integer:整数 Int64:64位整数 Real:实数 Currency:金钱数据 Boolean:布尔数据 Datetime:时间数据 Date:日期 Time:时间 Stream:流数据 String:字符串 其中的Stream支持使得可以能够集中存储文件 免除向WINDOWS系统注册表添加脏数据,让软件做的更绿色 使用方法: 创建一个TBHRegister的实例,设置好FileName(文件名) AutoCreate(文件不存在是否自动创建) 使用OpenRegister打开文件,打开一个主键OpenKey,进行相应的操作,如插入,更改,删除等,操作完毕后 关闭主键CloseKe;继续打开其他主键进行相关操作,确认操作完成后关闭文件CloseRegister 作者:汪广兵(Black Hole Develope Team) EMail:blackholeteam@126.com 版本:1.5 完成时间:2007-04-02 使用过程中有任何问题和建议请Email给我 如果您有修改版本,请Email一份给我 (+ :增加功能 - :删除的功能 *:修正的功能 #:暂时未完成的功能或者有缺陷的功能) 1.1--2006-04-11 已经可以完全正常使用 +重新整理注册表文件以清除因长时间删除所积累下来的冗余数据占据的文件空间(ReformRegister) *修正存储的格式,方便管理 *修正SaveData,LoadData 已经可以正常使用 #Stream 暂时只能新增,无法修改 #SaveKey,LoadKey两个功能暂没完成 --2006-04-12 +存储,读取Stream,重整注册表时用的回调函数 *SaveKey(导出), LoadKey(导入)功能完成 --2006-04-13 *修正SearchData搜类示'RootKey.DongXi'时返回错误结果 *修正LoadKey当前打开主键在导入后不会自动更新 *修正重整(ReformRegister)的BUG -重命名由于名称长度的问题,暂删除此功能 --2006-04-14 *修正大部分已知BUG +查询数据状态函数(QueryDataInfo) +读取数据项函数(GetData) +完整的注册表工具 (见DEMO) --2006-04-15 *修正当在RootKey底下新建子键时FRootKey不更新问题 *修正FlushData当传入参数时的BUG +返回当前打开主键的全名(GetCurrenctKeyName) +完整的注册表工具(BHRegister工具,见DEMO) +遍历函数(TraversalKey) 1.2--2006-05-02 +在网上找到DCPcrypt加密控件,整理一下后完成控件BHEncryptComponent +文件头加入加密标志,口令MD5加密后的密文 +完成数据加密功能,默认采用3des加密方法 --2006-05-04 +保存到数据流:SaveToStream 从数据流读取:LoadFromStream +保存数据到TBloBField:SaveToBLob 从TBlobField读取数据:LoadFromBlob +创建在内存中使用的属性:InMemory --2006-05-22 +合并:UnionRegister +获取数据类型:GetDataType; 1.3--2006-8-19 *升级到DCPcrypt 2.0 beta 3 *修正部分BUG *修改SaveKey,LoadKey为从TStringList读取,拓展适用范围 *修正DEMO的不能查看多过2级以上数据的BUG *休整DEMO的多处小BUG,现DEMO已经完全可以使用 --2007-03-09 *修正ValueExist返回值错误 *修正ReadInteger,ReadBool...的返回值规则 1.4--2007-03-20 +系统TMemoryStream操作大文件时比较慢,故改造为使用MapFile装载和读取文件的TBHMemoryStream 全部替换掉TMemoryStream *改进LoadStream,SaveStream,LoadEncryptFile的算法,缩小大文件的操作时间 +UnionRegister加入回调函数进行合并中数据差异的处理 1.5--2007-03-28 +新增TBHMapFileStream,可以处理小于4G以下的文件,内存消耗小,速度快 *替换TBHMemoryStream为TBHMapFileStream,所有过程经过重新优化 *修正SearchData一处BUG *修正InnerDelete的BUG +RenameValue:值改名 RenameKey:当前KEY改名 *修正TraversalKey的BUG *重写ReformRegister的算法,使用TraversalKey改写 ******************************************************************** 1.5相比1.4的改动较多,可能有部分用1.4保存的文件无法正常读取 如有需要 请用1.4的SaveKey先导出,然后在1.5的LoadKey中导入 ******************************************************************** |