Показать-скрыть картинку на Layout с IsValidExpression()

Практические советы по работе с FileMaker, типичные задачи и их решения. У вас вопрос? Пишите сюда.
Ответить
OlegZ
Сообщения: 8
Зарегистрирован: 12 сен 2017, 08:21

Показать-скрыть картинку на Layout с IsValidExpression()

Сообщение OlegZ » 27 мар 2019, 10:13

Появилась у меня задача -- показать на макете либо одну, либо другую картинку в зависимости от простейшей ситуации:
если ширина меньше или равна высоте - "картинкаРАЗ", при других раскладах - "картинкаДВА".
В "behavor" --> "Hide Object When" пишу:

Код: Выделить всё

IsValidExpression( поле1-поле2 > 0 )
Не работает, хотя по идее всё (кажется) верно.
Помогите разобраться: что не так пошло?
PS. Filemaker-17; картинки вставлены на макет.

Alexei Sytch
Сообщения: 106
Зарегистрирован: 21 сен 2017, 18:48
Откуда: Минск

Re: Показать-скрыть картинку на Layout с IsValidExpression()

Сообщение Alexei Sytch » 28 мар 2019, 12:42

IsValidExpression проверяет только правильность синтаксиса формулы (скобки, запятые).
Вместо нее в Hide Object When укажите саму формулу (ссылки на таблицу тоже нужны)

Код: Выделить всё

Таблица::Поле1 > Таблица::Поле2
Как альтернативный вариант можно использовать вычисляемое поле КартикаТекущая

Код: Выделить всё

If( Поле 1 > Поле2 ; КартинкаРАЗ; КартинкаДВА )
Выберите для него тип результата вычислений "контейнер", здесь - КартинкаРАЗ и КартинкаДВА - это поля типа контейнер.
В этом случае значки можно будет настраивать

OlegZ
Сообщения: 8
Зарегистрирован: 12 сен 2017, 08:21

Re: Показать-скрыть картинку на Layout с IsValidExpression()

Сообщение OlegZ » 29 мар 2019, 08:25

Упс! Действительно, я не внимательно справочник читал.
IsValidExpression
Returns 1 (true) if an expression syntax is correct; otherwise, returns 0 (false).
Спасибо!
PS
Хм... А как часто эта функция м.б. востребована? При самосоставлении "на лету" какого-то выражения? Не представляю.
PPS
И ещё вопрос (не по теме, правда) Filemaker по собственной инициативе сортирует значения в ValueList "from field"? Хотя и не указываю "Re-sort based...". Зачем он это делает? В Custom-то все значения как прибитые на своих местах.

andrey volkov
Сообщения: 338
Зарегистрирован: 11 сен 2017, 13:42
Откуда: Санкт-Петербург

Re: Показать-скрыть картинку на Layout с IsValidExpression()

Сообщение andrey volkov » 29 мар 2019, 10:49

А как часто эта функция м.б. востребована? При самосоставлении "на лету" какого-то выражения? Не представляю.
Если

Код: Выделить всё

IsValidExpression ( expression1 )
возвращает 0, то

Код: Выделить всё

 Evaluate ( expression1 )
возвратит ?
Filemaker по собственной инициативе сортирует значения в ValueList "from field"? ... Зачем он это делает?

он по умолчанию не сортирует, а берет данные как есть из индексных таблиц, а там они уже в отсортированном виде хранятся.

Ответить