У меня проблема с настройкой диапазона для вторичного индекса в таблице Paradox 7 с использованием Delphi2010.
Соответствующие поля:
FeatureType (int);YMax (int);XMax (int);YMin (int);Xmin (int).Вторичный индекс содержит все эти поля в указанном порядке.
Я тестировал с помощью оператора SetRange, например, так (необязательно добавлять все значения полей, остальные предполагаются NULL и все значения включены):
table1.IndexName := 'YMaxIndex';
table1.SetRange([101, 280110400],[101, 285103294]); //386236 records
И попытался получить результат 0, добавив к ограничениям:
table1.IndexName := 'YMaxIndex';
table1.SetRange([101, 280110400, 1],[101, 285103294, 1]); //386236 records
Но все равно получил 3863236, что явно неверно при проверке значений в поле XMax в таблице.
Может кто-нибудь объяснить мне, чего я не понимаю в индексах Paradox и SetRange?Я часто использовал подобный код, но не обязательно с 3 полями, указывающими диапазон.
Обновление
См. Ответ Уве ниже.Далее следует окончательное решение кода (новые диапазоны для XMax):
Table1.SetRange([101,280110400], [101,285103294]);
Table1.Filter := 'XMax > 100000 and XMax < 110000';
Table1.Filtered := true;