起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 240|回复: 10

【结帖】[请求]表达式编辑器窗体如何调用**

[复制链接]
发表于 2008-5-27 11:14:46 | 显示全部楼层 |阅读模式
我想在功能里调用表达式编辑资源集中的表达式编辑器窗体,完成一个Justep平台可解析的公式的编辑。

能不能提供一些帮助,告诉我如何调用该窗体,为可供选择的字段、函数赋值等!
回复

使用道具 举报

发表于 2008-5-28 11:15:34 | 显示全部楼层
找到一段代码,参考一下:

procedure TRELEVANCYDEFDOC.actSelectParameterExecute(Sender: TObject);
var
  lExpression: string;
  lDataField: TDataField;
  lBizParam : TBizParam ;
  lFuncs: TList;
begin
  lFuncs:=TList.Create;
  try
    BizExpr.ExprFunctions.Get(lFuncs,nil,true);

    lExpression := dsbDOCRelevancyDef.DataSet.FieldByName('FDIREXPR').AsString;
    if BizUtils.EditExpression(nil, lFuncs, lExpression, nil) then
    begin
      dsbDOCRelevancyDef.DataSet.Edit;
      dsbDOCRelevancyDef.DataSet.FieldByName('FDIREXPR').AsString := lExpression;
    end;

  finally
    lFuncs.Free;
  end;
end;
回复 支持 反对

使用道具 举报

发表于 2008-5-28 11:33:18 | 显示全部楼层
if BizUtils.EditExpression(nil, lFuncs, lExpression, nil) then //这句调出了表达式构造窗体
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-28 21:47:54 | 显示全部楼层
我把协同空间下的表达式编辑资源集拷到别空间下改了改,先凑合用,还有很多问题
回复 支持 反对

使用道具 举报

发表于 2008-5-29 14:07:23 | 显示全部楼层
有什么问题呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-29 16:50:04 | 显示全部楼层
觉的验证控制的比较松,随便输入点不能得到结果的字符进去都能验证通过,不知道用户使用时能不能接受
回复 支持 反对

使用道具 举报

发表于 2008-5-29 17:35:32 | 显示全部楼层
哦,这个对话框是这样的,只检查语义。在studio中也是这样。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-31 11:58:57 | 显示全部楼层
碰到问题了,字段的自动填充表达式只能在数据集关闭的状态下设置才有效,可我需要为当前数据集的每行记录的那个字段依据不同的表达式得到结果。

请问:我得到了表达式以及这个表达式中的定义的字段所在的数据集,如何得到表达式计算的结果?或者,还有什么方式达到我需要的效果呢?
回复 支持 反对

使用道具 举报

发表于 2008-5-31 15:09:07 | 显示全部楼层
不好意思,这个问题等周一给您结果。
回复 支持 反对

使用道具 举报

发表于 2008-6-18 14:39:29 | 显示全部楼层
为当前数据集的每行记录  这个不能做到

得到表达式计算的结果:
var
  lExpr: TBizExpr;
  return: Variant;
begin
  lExpr := TBizExpr.Create(Context);
  try
    lExpr.Text := memoExpr.Text;
    return := lExpr.Calc;
    memo1.Lines.Add(lExpr.Text + ' = ' + variants.VarToStr(return));
  finally
    lExpr.Free;
  end;
end;
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-20 04:31 , Processed in 0.039767 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表