ПО RAD Studio 10.1 Berlin.
Всё работает, но нужно изменить код. А именно каким либо образом вынести условие из кода во внешний файл, для возможности его изменения. Пока же условие "вшито" в программу.
Смысл программы - есть двумерный массив, который надо отфильтровать. (Своего рода таблица - упрощенно.)
Массив состоит из 100 элементов и 50000 строк.
Фильтрация осуществляется по первым 5-6 полям.
Условия фильтрации равно, не равно, содержит, и, или.
Условие совпало - нет ошибки, строка массива проходит. И всё это сейчас в коде программы.
Но условия меняются. Как их значения, так иногда и логика - последовательность.
Пример
if ((A1='1') and (CountPos('A13.29',A2)>0) and (A3='73') and (A4='97') and (A5='3')) then error:=0;
CountPos - функция поиска содержимого (содержит).
А завтра может быть нужно
if ((A1='222') and (CountPos('A13.29',A2)>0) or (A3='73') and (A4!='97') and (A5='3') and (A5<>'4')) then error:=0;
Что не меняется.
Названия переменных A1, A2...A6.
Их максимальное количество - 6, т.е. A7 никогда не будет в коде.
Вид условий.
Внутри скобок, до ОПЕРАТОР не более 3х.
Всего комбинаций "троек" условий не более 4х.
if (
((условие 1) оператор (условие 2) оператор (условие 3)) ОПЕРАТОР
((условие 1) оператор (условие 2) оператор (условие 3)) ОПЕРАТОР
((условие 1) оператор (условие 2) оператор (условие 3)) ОПЕРАТОР
((условие 1) оператор (условие 2) оператор (условие 3))
) then begin end;
Как организовать отбор данных по условию?
Мысли идеи?