| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2058 人关注过本帖
标题:关于VB自订结构体的问题
只看楼主 加入收藏
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
结帖率:97.66%
收藏
已结贴  问题点数:20 回复次数:2 
关于VB自订结构体的问题
最近因为公司程式上的需求~也许是思路上的问题~我建立一个VB的结构体~因为读取数百万行的纯文字资料时~分析时要顺便把各种资料类别分存到结构体的各层定义变量中~因此定义了一个多层结构体~因为VB的多维阵列好像只有最后一维可以增长~而要把资料结构化就没法用一个阵列解决~所以才使用多层的一维阵列~但是这又会有另一个烦人的问题~如下图示例:

模块:
程序代码:
Public Type FFF
    f As Integer
    f1() As String
End Type

Public Type EEE
    e As Integer
    e1() As FFF
End Type

Public Type DDD
    d As Integer
    d1() As EEE
End Type

Public Type CCC
    c As Integer
    c1() As DDD
End Type

Public Type BBB
    b As Integer
    b1() As CCC
End Type

Public Type AAA
    a As Integer
    a1() As BBB
End Type

Public VBProject As AAA

Form:
程序代码:
Private Sub Form_Load()

    ReDim VBProject.a1(a)
    
    ReDim VBProject.a1(a).b1(VBProject.a1(a).b)
    
    ReDim VBProject.a1(a).b1(VBProject.a1(a).b).c1(VBProject.a1(a).b1(VBProject.a1(a).b).c)
    
    ReDim VBProject.a1(a).b1(VBProject.a1(a).b).c1(VBProject.a1(a).b1(VBProject.a1(a).b).c).d1(VBProject.a1(a).b1(VBProject.a1(a).b).c1(VBProject.a1(a).b1(VBProject.a1(a).b).c).d)
    
    ReDim VBProject.a1(a).b1(VBProject.a1(a).b).c1(VBProject.a1(a).b1(VBProject.a1(a).b).c).d1(VBProject.a1(a).b1(VBProject.a1(a).b).c1(VBProject.a1(a).b1(VBProject.a1(a).b).c).d). _
    e1(VBProject.a1(a).b1(VBProject.a1(a).b).c1(VBProject.a1(a).b1(VBProject.a1(a).b).c).d1(VBProject.a1(a).b1(VBProject.a1(a).b).c1(VBProject.a1(a).b1(VBProject.a1(a).b).c).d).e)
    
    ReDim VBProject.a1(a).b1(VBProject.a1(a).b).c1(VBProject.a1(a).b1(VBProject.a1(a).b).c).d1(VBProject.a1(a).b1(VBProject.a1(a).b).c1(VBProject.a1(a).b1(VBProject.a1(a).b).c).d). _
    e1(VBProject.a1(a).b1(VBProject.a1(a).b).c1(VBProject.a1(a).b1(VBProject.a1(a).b).c).d1(VBProject.a1(a).b1(VBProject.a1(a).b).c1(VBProject.a1(a).b1(VBProject.a1(a).b).c).d).e). _
    f1(VBProject.a1(a).b1(VBProject.a1(a).b).c1(VBProject.a1(a).b1(VBProject.a1(a).b).c).d1(VBProject.a1(a).b1(VBProject.a1(a).b).c1(VBProject.a1(a).b1(VBProject.a1(a).b).c).d).e1(VBProject.a1(a). _
    b1(VBProject.a1(a).b).c1(VBProject.a1(a).b1(VBProject.a1(a).b).c).d1(VBProject.a1(a).b1(VBProject.a1(a).b).c1(VBProject.a1(a).b1(VBProject.a1(a).b).c).d).e).f)
    
End Sub

还没定义完全~意思到了就行了~

所以要处理底层宣告变量数值时~代码要写的超长~虽然可以用With来暂时解决问题~但是总不方便~不知道是否有更好的写法~可以在处理底层结构资料的时候~可以让代码变短一点~曾经试着用传参数的方式去传结构~但是不行的样子~
希望能知道怎么让一个主结构可以切开来处理~而不用再定义另一个相同结构来互传~目前是已经硬把它写出来了~只是觉得应该有更好的方法~所以上来请教一下?
顺便问问资料处理的部份~是用VB的直接解比较好~还是有API可以更方便来做?

[ 本帖最后由 wube 于 2011-4-16 04:24 编辑 ]
搜索更多相关主题的帖子: 文字资料 结构体 
2011-04-16 04:15
bczgvip
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
注 册:2009-2-26
收藏
得分:14 
这结构体还真繁琐,就没有看这简单点的吗?拿来处理什么的?
2011-04-16 20:32
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
大概说明下:
一家厂商设计出半导体后~经过上游厂商加工~拿来通常都上千到上万片Wafer~一片Wafer看尺寸大概都会切出500-1000颗IC~详细不清楚~我是依照资料反推的~每次测试依照机器不同可以一次测4颗或8颗或更多~而每颗IC里面大概会有50根脚位(看情况)~每根脚位都需要经过5-10项测试项目检测脚位流出或流入电流电压的数值~机器一下去平均每几秒会产生2~10万行测试资料~所以需要很大的结构体来分析和存放这些东西~而不是我自找麻烦~虽然主管说我要的东西某程式里面有~只是上百万行的代码~看到就头晕~所以直接上来问问高手~

上面的示例已经是我简化在简化的了~实际上没那么短= =

主管有说可以用自订函式来传递结构体~说什么用ByRef的方式~但是光这样说很难理解~

不要選我當版主
2011-04-16 21:26
快速回复:关于VB自订结构体的问题
数据加载中...
 
   



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

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