这不是你的错是VB的错,遇到这种情况,需重新定义一个数组,先保存pt的数据,然后将pt清空,再倒回来
驻马店网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联于2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
删除数组元素很简单,重新声明数组即可,代码如下
Redim [Preserve] 数组名 (下标上界)
这个也可以称为动态数组,这个东西是基础,非常重要。
这个功能就等于说,把原来的数组重新声明,Preserve是可选项,他的意思就代表是否保留数组内容,这是重点,如果你想删除数组中的元素,就不要写Preserve,这个方法的控制性也很好,可以重新声明数组的元素,各个方面都很有用,希望采纳!谢谢!
思路:个人认为,VB里没有特别好的办法,不如直接定义一个大小为2000的数组,用个循环把2500这个数组的数抄过去,抄的过程中,能被5整除的就跳过。例子:
Dim arr,brr(5) As Integer '定义一个长为5的数组,把长为10的数组内奇数抄过来
Dim i, j As Integer
j = 0
arr = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
For i = 0 To 9
If Not arr(i) Mod 2 = 0 Then '偶数的,不要
brr(j) = arr(i)
j = j + 1
End If
Next i
For i = 0 To 4 '输出结果
Print brr(i)
Next i
Erase 数组名
要注意,如果是固定数组,则所有元素的值被初始化(字符型为空字符串,数值型为0),数组的大小是不变的;如果是动态数组,则所有元素被删除,内存空间被回收,要重新ReDim才能使用。Private Sub Form_Click()Dim a(9) As Integer, i As IntegerRandomizePrint "清除前:"For i = 0 To 9 a(i) = Rnd * 100 Print a(i);NextPrintErase aPrint "清除后"For i = 0 To 9 Print a(i);NextPrintEnd Sub