Страница 1 из 1

Operation "and" not supported for types Double and

Добавлено: Вс янв 02, 2011 7:29 pm
Alexey
.

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

Объявлял и создавал я в коде индексные буферы типа
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 и т.п.

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

Добавлено: Пн янв 03, 2011 1:05 pm
FT Support
Здравствуйте, Алексей,

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

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

Добавлено: Пн янв 03, 2011 1:18 pm
Alexey
Большое Вам спасибо, уважаемый FT Support! Скобочки помогли, код заработал.