如何从静态"Array of TPoint"中删除/删除特定成员或元素?



我想从静态" 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;

最新更新