★一个通用配置文件单元★ (100分)

  • 主题发起人 主题发起人 远帆
  • 开始时间 开始时间

远帆

Unregistered / Unconfirmed
GUEST, unregistred user!
★一个通用配置文件单元★
下载地址:http://www.xindkj.com/setfile.rar(73.7kb)

单元简介:
我们在编写程序时常有些数据需要配置,通常大家都是采用写文本文件、写INI文件、写
注册表的方法。可是这些方法都有些缺点:易被修改、保密性能不佳,而如果自定义一个文
件格式存储数据,那么我们需要许多额外的工作,并且也容易出错。

SetFile是本人在做项目时写的通用配置文件单元,它采用加密存储、内置数据校验单元
的方法解决了以上的问题,并且调用较为方便。

联系我:
如果您在使用中发现了什么问题或者有什么新的想法、建议,或者您认为这里缺少了您所
需要的数据类型......您都可以给我来信:
yuan-fan@21cn.com,yuan-fan@xindkj.com

授权及发布:
免费,不过如果您在您的软件中使用了它,请给我发封Email,我需要您的鼓励*_*
就按一般DLL发布就可以了(拷贝到可执行文件目录中或系统目录中),不需要注册。

其它:
SetFileTest.dpr 是一个调用例子程序,Delphi6、win2000、win98se调试通过。
为了减小文件体积我没有包括可执行文件,请自行编译。
由于机子上没有装 Delphi5,所以对不起使用Delphi5的朋友了,不过有工具可以转换的。


接口单元说明:
{-----------------------------------------------------------------------------
单元名称: SetFileU
所属工程:
作者: 王晓飞(远帆,Yuan-fan)
电子邮件: yuan-fan@21cn.com,yuan-fan@xindkj.com

目的: 1、本单元是 SetFile.Dll 的接口单元,以方便调用 SetFile.Dll 的各项
功能。

      2、SetFile.Dll是通用配置文件单元,用于加密存储程序配置数据,同时内
置数据校验以保证数据存储安全。

      3、数据类型:目前支持8种数据类型,如TDataType类型所列
1-DtChar:固定长度字符串,超出长度的将被自动截去
2-DtInteger:整数数据类型,4Byte,可以为负数
3-DtLongWord:长整数据类型,4Byte,不能为负数
4-DtReal:实型,长度为6个字节,
5-DtDateTime:日期时间类型
6-DtCurrency:实型,可存储4位小数
7-DtBoolean:布尔类型
8-DtStream:流(大二进制)数据类型,可存储任意长度数据

4、函数返回值:SetFile.Dll的大多数函数均有一个TResult类型的返回值,
其含意如下:
1-RSuccess:函数调用成功返回
2-RFileExists:文件已经存在(仅用于CreateSetFile函数)
3-RCreateFileErr:文件创建失败(仅用于CreateSetFile函数)
4-RUnknowErr:未知错误
5-ROpenFileErr:文件打开失败,常见于没有正确设置配置文件名时
6-RItemsNotFound:配置项未找到
7-RDataTypeErr:数据类型错误
8-RDataCheckErr:数据校验错误,可能发生于:a)尚未写入数据,b)配
置文件被损坏(其它配置项并不一定被损坏)


相关单元:

类列表:
函数列表:
1、CreateSetFile:创建一个空的配置文件

2、CreateSetItems:创建配置项,此函数需要提供 Name:20字节以内的配
置项名称;DataType:数据类型;DataLen:数据长度,对于 DtChar 和
DtStream 必需提供此参数,对于其它类型数据可以使用缺省值;ID:返回
生成的配置项ID。

3、DeleteSetItems:删除某配置项。需要提供待删除配置项的名称或ID。
需要说明的是被删除项仍可以正常读出直到配置文件被紧缩后。 

4、PackSet:紧缩配置文件。由于 DeleteSetItems 是做的逻辑删除,所以
删除配置项不会减小配置文件的大小,使用本函数后会物理删除被
DeleteSetItems 删除的配置项。

5、SaveSet:保存配置数据。可以按配置项的名称或ID进行写入。
6、LoadSet:读取配置数据。可以按配置项的名称或ID进行写入。

7、CreateSetFile:创建 TSetFile 实例。
8、SetFileName:读取或设置配置文件名称。

创建日期: 2002-06-18
-----------------------------------------------------------------------------}

 
没有人感兴趣吗?
 
1,没有代码
2,不是很必要
3,比较简单,需要的话完全可以自己写
 
先下个去学学,谢谢了
 
的确不复杂,可是自已写还是很烦的。我写了1900多行代码啊。
 
可以看看源码不?
 
从所给的函数来看,的确功能很简单。
这样简单的功能又没有源代码,我想没人敢在项目中使用的。
我建议贴出代码并扩展它,才有可能成为一个成功的东西。
 
1、既然觉得简单又何必看源码?
2、谁有windows的源码?你我不都在用吗?
3、我们做程序强调代码重用、模块化,如果有人在每一个项目中都写一个配置单元,
那么他的代码里一定充满垃圾。说没必要的人我看他的代码风格一定是很糟糕的。
4、我说过我是为一个项目写的配置单元,为了项目组和今后自已代码重用的方便而写。
大家可以想像我并不合适公开源码。我并不要求大家都用这个,但是我相信使用它能够
简少很多的麻烦。
 
我说了简单也说了没必要。但是回你的帖子纯粹是看你可怜兮兮的在说怎么没人感兴趣
才帮你看了一下,然后给你一点小意见而已。你没必要就此做什么结论吧?早知如此,
不来也罢:(

 
可怜兮兮?你会不会用词?我共享一个单元难道还要求人看吗?
 
不错啊,小伙子!支持你!
htxy99@yahoo.com
 
放到资源社区中了。
http://delphi.mychangshu.com/dispdoc.asp?id=1132
 
多人接受答案了。
 
后退
顶部