我想从静态“TPoint 数组”中删除/删除特定成员或元素。如何做到这一点?
最佳答案
如果“静态”指的是“非动态”(即固定大小的数组),那么就不能。您能做的最好的事情就是将其移动到数组的末尾,然后以某种方式标记最后一个 TPoint,这样您就可以在后续传递中忽略它。
如果您正在谈论动态(即可变大小的数组,即VAR A : ARRAY OF TPoint;
),那么您可以使用以下例程:
TYPE
TPointArray = ARRAY OF TPoint;
PROCEDURE RemoveIndex(VAR ARR : TPointArray ; Index: INTEGER);
VAR
I : INTEGER;
BEGIN
IF (Index<LOW(Arr)) OR (Index>HIGH(Arr)) THEN EXIT;
FOR I:=Index TO PRED(HIGH(ARR)) DO ARR[I]:=ARR[SUCC(I)];
SetLength(ARR,PRED(LENGTH(ARR)))
END;
关于arrays - 如何从 static "Array of TPoint"中删除/删除特定成员或元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13171696/