肉夹膜式执行方法

原创 2006年06月08日 13:37:00

很多时候,我们遇到这样得情况:

       在很多方法的前面部分和后面部分(可能只有一句代码)都一样,或者相似。 比如在一个需要花费些许时间的处理中,我们经常会在处理的同时显示一个进度条,这样给客户和我们自己一点信心。 可是如果有很多这样的处理,我们就会发现有这样代码

procedure  perform1;

begin

    ShowAProgress('正在连接。。。');

   .....

   CloseProgress;

end;

procedure performN

begin

    ShowAProgress('正在处理××,请稍等。。。');

   .....

   CloseProgress;

end;

显然我们的代码重复了。 解决这样的问题,应该有很多办法吧。 我不知道别人怎么解决的,下面是我的解决办法:

type
  TProc = procedure of object;
 

  procedure RunWithProgress(P: TProc);   ///  我管它叫夹饼方法。  不知道大家有没有意见。

implementation

procedure TForm1.Aloop;  //  某个处理。
var
  iLoop: Integer;
begin
  chk1.Checked := True;
  while chk1.Checked do
  begin
    Application.ProcessMessages;
    Inc(iLoop);
  end;
end;

procedure TForm1.RunWithProgress(P: TProc);   // 夹饼的实现。
begin
  ShowGaugeWithAvi('it is running....');
  p;
  CloseGauge;
end;

procedure TForm1.Button1Click(Sender: TObject);  //  每次只要调用夹饼就可以了。
var
  P: TProc;
begin
   P := aloop;
   RunWithProgress(p);  
end;

end.

 

  不知道有没有不同看法。。。

制作可执行jar文件【3中方法】

  • 2013年03月16日 11:40
  • 30KB
  • 下载

FireFox导入导出Cookies和收藏夹的方法

FireFox是一个常用的浏览器,扩展插件众多,和IE相比有很多优点,不过有些细小的地方似乎考虑的不太好,比如用户经常会碰到系统重新安装等问题,这就需要导入导出FireFox浏览器的Cookies和收...

两种查询方法的执行计划:一

  • 2011年09月02日 10:56
  • 25KB
  • 下载

windows 7 局域网文件(夹)共享方法

如何在同一局域网中的两台主机间传递文件?需要借助一个桥梁工具,即插即拔的 U 盘吗?未必。 要求:位于局域网中的两台主机彼此能够 ping 通。设置流程: (1)将需要在主机间共享的文件,设置为共享、...

unity系统方法执行顺序

  • 2017年03月02日 11:35
  • 117KB
  • 下载

jquery简单分页,点击执行方法

  • 2016年08月17日 18:57
  • 1KB
  • 下载

IE9浏览器点击“添加到收藏夹”按钮没有反应问题的解决方法

IE浏览器升级至 IE9 之后,为什么当我按一下“收藏夹”图示,然后按“添加到收藏夹”按钮时,会出现没有反应的情况?导致无法将网页收藏至“收藏夹”中?要如何才能解决这个问题呢?别担心,通常发生这样的问...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:肉夹膜式执行方法
举报原因:
原因补充:

(最多只允许输入30个字)