摘要载入中…    请稍等…












内容载入中…    请稍等…

如长时间看不到内容,请关闭浏览器,重新打开此页!

芯友首页 应用软件 编程开发 网络硬件 资源下载 动漫音乐 精美图库 芯友论坛 视频教程 电脑技术QQ群:72845454
 ★★photoshop学友-史上最强播放器★★
 位置:编程开发>Deiphi>Deiphi实例教程
◎→ 本类最新
在DELPHI中用线程排序
在Delphi中使用Queued Component
作非常规程序菜单掌握delphi
执行一个外部程序并等待它的完成
在应用程序中跟踪MOUSE的坐标
五子棋源代码
显示密码的原理
◎→相关资源
C语言入门视频教程
C#编程WinForm入门视频
Asp.net入门视频教程下载
VC++编程视频教程下载
VB窗体文章
HTML入门教程
Deiphi实例教程
Deiphi窗体文章
Deiphi数据库编程
Deiphi网络编程
Deiphi图形图象文章
Deiphi系统文件
◎→ 热门资源
使用Delphi轻松控制IE窗口
Delphi托盘编程实战演练(2)
Delphi托盘编程实战演练(1)
用Delphi设置墙纸
制作Delphi的竖排标签
Borland 推出 Borland Delphi 20
用Delphi实现自定义颜色对话框及

图解Delphi 8 Eco 开发实战(2)


日期:2008-10-20 22:11:53    来源:
   
 ·图解Delphi 8 Eco 开发实战(3) ·使用Delphi轻松控制IE窗口
 ·三维全息显示技术开发成功 ·Delphi托盘编程实战演练(2)

图解Delphi 8 Eco 开发实战land.Eco.WinForm 自动生成类信息窗体 11 EcoActionExtender Borland.Eco.WinForm 和Button的EcoAction属性绑定,由按钮事件实现对象方法 12 EcoDragDropExtender Borland.Eco.WinForm 提供Eco对象间在GUI中的拖曳支持 13 EcoListActionExtender Borland.Eco.WinForm 和Button的EcoListAction属性绑定,用以控制CurrencyManagerHandle事件
  其中Extender类组件将标准的.Net组件(DataGrid,TextBox等)和ECO进行了关联,这些Extender组件在由ECO Application Wizard创建完成后就自动生成了这些组件,我们不需要手工创建。我们下面用到的PersistenceMapper,是将对象模型发布到数据库或XML中,同时也将对象实例存储到数据库中。如果我们在项目中需要转换数据库平台,不需要作过多的改变,仅仅将PersistenceMapper类型更改以下就可以,实现了真正的数据库平台无关性。在本演示中我们用PersistenceMapperXML来进行数据的存储,在程序完成需要发布时根据需要再改为其它类型的数据库即可。

  在工程视图中双击打开EcoCRMEcoSpace.pas,并切换到设计视图,从Tool Palette中双击PersistenceMapperXML,添加一个PersistenceMapperXML到设计器中,设置其FileName属性为"EcoCrmData.xml",并将TEcoCRMEcoSpace的PersistenceMapper属性设置为PersistenceMapperXML。

图解Delphi 8 Eco 开发实战(图一)
图文

点击放大(上图)
图解Delphi 8 Eco 开发实战(图二)

