2014-02-20 54 views
0

我第一次发布,并且tbh我有很少的Xp。我正在使用Adobe 9 pro的生命周期,并试图进行计算工作,并不断收到错误消息。Adob​​e Livecycle cacluations和if语句

我的基本前提我需要做一个计算:在cella中输入info,并将(cella/2)-5的结果向下舍入,保持负整数在另一个单元格中出现。 (是的,试图做我自己的3.5 d20角色表格来获得技能分数)。 ((Cella-10)/ 2 < 0,TRUNC((Cella)/2-0.5),TRUNC((Cella-10)/ 2),或者是一个更复杂的trunc公式, 2)),但不知道在生命周期中要做什么。

我尝试了类似于下面的教程为livecycle,没有用。诚实地在这里所有的帐户noobing,包括符号和变量应该在哪里,谢谢你的帮助。

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

// cell1使用控件+点击从活动页面的工作表中,尝试计算并在脚本行上输入格式。 //我是否需要一个var x用于我的公式,不确定,有些教程是肯定的,有些则不适合现场循环。 //不知道放哪里{}。 // Math.floor和Math.ceil不像其他函数在生命周期脚本栏中显示的那样高亮显示蓝色,我在javamode中为所有单元格留下了其他函数。

+0

试试这个: '// fieldName :: calculate var v = this.rawValue/2-5; return v <0? Math.ceil(v):Math.floor(v); ' –

回答

0

以前的回答已经拿到了数学权利,但它不会在一个的LiveCycle事件工作(return语句是在事件无效。)

让我们假设你有两个字段:塞拉(你输入号码), 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; 

if语句是有那么它不会计算当你第一次打开窗体。

请注意,livecycle中的javascript编辑器非常糟糕,所以不要期望在语法/格式上有很多帮助。我建议你下载Notepad ++并在那里粘贴java代码,这对突出显示一些语法和检查开启/关闭括号更有帮助。