Показать сообщение отдельно
  #9  
Старый 16.04.2009, 19:16
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,098
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну и заведи себе массив точек исключения. Можно просто по индексу.
Тогда условие будет что-то типа:

Если R[i]<.5 то занести точку в массив исключений
Если точка в массиве исключений то не рисовать

Код:
var
  ExceptionPoints : Array Of Integer;

function IsExcept(N : Integer) : Boolean;
var
  I :Integer;
begin
  Result := False;
  For I := Low(ExceptionPoints) to High(ExceptionPoints) Do
    Begin
      Result := N = ExceptionPoints[i];
      If Result Then Break;
    End;
end;

procedure AddExcept(N : Integer);
begin
  If Not IsExcept(N) Then
    Begin
      SetLength(ExceptionPoints,Length(ExceptionPoints)+1);
      ExceptionPoints[High(ExceptionPoints)] := N;
    End;
end;

// далее твой код. меняем условия:
if R[i]<0.5 then AddExcept(I);
If IsExcept(I) Then Continue;

// И опять твой код
Ответить с цитированием