摘要:
Delphi中除主窗体外,其余窗体最小化后不会出现在任务栏上,而是象古老的Windows 3.X那样缩小为一条出现在桌面左下角。在这些窗体的OnCreate事件里面加上SetWindowLong(Handle,GWL_EXSTYLE,GetWindowLong(Handle,GWL_EXSTYLE) or WS_EX_APPWINDOW);就可以使窗口最小化后出现在任务栏上。 阅读全文
摘要:
模型驱动设计承诺带来开发时间的缩短、bug的减少以及更好的可维护性。这是黄粱美梦吗?或许Matthew Overington会说不是。软件开发行业花了数年功夫经历了大规模成本削减的历程,并开始新的进展。对软件开发过程而言,我们需要更好的预测性、透明性和可信性。建模并不是一个新的名词。它是软件设计和开发中的重要一环,但企业目前正在进行更聪明和野心勃勃的计划,应用模型来解决很多多年的老问题。其中一个问题就是当前的编码方法对建模的依赖-只有当模型经常更新维护时它才是有用的。过时的模型实质上是无用的,实际上有时候还是反生产力的,导致bug……。你觉得模型中应该有的功能在实际代码中没有。而现在的趋势是希 阅读全文
摘要:
阅读全文
摘要:
数据驱动 采用数据驱动进行系统实现时通常采用的是一个这样的过程,建立数据源(DataSource),同时根据业务对象模型进行数据库表设计,在数据库表设计完成后根据业务场景构成数据集(DataSet),通常这个时候DataSet本身就是一种业务场景所需的业务数据,在简单的情况下有可能就是对某张表的操作,复杂的情况下则是对于多张表的操作,在DataSet构成后将此DataSet绑定到页面即可进行数据的展现了,如需对数据进行增加、编辑、删除同样通过DataSet方式来进行,这个过程基本上就是一个基于数据驱动进行系统实现的过程了。数据驱动采用的方式是根据对业务的分析建立数据模型来进行系统设计的一种方法 阅读全文
摘要:
常常遇到要写一些客户端程序,其中90%以上的代码都是一样的,但10%是不一样的。最土的办法自然是copy一个老程序过来,改一点就行了。但是从软件重用精神讲还是处于初级阶段。但那些不同之处又是不能通过参数来调整这么简单的,有时还非得代码不可。我能想到的对策就是2种:插件和脚本。插件比较重量级,需要编译,需要开发环境。适合逻辑比较复杂的情况。脚本不是万能的,只适合于逻辑比较简单的情况。 但是插件和脚本逻辑上是完全一样的,都是定义一组回调函数以符合预定义的接口规范,供主程序调用。这样一来,我就把不变的部分逻辑用主程序实现。变化的部分用脚本定义。主程序随时可以根据用户的选择,装入不同的脚本,实现不同的 阅读全文
摘要:
设置: cxGrid1DBTableView1Column.PropertiesClass = TcxTextEditProperties; cxGrid1DBTableView1Column.PropertiesClass = TcxDateEditProperties; cxGrid1DBTab 阅读全文
摘要:
uses cxexportgrid4link;var SaveDialog: TSaveDialog;begin SaveDialog:=TSaveDialog.Create(nil); with SaveDialog do begin Filter := '*.xls|*.xls'; if Exe... 阅读全文
摘要:
在内置右键菜单的后面增加菜单项 首先应在Form上加一个cxGridPopupMenu控件 以启用右键菜单 UseBuildInPopupMenus设为True procedure TFormItemList.FormCreate(Sender: TObject); var AMenu: TComp 阅读全文
摘要:
使用FocusedView属性得到当前焦点View,用View.DataController得到对应的Data Controller, 之后使用Data Controller的方法来操作数据: - Append - Insert - Post - Cancel - DeleteFocused - DeleteSelection 示例: var ARecIndex: Integer; … View.DataController.Append; ARecIndex := View.DataController.FocusedRecordIndex; View.DataController.Valu 阅读全文
摘要:
var AView: TcxCustomGridView; begin AView := .CreateView(TcxGridDBBandedTableView); TcxGridDBBandedTableView(AView).DataController.DataSource := ; TcxGridDBBandedTableView(AView).Bands.Add; with TcxGridDBBandedTableView(AView).Bands.Add do begin Visible := False; FixedKind := fkLeft; end; TcxGridDBB 阅读全文