gstype_str:=fieldvalues['gstype']; //gstype_str公式类型字符.
idx_str:=fieldvalues['idx']; //idx_str公式序号字符.
gsx_str:=fieldvalues['gsx']; //gsx_str公式项字符.
flag:=pos('+',gsx_str); //flag标记'+'号的位置.
ct:=0; //ct公式各记算结果.
while flag>0 do
begin
gsx_left:=copy(gsx_str,1,flag-1); //gsx_left是公式的一个项.
rst:=getgsxvalue(gsx_left,trim(e_xqh.text)); //rst公式项的一个值.
showmessage('公式项为:'+GSX_left);
showmessage('公式项值为:'+inttostr(rst));
ct:=ct+rst; //getgsxvalue(var:string:string):integer是取得公式项值的函数.
gsx_str:=copy(gsx_str,flag+1,length(gsx_str));
flag:=pos('+',gsx_str);
end;
if flag=0 then
begin
if length(gsx_str)<3 then
rst:=strtoint(gsx_str) //rst公式项的一个值.
else
rst:=getgsxvalue(gsx_str,trim(e_xqh.text));
ct:=ct+rst;
end;
with adoq1 do
begin
// active:=true;
sql.clear; //getgsjg(var:int,:string):string;取得公式结果.
sql.add('update gsjg set gs'+idx_str+'='''+getgsjg(ct,gstype_str)+''' where xqqh='+trim(e_xqh.text));
execsql;
close;
end;
next;
end;
end;
这段代码主要完成取数和算出结果的功能,有时候能够算七八条公式,有的时候只能算一二条公式(公式是一样的),就会出现错误提示:未指定的错误.
idx_str:=fieldvalues['idx']; //idx_str公式序号字符.
gsx_str:=fieldvalues['gsx']; //gsx_str公式项字符.
flag:=pos('+',gsx_str); //flag标记'+'号的位置.
ct:=0; //ct公式各记算结果.
while flag>0 do
begin
gsx_left:=copy(gsx_str,1,flag-1); //gsx_left是公式的一个项.
rst:=getgsxvalue(gsx_left,trim(e_xqh.text)); //rst公式项的一个值.
showmessage('公式项为:'+GSX_left);
showmessage('公式项值为:'+inttostr(rst));
ct:=ct+rst; //getgsxvalue(var:string:string):integer是取得公式项值的函数.
gsx_str:=copy(gsx_str,flag+1,length(gsx_str));
flag:=pos('+',gsx_str);
end;
if flag=0 then
begin
if length(gsx_str)<3 then
rst:=strtoint(gsx_str) //rst公式项的一个值.
else
rst:=getgsxvalue(gsx_str,trim(e_xqh.text));
ct:=ct+rst;
end;
with adoq1 do
begin
// active:=true;
sql.clear; //getgsjg(var:int,:string):string;取得公式结果.
sql.add('update gsjg set gs'+idx_str+'='''+getgsjg(ct,gstype_str)+''' where xqqh='+trim(e_xqh.text));
execsql;
close;
end;
next;
end;
end;
这段代码主要完成取数和算出结果的功能,有时候能够算七八条公式,有的时候只能算一二条公式(公式是一样的),就会出现错误提示:未指定的错误.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货