精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● VB和Basic>>〓〓..各种开发技巧..〓〓>>算法、技巧和其他>>在VB中怎样删除数组中的某一个值?谢谢!

主题:在VB中怎样删除数组中的某一个值?谢谢!
发信人: fishy(死鱼)
整理人: winsy(2003-03-06 08:57:44), 站内信件
【 在 huangs_07 的大作中提到:】
:在VB中怎样删除数组中的某一个值?谢谢!
:......
 
只能把数组元素往前移,不过时间开销很大,为了解决时间问题,可以使用一个没有公开的API,声明如下:
Private Declare Sub RtlMoveMemory Lib "KERNEL32" (hpvDest As Any, hpvSource As Any, ByVal cbCopy As Long)
(关于此API函数的详细介绍可以参考精华区“API函数”目录下的第36篇文章)

由于数组使用的是连续的内存地址,因此对于一个数组A(1 to N),如果要删除其中第M个元素,可以:
RtlMoveMemory (A(M), A(M+1), Len(A(N))*(N-M))
A(N) = 0



----
闲人一个
闲鱼一条

[关闭][返回]