现在我有一个自定义函数分别需要传递六个参数:
function GetAccountData(科目、部门、取数、年、月、日):double;
用户在我的公式编辑器里面书写公式:(可以加减乘除有括号之类的,)
GetAccountData(<科目:101>,<部门:03>,<取数:期初余额>,<年:2004>,<月:4>,<日:6>)+(GetAccountData(<科目:409>,<取数:期初余额>,<年:2004>,<月:2>,<日:4>,<部门:05>)+1245)
如果GetAccountData(<科目:101>,<部门:03>,<取数:期初余额>,<年:2004>,<月:4>,<日:6>)书写正确是一写可以取到一个double的数
需要给用户提示在哪里错了,我的公式编辑器是用的richedit

解决方案 »

  1.   

    当然有类型了,我只是简写了
    function GetAccountData(科目、部门、取数、年、月、日:string):double;
      

  2.   

    没看明白。
    像你这样定义,我感觉好像有点不好。
    因为函数要返回值。
    如果出错,那么你返回什么呢?
    这一点没做好。对于提示用户出错这一点好办。
    每个参数进行检查。
    如:年份月份日都可以判断是否正确的。
    科目,部门,取数这些都按你的规定来.
    如果真的要按照你这样的作法来做的话。
    我想也只有给一个变量值来保存是否解析出错。
    如:
    var
      A_Err : integer;Begin
     A_Err := 0; //解析正确. .....
     A_Err :=1 ;//解析科目出错
     A_Err :=2 ;//解析部门出错
     A_Err :=3 ;//解析取数出错
     A_Err :=4 ;//解析年出错
     A_Err :=5 ;//解析月出错
     A_Err :=6 ;//解析日出错 这样就可以得到出错在哪里了。