Тема: Проблема - Сравнение двух одинаковых координат возвращает FALSE
> bender
Вот, короче говоря, моя процедура. Так она работает, а вот если сравниватиь координаты не как строки а как я и говорил, то сравнение двух одинаковых координат даст False. Вот почему такое?
Function PointIsBelongToPolyline(ByRef Pnt As Variant, PLineObj As AcadObject, PLineIndex As Integer) As Boolean 'Проверяет является ли точка одной из вершин полилинии 'Возвращает TRUE, если является Dim Coords As Variant Dim upper As Integer, i As Integer Coords = PLineObj.Coordinates upper = (UBound(Coords) + 1) / 2 For i = 0 To upper - 1 If CStr(Pnt(0)) = CStr(Coords(i * 2)) And CStr(Pnt(1)) = CStr(Coords(i * 2 + 1)) Then PLineIndex = i PointIsBelongToPolyline = True Exit Function End If Next PointIsBelongToPolyline = False End Function
Variant/Double я так понимаю. Переменные объявлены как Variant, в процессе выполнения через Pnt передаются координаты точки, как массив Double. Также и с Coords.