本站首页    管理页面    写新日志    退出


«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31


公告
================

注会练习软件
http://www.cpasoft.com.cn
我的注会软件官网

http://blog.163.com/abc7105@126/

 

 


哈哈,热爱快“过气”的DELPHI


我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:注册会计师(注会)练习软件
日志总数:398
评论数量:116
留言数量:27
访问次数:3265583
建立时间:2005年6月6日




[borland eco 技术]为了这段代码,费时2小时
软件技术

吕向阳 发表于 2006/5/21 22:50:02

[borland eco delphi c# iobjectlist oclservice oclpsservice ] 这是为了自己作一下备忘,毕竞花了两小时,总要有所体会。我的目的是为了测试一个goods类中的所有类对象是否在另一个类kcmx中出现,如没出现,则在kcmc类中增加一条记录,并将goods类还没加入的逐个加入。  oclresult := oclpsservice.execute('goods.allinstances');  list1 := iobjectlist(oclresult as Ielementcollection);  CXRESULT:=FECOSPACE.OclService.Evaluate('kcmx.allInstances->SELECT(p|p.daterange.SJRANGE='''+'first'').GOODS'); //就是因为这个goods, 因为我们要查找的是goods类所有不能是全部的allinstances,先前之所以错误就是在这一点上。并且还是利用list2:=iobjectlist(ehkc.element)或list2:=ehkc.element.getascollection之类的语句。ehkc是一个expression对象,表达式为.allInstances->SELECT(p|p.daterange.SJRANGE='first'),它们的共同点都是返回整个对象列表,而不是对象中的goods类的列表.  list2:= IOBJECTLIST(CXRESULT);   for i := 0 to List1.Count - 1 do  begin    cc :=GOODS(list1[i].AsObject);    XX:=LIST2.IndexOf(CC.AsIObject);    messagebox.Show(XX.ToString);  //为了测试a    if (XX < 0) then    begin      akcmx := kcmx.create(fecospace);      akcmx.daterange := adaterange;      akcmx.goods := GOODS(LIST1[I].AsObject);    end;  end;  fecospace.UpdateDatabase;


阅读全文(1753) | 回复(0) | 编辑 | 精华
 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.032 second(s), page refreshed 144772571 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号