静的な「TPoint の配列」から特定のメンバーまたは要素を削除/削除したい。これを行う方法?
質問する
2322 次
1 に答える
5
「静的」が「非動的」(つまり、固定サイズの配列) を意味する場合は、できません。できる最善の方法は、それを配列の最後に移動してから、後続のパスで無視できるような方法で最後の 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;
于 2012-11-01T06:21:38.240 に答える