标题:VB6 - STDF
只看楼主
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1817
专家分:3681
注 册:2011-3-24
结帖率:98.24%
已结贴  问题点数:100 回复次数:8 
VB6 - STDF
http://jonaschen.
连结有STDF档的规格~这是国际标准格式~也就是说是纯英文的~
网页连结附的执行档其实时是不完整的~而且这不是我贴的~

最近要搞STDF的玩意儿~
之前用C写过二进制转ASCII的编程~和两个档案合并在一起的编程~
这次要搞同一档案依照选定的Site切割成多份档案~
简单的说是二进制档案切割~但切完不能影响原本标准格式~
因为时间紧迫~这次改用VB6编~不知道有没有类似经验的可以给点建议~
或是有参考代码~完整的文档我这有了~处理二进制档案还真烦人~

如果不是同业的~应该一辈子都不会碰到这东西~
不过还是碰碰运气提上来问问~
搜索更多相关主题的帖子: 玩意儿 二进制 英文 规格 而且 
2012-01-06 20:26
bczgvip
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
注 册:2009-2-26
得分:35 
STDF:Standard Test Data Format 标准的测试数据的格式
要用到的人真少。而且网上也没能找到详细的示意图。
2012-01-06 23:26
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:35 
链接打不开。STDF 不知道是什么文件格式。
无能为力。

如果我来解析文件的话,先定义文件里的各个子结构,无法知道子结构的就定义一个 BYTE 数组。
然后再定义整个文件的总结构。

读取时,分块读取,把在文件的总结构中填充各个子结构,填充完了,就读完了,然后分析数组。
如果文件太大,就不能用这个方法了。。。。
那样需要在读数据时,分段读取。

授人于鱼,不如授人于渔
早已停用QQ了
2012-01-07 11:45
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1817
专家分:3681
注 册:2011-3-24
得分:0 
可能你们那有挡吧~帮抓了~
spec.rar (483.82 KB)

不要選我當版主
2012-01-07 20:59
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1817
专家分:3681
注 册:2011-3-24
得分:0 
一共有20多种格式~每串都是不同型态的结构组合~每次出的档案格式内长度都不一定相同~
完全要依靠关键字撷取后才知道~每串内含资料的意义也都各有用意~
数字组合采用的MSB制~用VB写和用C写还会有牵扯内部型态定义上的问题~这很烦的~

好像是什么IEEE754协定的问题~所以能写出来的都是要花大钱买的~它的分析软件很贵的~
加上一般人用不到这个~盗版商也就不会有利润了~所以也找不到盗版的软件~
记得之前写这个的时候~才深深感觉到VB中对二进制处理上的无力感~

之前光是克服林威治时间的转换~就记忆深刻~
VB一堆基础运算式都无法处理大到一个程度以上的数字~
STDF里一堆明明是Long的数字~用VB中的Long却会溢位~
理论上C的long和VB的Long应该是一样大~实际上VB中的小得多~
也许是VB的long不能unsign吧~

不要選我當版主
2012-01-07 21:19
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:0 
前面用的电脑没装 看PDF的软件。
今天 才打开 PDF 看,全英文的啊,我不懂。

这个工作 量会非常的大,所有的格式,都要定义为常量出来,还有枚举类型。头都会晕掉。
还有各种格式,要翻译成对应的 VB变量类型, 没看懂我都头晕了。

授人于鱼,不如授人于渔
早已停用QQ了
2012-01-09 20:53
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1817
专家分:3681
注 册:2011-3-24
得分:0 
VB6讨厌的就是会很贴心的帮你把读出的字节转成十进制~让你要调试程序时~增加困难度~
还要用小算盘转回去比对~差一个字节就会整个错乱~一般都会有上亿个字节要处理~

其实能掌握要点就简单多了~每串前4位元组是固定格式~
1B + 2B 是总长~3B + 4B 是标示符号~所以每段全长是((1B * 1) + (2B * 256) +4)字节~
因为是LSB~所以高位元在右边~要倒着算~跟解封包类似吧~而后面的就要资料被规格书里的定义了~
一段一段做会比较简单~如果要一次建构一个大结构去处理~光想那结构怎建就会晕倒了~

因为这是国际封测厂通用格式~所以规格书一定是全英文的~

今天把程序架构写好了~但是碰到奇异的现象~一个档案切成多份后用同一只程序转成ASCII码~
居然会不一样~二进制经比对后是一模一样的说~出问题的都在IEEE754格式转换的部分~
明天继续努力~VB6讨厌的就是会很贴心的帮你把读出的字节转成十进制~让你要调试程序时~增加困难度~
还要用小算盘转回去比对~差一个字节就会整个错乱~一般都会有上亿个字节要处理~

其实能掌握要点就简单多了~每串前4位元组是固定格式~
1B + 2B 是总长~3B + 4B 是标示符号~所以每段全长是((1B * 1) + (2B * 256) +4)字节~
因为是MSB~所以高位元在左边~要倒着算~跟解封包类似吧~而后面的就要资料被规格书里的定义了~
一段一段做会比较简单~如果要一次建构一个大结构去处理~光想那结构怎建就会晕倒了~

因为这是国际封测厂通用格式~所以规格书一定是全英文的~

今天把程序架构写好了~但是碰到奇异的现象~一个档案切成多份后用同一只程序转成ASCII码~
居然会不一样~二进制经比对后是一模一样的说~出问题的都在IEEE754格式转换的部分~
明天继续努力~

[ 本帖最后由 wube 于 2012-1-9 23:07 编辑 ]

不要選我當版主
2012-01-09 23:03
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1817
专家分:3681
注 册:2011-3-24
得分:0 
MSB还是LSB忘了~

不要選我當版主
2012-01-09 23:08
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1817
专家分:3681
注 册:2011-3-24
得分:0 
我的天啊~这篇在Google搜寻STDF时排在前五项~
真令人怀念~

不要選我當版主
2017-09-01 14:39



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-359278-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.147941 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved