案例说明
本案例实现了如何在删除数组中的任意位置的一个元素,使数组成为一个新的数组。效果如下图所示。关键技术
由于对数组进行删除元素的操作,会减少数组的长度,因此数组必须定义为动态数组。如果是静态数组则无法完成数组插入这项操作。由于VB并未直接提供删除数组元素的方法,因此我们需要间接的完成删除元素的操作。
删除一个数组元素时,需要逐一将要删除元素后面的元素前移一个位置,最后在利用redim方法重新定义数组,这样就可以实现删除数组元素的要求了。
设计过程
步骤一
按照下图完成程序界面的搭建,其中下方打印区使用的是PictureBox控件。
整个界面,包括1个窗体、1个标签、1个文本框控件,以及2个按钮和1个图像框。
步骤二
首先,需要在代码区顶部声明一个全局的动态数组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
步骤六
最后,我么来进行测试。运行程序,首先点击显示数组,将数组初始内容打印出来,然后输入要插入的位置和数值,点击插入元素,再点击显示数组,查看插入的效果。
总结
数组在VB中具有非常非常重要的作用,对于处理数据具有绝对的优势,因此掌握数组的基本操作,尤其是增加、删除和插入以及查询都是相当重要的。小伙伴们一定要勤加练习哦。
友情提示:
添加QQ群 一起学VB 1138946358 可第一时间获取本案例源代码~~