三层交换技术 交换机与路由器密码恢复 交换机的选购 路由器设置专题 路由故障处理手册 数字化校园网解决方案
  4. 编码

  下面我们要完成的就是界面设计、编码工作。在工程视图中双击WinForm.pas打开窗体编辑器。ECO Application Wizard已经创建了一个ReferenceHandle组件rhRoot和多个Extender组件。Extender组件保留其默认属性即可,如果将其删除用户界面中的控件将无法和ECO关联。设置rhRoot的EcoSpaceType 为 "EcoCRMEcoSpace.TEcoCRMEcoSpace",如果在EcoSpaceType属性下拉列表中没有选项,可重新编译一下工程。

  在界面上放置6个DataGrid,分别将其重命名为dgPersons、dgCompanys、dgCompanyCars、dgPersonCarSells、dgCompanyCars、dgPersonCars,为使界面更清晰可以分别设定一下DataGrid的CaptionText。并且在每个DataGrid上放置两个按钮,其Text分别为"添加"、"删除"。完成界面设计为如下样式。


  用户界面中的组件需要和ExpressionHandle相连接才能显示感知对象实例。在这里ExpressionHandle与Delphi中Dateset的概念很类似,它是一组数据的集合。向窗体编辑器中新添加一个ExpressionHandle,设置其Name属性为ehCompanys,其RootHandle属性为rhRoot,双击Expression打开OCL Expression编辑器。OCL Expression编辑器很类似于我们以前用的SQL编辑器,不过它使用的是OCL语法,在系统发布运行后ECO会根据不同的数据库平台将OCL翻译成相应的SQL进行执行。在OCL Expression编辑器中输入"Company.allInstances",它的含义是取得Company的所有对象实例,我们可以将它等效理解为SQL语句中的" Select * from Company"。


  同样我们为其他的几个类建立对应的ExpressionHandle,它们的名字分别为ehPersons、ehCompanyCarSells、ehPersonCarSells、ehCompanyCars、ehPersonCars。为实现主子表关联关系我们还需要CurrencyManagerHandle组件,添加一个CurrencyManagerHandle组件到设计器中,将其重命名为cmhCompany,设定其RootHandle属性为主对象ehCompany,其BindContext 属性为显示Company列表的dgCompanys。


  CurrencyManagerHandle组件的Element属性即表示对象集中的当前元素,它是根据BindContext属性来进行判断当前元素的。我们如果想要使ehCompanyCarSells与Company建立主子关联关系则需要设置ehCompanyCarSells的RootHandle属性为cmhCompany,Expression属性为"self.CarSell"。建立其他需要进行主子表关联的CurrencyManagerHandle,它们分别是cmhPerson、ehCompanyCarSells、ehPersonCarSells、ehCompanyCars、ehPersonCars。其属性与cmhCompany类似。


  主要组件属性为:


  然后将刚才所设计的DataGrid和ExpressionHandle组件关联,设置DataGrid的DateSource属性为相对应的ExpressionHandle。下面我们需要为添加删除方法编写代码,对于那些没有主对象关联关系的对象来说代码十分简单。


  添加人员只用这一句代码即可,删除代码同样很简单:


  添加删除Company的代码和这个类似,但带有主对象关联的对象在添加时候还需要为其主对象赋值。CompanyCarSells(企业购车纪录)的添加代码为:


  其中cmhCompany.Element.AsObject为当前所被选中的Company的值,将其转换Customer类型赋值给新创建好的 CarSell.Create(EcoSpace).Customer。

  我们需要完成的代码十分简单,为每个方法添加一句类似于上述的过程代码即可。ECO带给我们的变化的确令人惊喜。我们现在完成了对对象操作的代码,下面还需要把所添加修改的事例保存到数据库中,添加一个按钮只需要执行一下EcoSpace.UpdateDatabase;就可以完成数据的保存工作。

  系统运行界面如下:


  在选择客户时,客户汽车销售纪录会自动显示相关纪录,而浏览销售纪录时下面会自动显示与销售纪录相关的汽车信息。ECO还提供了AutoForm 功能,选择一个DataGrid设置其EcoAutoForm属性为True[图16],在运行状态时,双击DataGrid标题即可打开ECO自动生成的对象属性Form。如果需要手工调用AutoForm可以用下面的代码。


Uses
Borland.Eco.AutoContainers, Borland.Eco.ObjectRepresentation;
 [1]

图解Photoshop内置滤镜5:渲染-2

Delphi托盘编程实战演练(1)

VB,Deiphi做ERP开发的讨论

实战前沿:Photoshop制作机械蜘蛛(4)-11

--->超级缩霸 V1.00┊中国人开发的功能强大压缩、解压缩软件┊简体中文绿色特别版
--->GMailStore(突破GMail上传10M限制) V3.0.4┊利用GMAIL邮箱开发的中文网络邮盘┊简体中文绿色特别版
--->ChinaFTP V5.0 Build07.03.10┊国人开发的FTP客户端软件┊简体中文绿色免费版
--->MIS报表开发平台 V2.55
--->MIS报表开发平台 V2.55
Tags:  图解 Delphi 开发 实战

芯友网版权所有 1999-2006 | 著作权与商标声明 | 法律声明 | 服务条款 | 隐私声明 | 联系我们