Futurebasic/语言/参考/def dynamicremoveitems
✔ 外观 ✔ 标准 ✔ 控制台
DEF DYNAMICREMOVEITEMS  ( gMyDynamicArray, First&, HowMany&, SavePtr& )
2006 年 11 月(FB 4,第 4 版)
此函数从 gMyDynamicArray 中删除 HowMany& 个项,从项 First& 开始。任何后续项将向下移动以替换已删除的项,从而导致一个比原来少 HowMany& 个项的数组。每个后续项的索引将减少 HowMany&。如果 SavePtr& 为 0,则数据将被清除,不会有任何警告或补救措施。如果在 SavePtr& 中传递了一个指针,则要删除的数据将首先复制到该地址。
无论当前是否已填充,动态数组都必须在传递给此函数之前在某个时刻保存过数据。
gMyDynamicArray 是任何以前使用 DYNAMIC 或 DIMÊDYNAMIC 定义的 FutureBASIC 动态数组。
First& 是要删除的第一个项的数组位置。它必须 >= 0。DEFÊDYNAMICREMOVEITEMS 不会删除数组中存在的项以外的任何项。例如,如果您的数组包含 10 个项(0-9),并且您尝试从项 8 开始删除 5 个项,则将删除 2 个项(8-9),并且数组将剩下 8 个项(0-7)。
HowMany& 指定要删除的连续项数。如果 First& 后面没有足够的项,只会删除可用的项数。SavePtr& 是一个地址,将把要从 gMyDynamicArray 中删除的项复制到该地址。
SavePtr& 必须指向一个已分配的内存块(或变量),该内存块(或变量)的大小足以容纳所有要删除的数据。 DEFÊDYNAMICREMOVEITEMS 不会检查以确保有足够的空间。如果可删除的项少于 HowMany&,则只会将已删除的项数复制到 SavePtr&。要删除数据而不保存它,请在 SavePtr& 中传递 0。
DEF DYNAMICINSERTITEMS; DYNAMIC; USR DYNAMICITEMSIZE