2014-02-20 3 views
0

мой первый пост, и tbh У меня очень мало Xp. Я использую livecycle для Adobe 9 pro и пытаюсь выполнить работу по вычислению, и продолжаю получать сообщения об ошибках.Adobe Livecycle cacluations и если заявления

Мое основное предположение Мне нужно сделать расчет: введите информацию в cella и получим результат (cella/2) -5 округленный, сохраняя отрицательное целое число в другой ячейке. (да, пытаясь сделать свой собственный лист символов 3.5 d20 для оценки способности).

В excel мне удалось выставить несколько более сложную формулу trunc = IF ((Cella-10)/2 < 0, TRUNC ((Cella) /2-0.5), TRUNC ((Cella-10)/2)), но понятия не имеют, что делать в жизненном цикле.

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

var x = cell1/2-5; if (x < 0) {return Math.ceil (x)}; else {return Math.floor (x)}

// cell1 выбрать из листа в livecycle с помощью элемента управления + щелчок, попробовал вычисление и введите форматы в строке сценария. // Мне нужен var x для моей формулы, не уверен, некоторые уроки говорят «да», а другие нет для живого цикла. // не уверен, куда положить {} если вообще. // Math.floor и Math.ceil не отображают выделенные синие цвета, как и другие функции в строке сценария livecycle, которые я оставляю в javamode для всех ячеек.

+0

Попробуйте следующее: '// fieldName :: вычислить var v = this.rawValue/2-5; return v <0? Math.ceil (v): Math.floor (v); ' –

ответ

0

Предыдущий ответ получил математику правильно, но это не будет работать в случае LiveCycle (оператор возврата недопустим в случае.)

Предположим, у вас есть два поля: Селла (где вы ввода номера), cellB (где должен отображаться округленный результат). При необходимости замените фактические имена на своем листе.

В случае рассчитайте для 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; 

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

Боковое примечание, редактор javascript в жизненном цикле в значительной степени отстой, поэтому не ожидайте большой помощи с синтаксисом/форматированием. Я бы порекомендовал вам загрузить Notepad ++ и вставить туда java-код, это более полезно для выделения некоторого синтаксиса и для проверки открытых/закрытых круглых скобок.

Смежные вопросы