易截截图软件、单文件、免安装、纯绿色、仅160KB

delphi tree递归求差 - Delphi / 数据库相关

数据库结构如下:
id parentid,name,money,totalmoney,submoney
0,0,根节点,0,15000,0
1,0,张山,1000,5000,0
2,0,张好,2000,7000,0
3,0,王五,3000,3000,0
4,1,黎明,4000,4000,0
5,2,老刘,5000,5000,0

type
 tmydata = record
 id:integer;
 parentid:integer;
 name:string;
 money:double;
 totalmoney:double;
 submoney:double;
 resume:boolean;
 end;
pmydata = ^tmydata;

现在想反向计算submoney.
submoney 是当前节点的totalmoney 减去下面所有层次的money.
并且要去掉当前下级节点的money最大值。
function submoney(p:tTreenode):double;
var
i:integer;
d:pcustdata;
begin
  d:=pcustdata(p.data);
  {
  if not d.resum then //resum 起到只计算一次的作用?。
  begin
  result:=d.money;
  exit;
  end;
  }
  if p.Count <1 then
  begin
  d.submoney := 0; //=0
  result := d.money;
  d.resum:=false;
  exit;
  end;
  result := d.money;
  for i:=0 to p.count -1 do
  result := result + submoney(p.Item[i]);
//全部加起来以后用总数去减
  d.submoney := d.totalmoney + d.money - result;
  d.resum:=false;
end;
我写的这个没有考虑下级节点的最大值。
另外一种。
function submoney(p:tTreenode):double;


相关问答:

这个SQL语句有什么问题? - Delphi / 非技术区

select * from shuju.DB where 开盘价-收盘价<=0.02
开盘价 与收盘价 是数据库里的字段
select * from aTableName where ((开盘价-收盘价) <=0.02 )

开盘价比收盘价低两分以下的情况

Mark!!!!!!

se ......

付费求delphi拼音编程 - Delphi / 非技术区

具体要求与报酬QQ729851670
771234717

“拼音编程”是什么意思

引用
“拼音编程”是什么意思
1.给一个字可以显示拼音,多音字的话能显示对应的多个拼音
2.对包含多音字的词语智能识别给出拼音。
3.对一段 ......

delphi 數據類型

delphi 數據類型 定義A~Z 為有序型,A為最小,Z最大。
Delphi(Pascal) code:

var
arr:array ['A'..'Z'] of Char;

用集合搞定

怎麼去運算呢?inc() ......

Delphi相关问题 - Delphi / 语言基础/算法/系统设计


  在安装完成Delphi的时候,打开Delphi进入窗口,点运行的时候为什么自动停止运行了。
什么意思,是新建的应用运行停止,还是程序停止了呢。

没明白LZ意思~~

引用
在安装完成Delphi的时候,打开De ......

sql语句错误 - Delphi / 数据库相关

定义变量s,sql为string类型,s为函数参数,sql:='select field1 from table1 where'+s;运行时s赋值为id>7或者id<7、id=7,但是运行时总是出错,请各位帮我改错,多谢!

showMessage(sql)下看看
sql:='sel ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号