代码重构——之获得封装性DELPHI编码实例(4)
2008-04-10 02:57:26来源:互联网 阅读 ()
if Fields[i].Visible then begin
FFields[iFieldsCount, 0] := Fields[i].FieldName;
FFields[iFieldsCount, 1] := Fields[i].DisplayLabel;
Inc(iFieldsCount);
end;
ComboBox1.Items.Clear;
for i := 0 to iFieldsCount - 1 do
ComboBox1.Items.Add(FFields[i, 1]);
end;
end;
这样就实现了在运行时动态加载字段信息。这样我的过滤器设置就变成了这样的。
if ComboBox1.Text <> '''''''' then
begin
ClientDataSet.Filtered := False;
ClientDataSet.Filter := FFields[ComboBox1.ItemIndex, 0] '''''''''''''''' Edit2.Text '''''''''''''''';
ClientDataSet.Filtered := True;
end;
本方法无疑增加了代码的灵活性,同时增加了代码的复用度,因为代码很好的隔离了变化的数据。因此只要在另一个也是要实现这种的功能的FORM中增加私有字段FFields: array[0..20, 0..2] of string 和使用上面的动态加载数据集字段过程,就可以说方便的实现了重用。但是这种重用并不是很好的,因为我们没有实现很好的封装性。导致在你的程序中到处散落有重复的代码(你常常会通过
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash
