vb 数组长度_如何删除数组元素

案例说明

本案例实现了如何在删除数组中的任意位置的一个元素,使数组成为一个新的数组。效果如下图所示。

8e93822b67de1388e6e14d9688d8d208.png

关键技术

由于对数组进行删除元素的操作,会减少数组的长度,因此数组必须定义为动态数组。如果是静态数组则无法完成数组插入这项操作。由于VB并未直接提供删除数组元素的方法,因此我们需要间接的完成删除元素的操作。

删除一个数组元素时,需要逐一将要删除元素后面的元素前移一个位置,最后在利用redim方法重新定义数组,这样就可以实现删除数组元素的要求了。

设计过程

步骤一

按照下图完成程序界面的搭建,其中下方打印区使用的是PictureBox控件。

整个界面,包括1个窗体、1个标签、1个文本框控件,以及2个按钮和1个图像框。

cf6bce43ac041d7d87395cf9ed18c517.png

步骤二

首先,需要在代码区顶部声明一个全局的动态数组arr

Option ExplicitDim arr()

步骤三

然后,编写窗体加载的代码,在这里我们为arr数组赋予一个初始的内容。

Private Sub Form_Load()    '初始化数组    arr = Array(1, 3, 5, 7, 9)End Sub

步骤四

接着,我们编写显示数组内容的代码,该代码可以将数组所有的元素打印到picturebox控件中。

Private Sub Command2_Click()    Dim i%    '遍历并输出arr数组元素    For i = LBound(arr) To UBound(arr)        Picture1.Print arr(i) & " ";    Next i    Picture1.Print  '换行End Sub

步骤五

最后,编写插入数组元素的代码。

Private Sub Command1_Click()    Dim i%    '防止未输入元素下标    If Text1 = "" Then Exit Sub        '防止下标超出数组的上下标范围    If Val(Text1) < LBound(arr) Or Val(Text1) > UBound(arr) Then        MsgBox "下标超出范围"        Exit Sub    End If        '循环移动数组元素    For i = Val(Text1) + 1 To UBound(arr)        arr(i - 1) = arr(i)    Next i        '重新定义数组长度(减少1个长度,代表舍弃了数组最后一个元素)    ReDim Preserve arr(UBound(arr) - 1)        MsgBox "删除成功"End Sub

步骤六

最后,我么来进行测试。运行程序,首先点击显示数组,将数组初始内容打印出来,然后输入要插入的位置和数值,点击插入元素,再点击显示数组,查看插入的效果。

8e93822b67de1388e6e14d9688d8d208.png

总结

数组在VB中具有非常非常重要的作用,对于处理数据具有绝对的优势,因此掌握数组的基本操作,尤其是增加、删除和插入以及查询都是相当重要的。小伙伴们一定要勤加练习哦。

友情提示:

添加QQ群 一起学VB 1138946358 可第一时间获取本案例源代码~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值