怎么样才能使代码和界面完全的分开呢? 前几天听我的同事说,在他原来的公司,他们的代码和界面是可以完全的分开的,程序员只做程序,界面完全是由美工画出来的。比如列表的(dbgrid,stringgrig,combox,listbox)等,只要按要求船给方法就可以得到结果,我想知道要怎么能实现呢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 代码根据不同的功能写在不同的单元,实现接口返回需要的数据。例如DBGrid就返回DataSource,ListBox就返回TStringList。做界面时使用那些已经做好的接口来完成。 这是一个比较大的话题, 建议你看看Joanna Carter的MVP文章和范例。 我同事说,不是那么的,他说反回的好像都是Tlist的 首先抛弃代码和界面的概念,暂时忘记DELPHI中的一些术语,从单纯的面向对象来说,用功能对象和显示对象来理解比较好。简单来说,(功能对象)<->接口 or 接口类<->显示对象 中间通过一个或多个参数作为他们的接口。靠,这个上面想画个图来表示太郁闷了。 先返回统一格式的数据,界面根据配置文件来加载数据.TFORM也是对象呀,主要是看交互的接口定义. 我開發了這樣一套系統架構,主要應用於ERP/MRP等數據庫系統。完全面向對象,子窗體代碼相當少,減少開發人員的大量工作,也相應減少系統因開發人員的疏忽出錯的機會。 目前實現的功能有:1、客戶端簡繁自動識別,並自動調整系統相關Caption、Text等,界面數據不作調整2、實現了增、改、刪、導出(excel,txt,xml,html)等基本功能3、除主界面標准功能外,其它功能根據頁面自動實現,並實現可控4、可根據不同用戶設置數據的查看、修改、刪除任意記錄的權限5、可以根據不同用戶設置一個或多個數據欄位是否可視6、元件Caption自動加載,從數據字典內抓取7、自動識別主鍵,並自動判斷數據是否重復,控件自動聚焦8、資料保存時是基於事務的,保證資料的完整性9、查詢條件自動實現,並可手工添加查詢條件10、Grid風格可客制化11、元件數據源設置錯誤自動報錯12、數據修改、刪除的完整日志保存13、子窗體開發時數據的刪除前、修改前、保存前的事件的特殊部分由開發人員自行定義。14、審核的設置,及審核、反審核等功能,由審核中心統一管理15、報表的客戶自定義,由報表中心統一管理並授權做到每一元件、每一記錄完全可控。 程序人員只需要在界面添加元件,並設置好datasource及dataField等,並加載數據即可。 一個最簡單的Form只需要寫兩行代碼即可實現新增、修改、刪除、查詢、導出,打印,定制報表等基本功能。如procedure TF_Company.FormClose(Sender: TObject; var Action: TCloseAction);begin inherited; F_Company:=nil;end; procedure TF_Company.FormCreate(Sender: TObject);begin inherited; GetCDSData(Ds_Master,'P_company'); //加載數據 p_company為表名end; 数据库操作excel问题 BorderStyle := bsNone; 时如何调整窗体大小 用idTcpClient发完数据流后,不能从idTcpServer接收处理后的数据! 两个很菜的问题?高手一看就知? 关于第三方控件【TopStringGrid】的两个小小小问题,请赐教~!在线给分 没有学历怎么办 DELPHI中查询的问题 Delphi 500人的QQ群开放了,高级群号 46722653 谁有Report Machine的最新版本,能发给我一份吗? Delphi中的相对路径 delphi指针问题,DataBuf: PBYTE 这个代码怎么不对??
我開發了這樣一套系統架構,主要應用於ERP/MRP等數據庫系統。完全面向對象,子窗體代碼相當少,減少開發人員的大量工作,也相應減少系統因開發人員的疏忽出錯的機會。
目前實現的功能有:
1、客戶端簡繁自動識別,並自動調整系統相關Caption、Text等,界面數據不作調整
2、實現了增、改、刪、導出(excel,txt,xml,html)等基本功能
3、除主界面標准功能外,其它功能根據頁面自動實現,並實現可控
4、可根據不同用戶設置數據的查看、修改、刪除任意記錄的權限
5、可以根據不同用戶設置一個或多個數據欄位是否可視
6、元件Caption自動加載,從數據字典內抓取
7、自動識別主鍵,並自動判斷數據是否重復,控件自動聚焦
8、資料保存時是基於事務的,保證資料的完整性
9、查詢條件自動實現,並可手工添加查詢條件
10、Grid風格可客制化
11、元件數據源設置錯誤自動報錯
12、數據修改、刪除的完整日志保存
13、子窗體開發時數據的刪除前、修改前、保存前的事件的特殊部分由開發人員自行定義。
14、審核的設置,及審核、反審核等功能,由審核中心統一管理
15、報表的客戶自定義,由報表中心統一管理並授權做到每一元件、每一記錄完全可控。
程序人員只需要在界面添加元件,並設置好datasource及dataField等,並加載數據即可。
一個最簡單的Form只需要寫兩行代碼即可實現新增、修改、刪除、查詢、導出,打印,定制報表等基本功能。
如
procedure TF_Company.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
F_Company:=nil;
end;
procedure TF_Company.FormCreate(Sender: TObject);
begin
inherited;
GetCDSData(Ds_Master,'P_company'); //加載數據 p_company為表名
end;