Operation "and" not supported for types Double and

Образцы, куски исходников, вопросы. Обсуждаем программирование.
Ответить
Сообщение
Автор
Alexey
Сообщения: 41
Зарегистрирован: Чт окт 14, 2010 8:25 am

Operation "and" not supported for types Double and

#1 Сообщение Alexey » Вс янв 02, 2011 7:29 pm

.

Уважаемые форумчане, добрый день.

Объявлял и создавал я в коде индексные буферы типа
ixh : TIndexBuffer;
и
ixh := CreateIndexBuffer;

Использовал их в формуле типа
...or ( ixl[index]>2*ixh[index] and ixl[index]>itsl[index] ) then
или
if ixl[index]>2*itsl[index] or (ic[index]-io[index])> 2*itsh[index]
or (ixl[index]>2*ixh[index] and ixl[index]>itsl[index])
then

Так вот Лазарус говорит:
Error: Operation "and" not supported for types "Double" and "Double"
или
Error: Operation "or" not supported for types "Double" and "Double"


То есть, получается, не желает программа вещественные числа применять в условиях с исполтьзованием операторов or, and и т.п.

Как вынудить программу сделать то, что я ее прошу сделать?

FT Support
Сообщения: 329
Зарегистрирован: Сб июл 11, 2009 3:59 pm

#2 Сообщение FT Support » Пн янв 03, 2011 1:05 pm

Здравствуйте, Алексей,

Необходимо брать операнды в скобки, например:

((ixl[index]>2*ixh[index]) and (ixl[index]>itsl[index]))

Alexey
Сообщения: 41
Зарегистрирован: Чт окт 14, 2010 8:25 am

#3 Сообщение Alexey » Пн янв 03, 2011 1:18 pm

Большое Вам спасибо, уважаемый FT Support! Скобочки помогли, код заработал.

Ответить