| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 436 人关注过本帖
标题:[求助]问一些简单的问题(三)!
取消只看楼主 加入收藏
飙马
Rank: 5Rank: 5
来 自:马里亚纳
等 级:贵宾
威 望:15
帖 子:779
专家分:280
注 册:2007-3-28
收藏
 问题点数:0 回复次数:3 
[求助]问一些简单的问题(三)!

我想调用这个Function,但没有使用参数来进行传值,该如何实现呢?我是用的数组,

非要用参数吗?


调用
Total_AB = 24 * Max_Month()

实现
Private Function Max_Month() As Integer

Const N = 9
Dim A(N), i, j, temp As Integer

A(0) = Combo1.ListIndex + 1: A(1) = Combo2.ListIndex + 1: A(2) =

Combo3.ListIndex + 1: A(3) = Combo4.ListIndex + 1: A(4) =

Combo5.ListIndex + 1
A(5) = Combo6.ListIndex + 1: A(6) = Combo7.ListIndex + 1: A(7) =

Combo8.ListIndex + 1: A(8) = Combo9.ListIndex + 1

For i = 0 To N - 1
For j = i + 1 To N - 1
'升序排列
If (A(j) < A(i)) Then temp = A(i): A(i) = A(j): A(j) = temp
'降序排列
'If (A(j) > A(i)) Then temp = A(i): A(i) = A(j): A(j) = temp
Next
Next
Man_Month = A(j)
End Function

2007-08-22 14:51
飙马
Rank: 5Rank: 5
来 自:马里亚纳
等 级:贵宾
威 望:15
帖 子:779
专家分:280
注 册:2007-3-28
收藏
得分:0 
我知道是Combo定义出了问题.
然后,我定义了一个数组
Const n=8;
Dim B(8) as Integer

再将Combo索引值赋予数组
B(0)=Combo1.index
B(1)=Combo2.index
…………
…………

最后再
A(0)=B(0)+1 :A(1)=B(1)+1: A(2)=B(2)+1
…………
…………

为什么还是不行呢?提示B(0)=Combo1.index不是数组。

[此贴子已经被作者于2007-8-22 16:54:49编辑过]


IT精英如同彩票:平凡的人像5块也中不到一样普遍,努力一点你中了5元保了个本。奖金越高,机率也就越小,付出的也越多,盖茨如同500万一样稀有。虽然每天忙碌而平凡,但我努力成为精英,做梦中了500万。
2007-08-22 16:27
飙马
Rank: 5Rank: 5
来 自:马里亚纳
等 级:贵宾
威 望:15
帖 子:779
专家分:280
注 册:2007-3-28
收藏
得分:0 

我删减了代码精简了以下,问题已经解决了。它提示的意思是Combo.Index不是数组,不能给数组A(8)赋值,虽然这个并没有弄清楚,不一定要数组才能给数组赋值嘛?但是还是将这段代码发出来供大家参考吧。希望还跟我一样菜的弟兄能受益!

Dim Total As Integer
Const n = 8
Dim A(8) As Integer

Private Function Max_Month() As Integer

Const n = 8
Dim B(n), i, j, temp As Integer

B(0) = A(0) + 1: B(1) = A(1) + 1: B(2) = A(2) + 1: B(3) = A(3) + 1
B(4) = A(4) + 1: B(5) = A(5) + 1: B(6) = A(6) + 1: B(7) = A(7) + 1: B(8) = A(8) + 1

For i = 0 To n - 1
For j = i + 1 To n - 1
'升序排列
If (B(j) < B(i)) Then temp = B(i): B(i) = B(j): B(j) = temp
'降序排列
'If (B(j) > B(i)) Then temp = B(i): B(i) = B(j): B(j) = temp
Next
Next
Max_Month = B(j)
End Function

Private Sub Command1_Click()
A(0) = 1
A(1) = 2
A(2) = 3
A(3) = 4
A(4) = 5
A(5) = 6
A(6) = 7
A(7) = 8
A(8) = 9
Total = 24 * Max_Month()
MsgBox "a的值是:" & Total
End Sub

[此贴子已经被作者于2007-8-22 22:03:16编辑过]


IT精英如同彩票:平凡的人像5块也中不到一样普遍,努力一点你中了5元保了个本。奖金越高,机率也就越小,付出的也越多,盖茨如同500万一样稀有。虽然每天忙碌而平凡,但我努力成为精英,做梦中了500万。
2007-08-22 19:49
飙马
Rank: 5Rank: 5
来 自:马里亚纳
等 级:贵宾
威 望:15
帖 子:779
专家分:280
注 册:2007-3-28
收藏
得分:0 
汗!无语!
Combo1.Index改成Combo1.ListIndex就行了!

IT精英如同彩票:平凡的人像5块也中不到一样普遍,努力一点你中了5元保了个本。奖金越高,机率也就越小,付出的也越多,盖茨如同500万一样稀有。虽然每天忙碌而平凡,但我努力成为精英,做梦中了500万。
2007-08-22 20:28
快速回复:[求助]问一些简单的问题(三)!
数据加载中...
 
   



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

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