帮我修改一下这个vb高手给我写的代码!
未改前:PrivateSubCommand1_Click()Text3=""a0=Split(Text2.Text,Chr(13)+Chr(10))forEachyIna...
未改前:
Private Sub Command1_Click()
Text3 = ""
a0 = Split(Text2.Text, Chr(13) + Chr(10))
for Each y In a0
Debug.Print y
a1 = Split(Text1, "+")
For Each x In a1
Sum = Sum + Val(aa(x, y))
b = b & aa(x, y) & "+"
Next
Text3.Text = Text3.Text & Left(b, Len(b) - 1) & "=" & Sum & Chr(13) & Chr(10)
b = ""
Next
End Sub
Public Function aa(ByVal a As String, ax As Variant) As Integer
Select Case a
Case "第一个数"
aa = bb(1, ax)
Case "第二个数"
aa = bb(2, ax)
Case "第三个数"
aa = bb(3, ax)
Case "第四个数"
aa = bb(4, ax)
Case "第五个数"
aa = bb(5, ax)
End Select
End Function
Public Function bb(ByVal a As String, ax As Variant) As Integer
b = Split(ax)
Select Case a
Case "1"
bb = b(0)
Case "2"
bb = b(1)
Case "3"
bb = b(2)
Case "4"
bb = b(3)
Case "5"
bb = b(4)
End Select
End Function
与下面有什么不一样?
_________________________
修改后:
Private Sub Command1_Click()
Text3 = ""
a0 = Split(Text2.Text, Chr(13) + Chr(10))
For Each y In a0
Debug.Print y
a1 = Split(Text1, "+")
For Each x In a1
Sum = Sum + Val(aa(x))
b = b & aa(x) & "+"
Next
Text3.Text = Text3.Text & Left(b, Len(b) - 1) & "=" & Sum & Chr(13) & Chr(10)
b = ""
Next
End Sub
Public Function aa(ByVal a As String) As Integer
Select Case a
Case "第一个数"
aa = bb(1)
Case "第二个数"
aa = bb(2)
Case "第三个数"
aa = bb(3)
Case "第四个数"
aa = bb(4)
Case "第五个数"
aa = bb(5)
End Select
End Function
Public Function bb(ByVal a As String) As Integer
b = Split(Text2.Text)
Select Case a
Case "1"
bb = b(0)
Case "2"
bb = b(1)
Case "3"
bb = b(2)
Case "4"
bb = b(3)
Case "5"
bb = b(4)
End Select
End Function
它们有什么不一样的?
这是一位高手帮我写的,我只是把修改后的二维数组换成了一维数组,但是结果不一样,这是为什么?一直看不懂?还有就是未修改的运行时为什么在text2.text输入多行,运行时text3.text的每一行总是前几行的累加和?而不是每一行的和? 展开
Private Sub Command1_Click()
Text3 = ""
a0 = Split(Text2.Text, Chr(13) + Chr(10))
for Each y In a0
Debug.Print y
a1 = Split(Text1, "+")
For Each x In a1
Sum = Sum + Val(aa(x, y))
b = b & aa(x, y) & "+"
Next
Text3.Text = Text3.Text & Left(b, Len(b) - 1) & "=" & Sum & Chr(13) & Chr(10)
b = ""
Next
End Sub
Public Function aa(ByVal a As String, ax As Variant) As Integer
Select Case a
Case "第一个数"
aa = bb(1, ax)
Case "第二个数"
aa = bb(2, ax)
Case "第三个数"
aa = bb(3, ax)
Case "第四个数"
aa = bb(4, ax)
Case "第五个数"
aa = bb(5, ax)
End Select
End Function
Public Function bb(ByVal a As String, ax As Variant) As Integer
b = Split(ax)
Select Case a
Case "1"
bb = b(0)
Case "2"
bb = b(1)
Case "3"
bb = b(2)
Case "4"
bb = b(3)
Case "5"
bb = b(4)
End Select
End Function
与下面有什么不一样?
_________________________
修改后:
Private Sub Command1_Click()
Text3 = ""
a0 = Split(Text2.Text, Chr(13) + Chr(10))
For Each y In a0
Debug.Print y
a1 = Split(Text1, "+")
For Each x In a1
Sum = Sum + Val(aa(x))
b = b & aa(x) & "+"
Next
Text3.Text = Text3.Text & Left(b, Len(b) - 1) & "=" & Sum & Chr(13) & Chr(10)
b = ""
Next
End Sub
Public Function aa(ByVal a As String) As Integer
Select Case a
Case "第一个数"
aa = bb(1)
Case "第二个数"
aa = bb(2)
Case "第三个数"
aa = bb(3)
Case "第四个数"
aa = bb(4)
Case "第五个数"
aa = bb(5)
End Select
End Function
Public Function bb(ByVal a As String) As Integer
b = Split(Text2.Text)
Select Case a
Case "1"
bb = b(0)
Case "2"
bb = b(1)
Case "3"
bb = b(2)
Case "4"
bb = b(3)
Case "5"
bb = b(4)
End Select
End Function
它们有什么不一样的?
这是一位高手帮我写的,我只是把修改后的二维数组换成了一维数组,但是结果不一样,这是为什么?一直看不懂?还有就是未修改的运行时为什么在text2.text输入多行,运行时text3.text的每一行总是前几行的累加和?而不是每一行的和? 展开
展开全部
哈哈,你这位兄弟,最上面的那段代码是我写的。
下面的那个不知道那哥们儿,怎么非要给我改了,我比较来气!
我写的代码明明没有任何问题,愣说我有问题,被气晕了快!!
“aa = bb(3, ax)”把这个参数传过去,和,“b = Split(Text2.Text) ”
有区别。
没想到,今天又让我碰上你了,看来还是有缘,本来想给你解决一下,但是,看了看你给的分也太低了吧!才10分,太抠了点吧!
________________________________________________________
算了,我给你解释解释吧!
1、单行变多行的思路
找到“Chr(13) & Chr(10) ”回车换行符,进行split
然后,再不数组中的每一个元素,split就行了
2、你没理解的地方
你的bb函数直接split那个文本框里的值,那就不行了,需要把split回车换行符后的数组元素传递给bb,另由于bb不能直接接收这个参数ax,所以,必须借助aa函数帮助传递。
3、这个程序很简单,需要弄懂的地方
a.VB的数组用法
b.VB函数的用法
c.VB获取ASCII码指定字符的方法
4、下次提问注意的地方
多给点分,以后怎么着也得照着100分给呀。呵呵,开玩笑的。
下面的那个不知道那哥们儿,怎么非要给我改了,我比较来气!
我写的代码明明没有任何问题,愣说我有问题,被气晕了快!!
“aa = bb(3, ax)”把这个参数传过去,和,“b = Split(Text2.Text) ”
有区别。
没想到,今天又让我碰上你了,看来还是有缘,本来想给你解决一下,但是,看了看你给的分也太低了吧!才10分,太抠了点吧!
________________________________________________________
算了,我给你解释解释吧!
1、单行变多行的思路
找到“Chr(13) & Chr(10) ”回车换行符,进行split
然后,再不数组中的每一个元素,split就行了
2、你没理解的地方
你的bb函数直接split那个文本框里的值,那就不行了,需要把split回车换行符后的数组元素传递给bb,另由于bb不能直接接收这个参数ax,所以,必须借助aa函数帮助传递。
3、这个程序很简单,需要弄懂的地方
a.VB的数组用法
b.VB函数的用法
c.VB获取ASCII码指定字符的方法
4、下次提问注意的地方
多给点分,以后怎么着也得照着100分给呀。呵呵,开玩笑的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2008-11-18
展开全部
一般人看不懂!!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询