VB这样在数组中添加新数据?

VB这样在数组中添加新数据?如图所示:记录数组已数据,将数据(如25)添加到、指定序号(如3),按下添加按钮,记录数组原数据“10,20,30,40,50,60”变成新数据“10,20,25,30,40,50,60”。序号前的数据不变(10,20),序号后的数据也不变、只是都后移一位,将“25”夹在“20与30”中间。(静态)数组的数量可自定(可以几十个),数据可自定(任意数),序号不超过数组的序号。这个问题看似简单,但本人却无能为力,敬请各位大师热心援手帮助一解,至此先真诚谢谢。

给你一个方法,但是代码来不及帮你写了
1、数组自己可以定义成不定大小的,也就是可以修改上限的,记住要设置成可以保留原数据的那种
2、将数组的上限增加一个,原来有n个元素,现在修改为n+1
3、将需要插入位置及以后位置的数据用另外的数组保存
4、将需要插入的数据赋值给原来数组对应的位置,然后将保存的数据重新赋值回来
(3和4步,可以不用新的数组实现:将第n个数据赋值到第n+1个,第n-1个数据赋值到第n个、第n-2个数据赋值到第n-1个,依次类推,直到所有需要转移的数据全部操作完毕既可)追问

谢谢您的提示,我也试着做,还是有困难;如果再增加新数组问题又多了,按理说不增加新数组应该可以解决问题,可能我还没有理清其中关系;我努力试吧,不过还请大师能指点迷津,百忙之余指点一二,毕竟本人对VB不熟;总之感谢不尽。

追答Private Sub Command1_Click()
    Dim tt() As String, i As Integer, ss As String
    ReDim tt(1 To 10)
    For i = 1 To 10
        tt(i) = i
        ss = ss & tt(i) & ", "
    Next i
    Print ss
    ReDim Preserve tt(1 To 11)
    For i = 11 To 4 Step -1
        tt(i) = tt(i - 1)
    Next i
    tt(3) = 2.5
    ss = ""
    For i = 1 To 11
        ss = ss & tt(i) & ", "
    Next i
    Print ss
End Sub

上面的代码可以演示你要的结果,供你借鉴

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-01-15
没有好方法,只能用循环把插入点以后的所有元素后移一个,然后在插入点写入添加的数据。
相似回答