Расчеты Adobe Livecycle и заявления
Мой первый раз, и у меня очень мало Xp. Я использую livecycle для Adobe 9 pro, и пытаюсь заставить вычисления работать, и продолжаю получать сообщения об ошибках.
Моя основная предпосылка: мне нужно сделать расчет: введите информацию в целле, и результат (cella/2)-5 округляется в меньшую сторону, сохраняя отрицательное целое число в другой ячейке. (да, я пытаюсь составить свой собственный список персонажей 3.5 d20 для оценки способностей).
В Excel я смог создать несколько более сложную формулу усечения =IF((Целла-10)/2<0,TRUNC((Целла)/2-0,5),TRUNC((Целла-10)/2)), но понятия не имею, что делать в livecycle.
Я попробовал что-то вроде этого, следуя инструкциям для livecycle, но безрезультатно. Честно говоря, добавив его сюда во всех учетных записях, включая то, где должны быть записи и переменные, спасибо за помощь.
var x = cell1 / 2-5; if (x <0) {return Math.ceil (x)}; else {return Math.floor (x)}
// cell1 выбираем из листа в реальном цикле, используя control+click, пробуем вычисление и вводим форматы в строке скрипта. // Нужна ли переменная x для моей формулы, не уверен, некоторые уроки сказали да, другие нет для живого цикла. // не уверен, где поставить { }, если вообще. // Math.floor и Math.ceil не отображаются выделенным синим цветом, как это делают другие функции в панели сценариев livecycle, которую я оставляю в javamode для всех ячеек.
1 ответ
Предыдущий ответ имеет правильную математику, но он не будет работать в событии LiveCycle (оператор возврата недопустим в событии.)
Предположим, у вас есть два поля: cellA (где вы вводите числа), cellB (где должен отображаться округленный результат). При необходимости замените фактическими именами на вашем листе.
В событии вычисления для ячейки В (поле, содержащее РЕЗУЛЬТАТ) введите следующий код:
var v = null;
if (cellA.rawValue != null && cellA.rawValue != "")
{
v = cellA.rawValue / 2 - 5;
v = v < 0 ? Math.ceil(v) : Math.floor(v);
}
this.rawValue = v;
Здесь есть оператор if, поэтому он не будет вычисляться при первом открытии формы.
Заметьте, редактор javascript в livecycle отстой, так что не ждите большой помощи с синтаксисом / форматированием. Я бы порекомендовал вам скачать Notepad++ и вставить туда код Java, это более полезно для выделения некоторого синтаксиса и для проверки открытых / закрытых скобок.