关于数组的一个问题,我弄了很久,也没解决!郁闷!

iwanttocry 2003-12-20 11:30:40
我定义了一个函数
public function getArrStr(strArr() as String) as String
dim i as integer
dim strTemp as String
for i=0 to ubount(strArr)
strTemp=strTemp & strArr(i)
next
getArrStr=strTemp
end function

在一个窗体中这样使用
dim myInfo as String
myInfo=getArrStr(Array("name","age","sex"))
但是编译不了

然后改成
dim myInfo as String
dim myInfoArr() as String
myInfoArr=Array("name","age","sex")
myInfo=getArrStr(myInfoArr)
能编译,但是执行到这里出错!

求救,改如何写法?

...全文
53 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
northwolves 2003-12-21
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
Dim myInfo As String
Dim myInfoArr
myInfoArr = Array("name", "age", "sex")
myInfo = Join(myInfoArr, " ")
MsgBox myInfo
End Sub
txdxun 2003-12-21
  • 打赏
  • 举报
回复
up
jordi2014 2003-12-20
  • 打赏
  • 举报
回复
Array返回的variant类型,而myinfoarr是string类型,当然类型不匹配了,建议遇到此类问题多看一下msdn的说明
jordi2014 2003-12-20
  • 打赏
  • 举报
回复
'修改为:
Dim myInfo As String
Dim myInfoArr() As String
ReDim myInfoArr(0 To 2)
myInfoArr(0) = "name"
myInfoArr(1) = "age"
myInfoArr(2) = "sex"
myInfo = getArrStr(myInfoArr)
海牛 2003-12-20
  • 打赏
  • 举报
回复
呵呵,楼上的,你怎么能这么说呢???不好吧!!!
kmzs 2003-12-20
  • 打赏
  • 举报
回复
呵呵错误不少,应该行了
lengdie 2003-12-20
  • 打赏
  • 举报
回复
函数定义ubount写错啦.
应改为ubound

rainstormmaster 2003-12-20
  • 打赏
  • 举报
回复
同意楼上

另外for i=0 to ubount(strArr)
应改为For i = 0 To UBound(strArr)

最后,需要指出的是vb提供了join语句,没必要重写一个:
Dim myInfo As String
Dim myInfoArr() As String
ReDim myInfoArr(0 To 2)
myInfoArr(0) = "name"
myInfoArr(1) = "age"
myInfoArr(2) = "sex"
myInfo = Join(myInfoArr, "")
Debug.Print myInfo

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