vb redim preserve

[复制链接]
查看11 | 回复2 | 2018-3-4 14:36:31 | 显示全部楼层 |阅读模式
Option Base 1
Dim studname() As String*4
Sub Form_Click()
ReDim studname(10)
Dim i%,temp as String*4
For i=1 to 10
temp$=InputBox$(“Enter Name:”)
studname(i)=temp$
Next i
End Sub
上述程序中数组只能够保存10个同学的姓名,如果现在还要再录入10个同学的姓名到该数组中去,不能将原有的10个同学的数据删除,该怎么办?请在Next i的后面再追加程序。

回复

使用道具 举报

千问 | 2018-3-4 14:36:31 | 显示全部楼层
如果在录入之前知道所有同学的个数,这样可以定义个固定的数组,比如我要录入30个那么就定义为:Dim studname(30) As String*4这里可以定义更大一点,以防止后来变化Dim studname(100) As String*4,用不到的就放在那里好了,录入的时候For i=1 to 100 temp$=InputBox$(“Enter Name:”) if trim(temp$)="" thenif msgbox("输入为空,是否结束录入?",vbokcancel)=vbok then exit forelse studname(i)=temp$ end ifNext i
回复

使用道具 举报

千问 | 2018-3-4 14:36:31 | 显示全部楼层
如果使用了Preserve关键字,就只能重定义数组最末维的大小,且根本不能改变维数的数目。例如,如果数组就是一维的,则可以重定义该维的大小,因为它是最末维,也是仅有的一维。不过,如果数组是二维或更多维时,则只有改变其最末维才能同时仍保留数组中的内容。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行