| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 428 人关注过本帖
标题:新手学vb 请各位老师指点
只看楼主 加入收藏
塞北江南
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-10-30
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
新手学vb 请各位老师指点
这个程序的目的是为了实现得到文本框1中的 数组b 和 内置 数组a 的交集,并以交集元素的个数作为 文本框二 显示可以执行的条件。代码如下:
Private Sub Command1_Click()
Dim a(0 To 9) As String    '定义一个内置的数组
Dim b(0 To 3) As String    '文本框中 输入的数组
Dim c() As String          '数组a与数组b的交集
Dim m As Byte              '定义 数组a的循环变量
Dim n As Byte              '定义 数组b的循环变量
Dim i As Byte              '定义 交集c的元素数量
 a(0) = "01": a(1) = 10: a(2) = 11: a(3) = 35: a(4) = 47: a(5) = 56:
 a(6) = 67: a(7) = 76: a(8) = 83: a(9) = 99    '给数组a赋值
b(0) = Mid(Text1.Text, 1, 2): b(1) = Mid(Text1.Text, 4, 2):
b(2) = Mid(Text1.Text, 7, 3): b(3) = Mid(Text1.Text, 10, 3)   '给数组b赋值
For m = 0 To 9
For n = 0 To 3
i = 0
If a(m) = b(n) Then
c(i) = a(m): i = i + 1: Exit For
End If
Next n
Next m                      '循环得到交集 c

If UBound(c) + 1 >= 2 Then  '获得交集c中元素的个数
Text2.Text = 可以执行
End If
End Sub

运行时,当我输入 四个两位 的数据,点击按钮 1  显示提示 下标越界。
请求各位达人帮助,我如何才可以达到自己的目的,最好有完整的代码
搜索更多相关主题的帖子: 老师 
2010-11-05 09:09
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:20 
Dim c() As String          '数组a与数组b的交集

这里,C 定义了,但没有定义大小.

你可以这样弄.
Dim c(0 to 3) As String          '数组a与数组b的交集  照样定义为4个元素 ,与 A 及 B 中最小的那个数组相同.

'If UBound(c) + 1 >= 2 Then  '获得交集c中元素的个数   这句改掉,
If i > 0  Then      '交集C中的元素个数最少为2个.  i>0时,最小为1 ,那么就存在 0 ,1 二个元素.
'对数组 C 引用时,下标不要超过 i 的值就可以了.


授人于鱼,不如授人于渔
早已停用QQ了
2010-11-05 10:58
塞北江南
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-10-30
收藏
得分:0 
我已经得到了正确答案,也感谢风版主的热心支持。
2010-11-10 09:36
快速回复:新手学vb 请各位老师指点
数据加载中...
 
   



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

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