开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 2632|回复: 5
收起左侧

[精币悬赏] 请高手帮忙把这个快手读取数据代码用易语言来实现

[复制链接]
结帖率:33% (1/3)
发表于 2012-10-20 18:51:29 | 显示全部楼层 |阅读模式   广东省揭阳市
2精币
rt = io.open("D:\dzh2\data\sh\STKINFO70.DAT","rb")
rt.seek(
"set",0x44a6)

rt.seek(
"set",0x5b666)
rtdata = {
    byte code[10];
    BYTE name[50];
    INT datatime;
    int unknown1;
    float refclose;
    float open;
    float high;
    float low;
    float new;
    float volume;
    float amount;
    float lotnow;
    float buy1;
    float buy2;
    float buy3;
    float buy4;
    float buy5;
    float buy1v;
    float buy2v;
    float buy3v;
    float buy4v;
    float buy5v;
    float sell1;
    float sell2;
    float sell3;
    float sell4;
    float sell5;
    float sell1v;
    float sell2v;
    float sell3v;
    float sell4v;
    float sell5v;
}

data = rt.read(rtdata)

io.open()
io.print(data.code,rt.seek())
io.print(data.name,time(data.datatime - 28800),data.refclose)
io.print(data.open,data.high,data.low,data.new)
io.print(data.volume,data.amount,data.lotnow)
io.print(
"")
io.print(data.buy1,data.buy2,data.buy3,data.buy4,data.buy5)
io.print(data.buy1v,data.buy2v,data.buy3v,data.buy4v,data.buy5v)
io.print(data.sell1,data.sell2,data.sell3,data.sell4,data.sell5)
io.print(data.sell1v,data.sell2v,data.sell3v,data.sell4v,data.sell5v)
execute("pause")
io.close()
rt.close()


        照着前辈的文档,写的一塌糊涂。基址不对,数据结构对了,可是读出来的时间是好几年前的,用数据一比较,果然是前几年的数据。上网一查,原来大智慧已经强制更新了,不再使用STKINFO60.DAT,而是用STKINFO70.DAT来保存实时数据。先找到了文件的基址,计算出一个数据块大小320字节。由于数据结构和旧版的不一样了,需要重新分析。暂时就分析出这么多了,有些数据试不出来是干什么的,以unkonwn命名之。已推导出来的这部分结构体应该满足大部分需求了,剩余的部分可以用byte unknown2[剩下的字节数] 覆盖。
        至于块和偏移地址的计算,在白天发的帖子《大智慧数据读取器》里已经写出方法了。
        运行结果和大智慧显示的一样。数据位数不同是因为浮点数的关系,可以格式化后输出。

STKINFO70.zip

211.6 KB, 下载次数: 8, 下载积分: 精币 -1 枚

结帖率:80% (8/10)

签到天数: 9 天

发表于 2012-10-20 18:59:13 | 显示全部楼层   广东省深圳市
{:soso_e126:}寒
回复

使用道具 举报

结帖率:97% (33/34)
发表于 2012-10-20 19:51:31 | 显示全部楼层   四川省宜宾市
想说看不懂,又感觉丢人,好吧,我看出上面有个基址了。。。。。

点评

亲那好像是指针   山东省济宁市  发表于 2012-10-20 20:31
回复

使用道具 举报

结帖率:33% (1/3)

签到天数: 1 天

 楼主| 发表于 2012-10-20 23:08:07 | 显示全部楼层   广东省揭阳市
我看上面是声明了小数型的一些列数据。易语言里面估计需要自定义数据类型来保存这几十个数据成员
回复

使用道具 举报

结帖率:33% (1/3)

签到天数: 1 天

 楼主| 发表于 2012-10-21 08:55:54 | 显示全部楼层   广东省揭阳市
顶上来等高手。。。。。。
回复

使用道具 举报

结帖率:33% (1/3)

签到天数: 1 天

 楼主| 发表于 2012-10-21 16:08:32 | 显示全部楼层   广东省揭阳市
再顶一下,等待高手帮忙。。。。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表