在公司,很多编程都需要与代码挂钩,很多都是业务逻辑的实现。这两天需要给很多功能的同一个控件添加模糊查询。需要添加一段函数代码。
这里先放上我自己写的代码。
procedure TCT_DDZY_LZXDJLXX.InputCZXX();
var
data : ZYJ_CZXZ.TCZData;
begin
if (czlistbox.ItemIndex<0) and (czlistbox.Items.Count>0) then
begin
czlistbox.ItemIndex := 0;
end;
if czlistbox.ItemIndex<0 then
begin
Exit;
end;
czPanel.Visible := False;
data := ZYJ_CZXZ.TCZData(czlistbox.Items.Objects[czlistbox.ItemIndex]);
DataSetBrokerXX_DDZY_LZXDJLB.DataSet.Edit;
DataSetBrokerXX_DDZY_LZXDJLB.DataSet.FieldByName('BDZGUID').AsString :=data.czid;
DataSetBrokerXX_DDZY_LZXDJLB.DataSet.FieldByName('BDZ').AsString :=data.czbm;
DataSetBrokerXX_DDZY_LZXDJLB.DataSet.Post;
end;
下面看看模块化函数的编写方法。
procedure TCT_DDZY_LZXDJLXX.InputCZXX();
var
ds : TDataSet;
data : ZYJ_CZXZ.TCZData;
begin
ds := DataSetBrokerXX_DDZY_LZXDJLB.DataSet;
if (czlistbox.ItemIndex<0) and (czlistbox.Items.Count>0) then
begin
czlistbox.ItemIndex := 0;
end;
if czlistbox.ItemIndex<0 then
begin
Exit;
end;
czPanel.Visible := False;
data := ZYJ_CZXZ.TCZData(czlistbox.Items.Objects[czlistbox.ItemIndex]);
ds.Edit;
ds.FieldByName('BDZGUID').AsString :=data.czid;
ds.FieldByName('BDZ').AsString :=data.czbm;
ds.Post;
end;
不知道你看上面两段函数看出了什么来了吗?
嗯,第二段定义了一个 TDataSet 类型的 ds ,然后把 DataSetBrokerXX_DDZY_LZXDJLB.DataSet 赋值给 ds ,这样,每次使用这个函数,都只要修改一次ds的赋值,这个函数就可以用于其他地方。
而我的写法,就需要修改下面所有 DataSetBrokerXX_DDZY_LZXDJLB.DataSet 为对应功能的 DataSet 。修改繁琐。以后写代码,为了方便,要学会如何编写模块化的函数,为了方便日后修改。
专业程序员
一般般。这样做会方便些。。
好吧,我想问,这是什么语言?
delphi
难怪我感觉很熟悉,原来是delphi,pascal啊,久违了,也忘了
这里也可以碰见ZWWOOOOO….
话说下面的Google SiteMap是127.0.0.1了
忘了改了,主题自定义没有用函数输出,变成这样了。