美萍网管大师数据库资料存取方法
来源:互联网 发布:cf数据异常 编辑:程序博客网 时间:2024/04/29 21:30
美萍网管大师是一款不错的网吧管理软件,但是其数据库却不是美萍惯用的Acess。这让需要从美萍存取数据变得异常的困难。
经笔者研究,网管大师主要有以下两个数据文件:scon.rec(保存用户上网消费记录),member81.cfg(记录用户信息)。其中scon.rec官方有提供数据记录格式。格式如下:
Type SconRecFile=Record
RecType:Integer; //此项记录的类型(0计时 1限时 2会员 3通宵)
RecDate:TDateTime; //此项记录的日期
BeginTime:TDateTime; //上机开始时间
EndTime:TDateTime; //上机结束时间
RecMinTime:Integer; //上机总用时(以分钟为单位)
ComputerNum:Integer; //此机机号
Price:Real; //费率
Money1:Real; //上机费用 负值代表费用转移了
Money2:Real; //附加费用 负值代表费用转移了
Money3:Real; //实收金额 负值代表费用转移了
Manager:String[16]; //管理者名字
Username:String[16]; //使用者名字
Memo:String[100]; //备注
End;
根据以上数据,用Delphi读取数据时错误,发现以上格式有误。通过UE查看scon.rec发现每个数据包是196byte,但是依据以上的数据结构计算出来会占用(Integer:4Byte,TDateTime:8Byte,Real:8Byte;String[16]:是短字串,共17byte,第一个byte保存字串长度,后面16byte保存字串内容,string[100]类似,以上数据结构总长度:203Byte。也许是版本原因造成的差异)。经过仔细分析,发现数据结构应该是这样的:
Type SconRecFile = packed Record
RecType:Integer; //此项记录的类型(0计时 1限时 2会员 3通宵)
RecDate:TDateTime; //此项记录的日期
BeginTime:TDateTime; //上机开始时间
EndTime:TDateTime; //上机结束时间
RecMinTime:Integer; //上机总用时(以分钟为单位)
ComputerNum:Integer; //此机机号
Price:real48; //费率
Money1:real48; //上机费用 负值代表费用转移了
Money2:real48; //附加费用 负值代表费用转移了
Money3:real48; //实收金额 负值代表费用转移了
Manager:String[16]; //管理者名字
Username:String[16]; //使用者名字
Memo:String[101]; //备注
end;
差异如以上红字部分所示。(real48占用6byte)
根据以上数据结构,用Delphi写如下的代码便可读取scon.rec中的数据出来。
可以依次数据格式做统计。
另外一个重要的数据表是用户信息。记录在member81.cfg文件中,官方没有公布此数据的格式,但是经过笔者用UE等工具仔细分析,还是发现了一些端倪。此文件也是无头文件,里面全部记录的都是data。其数据结构如下:
MemRecFile = packed Record
Usercode:string[20]; //用户名
Userpw:string[20]; //密码(长度猜测,不一定对)
other:array[0..29] of char; //其它信息1
osamt:single; //余额
sumamt:single; //累计金额
Memo:array [0..283] of char; //其它信息2
end;
因为时间所限,只将比较重要的信息(用户,密码,余额,总金额)的位置找出,其它信息相信也可轻松的找出来。
其中密码是加密的,其它信息估计都是是明文的。
根据以上结构,笔者写了以下的存取(读取/修改)此文件的代码:
以上仅抛转引玉,错误在所难免,仅供参考。
- 美萍网管大师数据库资料存取方法
- yii 存取数据库方法
- 用数据库存取图片的方法
- asp的对象存取数据库的方法
- emojicon表情在数据库中的存取方法
- 数据库系统常用的存取方法
- 算法大师资料
- 网管相关资料:TL1【转】
- HashMap的存取之美
- HashMap的存取之美
- 对Oralce数据库存取图片的几种方法
- MFC中存取Access数据库的一般方法
- Java将对象直接在数据库中存取的方法
- delphi使用ADO在sql数据库存取图片的方法
- 4天成就网管大师个人网管安全手册所附光盘
- 信管 数据库 网管 总结
- 数据库中存取文件
- 数据库中存取文件
- 删除文件中的注释部分代码。。。
- 向其他终端发送消息
- JAAS学习笔记
- c#读取并修改App.config文件实例
- CSS和JS标签style属性对照表
- 美萍网管大师数据库资料存取方法
- vmware虚拟机和本机互传文件的方法总结
- 2009年总结
- Oracle大全
- 如何做好项目经理
- 队列(Queue)
- MySQL的自增字段
- SUSE 防火墙设置之端口开放
- 分享我的Spring AOP入门