arrays - 如何从 static "Array of TPoint"中删除/删除特定成员或元素?

标签 arrays delphi element point

我想从静态“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/

相关文章:

jQuery:提交动态表单元素时出现问题

Ruby Selenium - find_elements if nil => Net::ReadTimeout

jQuery 选择器无法通过 ID 找到我的元素

delphi - 如何处理在Delphi 中挂起的第三方函数或线程?

delphi - 在 pascal 中动态分配匿名函数

android - Delphi 获取android combobox 选中的item 文本

arrays - 在两个数组中查找不匹配项并将不匹配项添加到列中的最后一个位置

c# - BitmapImage:访问关闭的 StreamSource

javascript - 从javascript中的多维数组中获取所有变体

c - 替换数组中的元素