redim问题

yoryor 2005-12-29 11:18:03
当我Dim Strtemp() As String后,如何实现ReDim Preserve后UBound(Strtemp) + 1,我是指第一次(ReDim Preserve Strtemp(UBound(Strtemp) + 1)当还没有redim时UBound是无法读取的)....谢谢大家!!!

...全文
137 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
rainstormmaster 2005-12-30
  • 打赏
  • 举报
回复
当然,你在用ReDim Preserve Strtemp(UBound(Strtemp) + 1)之前判断一下数组是否被初始化也可以(需要写一个子函数,利用错误陷阱进行判断)
junki 2005-12-30
  • 打赏
  • 举报
回复
或者你在出始化时,
Redim Strtemp(0) As String

'当符合条件时
Redim Strtemp(0 To Num) As String
Strtemp(1) = "123"
'这样数组的有效数据是索引从1开始的
rainstormmaster 2005-12-29
  • 打赏
  • 举报
回复
先定义一个变量,用这个变量表示UBound(Strtemp) ,先给这个变量初值比如是-1:

Dim Strtemp() As String
dim i as long
i=-1

然后你在循环体中这么写:
if i=-1 then
redim Strtemp(你需要的数值)
你的其它语句
i=UBound(Strtemp)+1
else
ReDim Preserve Strtemp(i)
i=i+1
end if

7,765

社区成员

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

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