• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Multiple Values в Hide Formula

  • Автор темы alik86
  • Дата начала
K

Klido

хм, это ж тест, а не вариант "билет" :)
тут понятно радиобаттоном можно обойтись..
в справочнике вопросов - вопрос и мультивэлью вариантов ответа+отдельно правильный вариант
при создании дока вопроса генерим радио из справочника, после ответа проверяем, например, isarrayindex-ом в сравнении с правильным же значением..
юзеру же надо знать ДА или НЕТ про правильность? вот он и получит...
 
K

Klido

не знаю что стражи дорог предлагают в "братских" smile.gif республиках
помнится, про это дело на лотусе слышал ещё лет 10 назад... а лет 12 назад участвовал в этой теме но под MS Office на VBA :)

у нас сейчас официальная софтина для экзаменов ГАИ, которую видел на днях - тупо некий экзешничек+ .dat файло, по виду - дельфя...
зато заражена вирусярой :)
 
A

alik86

Так и у нас не на Лотусе (правда я сдавал года 4 назад), я имею ввиду реализацию.
По-поводу вирусятины, так там тоже какие-то закладки вроде были :), но воспользоваться не пришлось - тогда я еще был студентом технического вуза, а посему такую чушню как вопросы ГАИ мог освоить за ночь перед экзаменом. :)
 
A

Akupaka

Боюсь, что пользователь будет ныть по поводу большого количества действий, которые ему придется сделать
а что мешает сделать всю работу пользователя в одной форме парой кнопок? а отображать некое краткое резюме можно во внедренном виде.
на самом деле, хозяин - барин, каждый думает в силу своей распу... ой... практики :)
сегодня пять вопросов, завтра десять, сегодня три варианта ответа с возможностью выбрать только один, а завтра десять вариантов ответа с дифференцированной (ух какое сложное слово) системой оценки и возможностью выбрать хоть девять из них!
 
A

alik86

To Akupaka
Так я и сделал на одной форме, да и количество вариантов ответов тоже не ограничено каким-то количеством (использую Use formula for choices), и по поводу нескольких правильных вариантов тоже думаю труда не составит радиобутон заменить на чекбох...
P.S. А я всего-то хотел узнать про Multiple Values в Hide Formula :). Спасибо всем за участие. Сделаю пока так как изначально задумал, ибо не вижу в этом большого "греха". На подходе следующий вопрос - скоро сформулирую. :)
 
A

Akupaka

к стати, если меня не глючит, то были проблемы с длинной строки в радио и чекбоксах, правда не помню сколько
 
A

alik86

Точна. Бяда-бяда. Значение одного Choice отображается в одну строчку, т.е. длина строки ограничена "шириной экрана"... Символов 200 должно влезть (думаю хватит :D). Ну или это я что-то не то углядел...
 
N

nvyush

alik86
Кстати, ещё одна грабля. Если использовать hide-when формулу вида MyField[N] = "", а в поле MyField элементов меньше N, в строке состояния выводится "Index out of bounds". На работоспособность не влияет, но пользователя напрягает.
 
A

alik86

nvy
У меня ничего не выводит.
У меня формула (@Elements(Ansvers) <5 | Ansvers[5] != "0"), т.е. как я понимаю, после выполнения условия @Elements(Ansvers) <5 следующее условие не проверяется...
Хотя, при использовании просто Ansvers[5] != "0" тоже не ругается. (элементов 3).
Версия 8.5
 
N

nvyush

nvy
У меня ничего не выводит.
У меня формула (@Elements(Ansvers) <5 | Ansvers[5] != "0"), т.е. как я понимаю, после выполнения условия @Elements(Ansvers) <5 следующее условие не проверяется...
Хотя, при использовании просто Ansvers[5] != "0" тоже не ругается. (элементов 3).
Версия 8.5
Я такое наблюдал на 8.0.2
 
A

Akupaka

У меня формула (@Elements(Ansvers) <5 | Ansvers[5] != "0"), т.е. как я понимаю, после выполнения условия @Elements(Ansvers) <5 следующее условие не проверяется...
ну да! :) что ж за оптимизированный компилятор и рантайм у формулы, что проверяет условия ИЛИ по значению другого условия! :KillMe:
 
H

hosm

nvy
У меня ничего не выводит.
У меня формула (@Elements(Ansvers) <5 | Ansvers[5] != "0"), т.е. как я понимаю, после выполнения условия @Elements(Ansvers) <5 следующее условие не проверяется...
В 7ке проверяются все условия. Короткая схема вычислений реализуется через @if.
В хайд формулах просто обычно не ругается=)
Если привоить такое, например, дефолтному значению поля на форме, то тогда будет ошибка с красивым сообщением.
 
O

Omh

Можно ещё @Return заюзать, для мгновенного выхода из формулы, типа:
Код:
@if(@Elements(Ansvers) <5; @Return(@True); "")
Ansvers[5] != "0"

P.S. В слове Ansvers - грамм. ошибка.
 
H

hosm

А можно просто :KillMe:
@if(@Elements(Ansvers) <5; @True; Ansvers[5] != "0")
 
O

Omh

Я @Return юзаю, если надо много условий проверять.
Данный случай, согласен, не самый красноречивый.

Но если надо проверить кучу условий, то мне больше импонирует (начиная с самых лёгких по перфомансу условий)
Код:
@if(Cond1; @Return(@False); "");
@if(Cond2; @Return(@False); "");
@if(Cond3; @Return(@False); "");
FinalCond
чем сосиска-style формула
Код:
@if(Cond1; @true; @if(Cond2; @True; @if(Cond3; @true; ...)))))

Просто может кто-то не знал про @Return - хорошая вещь.
 
H

hosm

чем сосиска-style формула
@if(Cond1; @true; @if(Cond2; @True; @if(Cond3; @true; ...)))))
Я поняла твою мысль, но опять неудачный пример :KillMe: - (по памяти) вроде можно 99 раз просто писать:
Код:
@if(Cond1; @true; Cond2; @True; Cond3; @true; ...)
офф: кстати, интересно - "трасянцы". У нас вот русско-украинскую смесь зовут "суржик".
 
O

Omh

вроде можно 99 раз просто писать
Верно, но в итоге всё равно сосиска выходит :KillMe:
Я не агитирую, просто собщаю о возможности, потому что сам наткнулся на @Return тока года через 3 после программирования на лотусе.

кстати, интересно - "трасянцы". У нас вот русско-украинскую смесь зовут "суржик".
Не понял ни того, ни того :)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!