以接口为主导的设计中, 我在使用的框架模式
摘要:在今后的 Delphi 中, 以接口、结构为主的设计应该会越来越多, 因为这样太方便了.System.RegularExpressions 就是以结构为主体设计的非常好的示范; 但更多东西使用接口会更合适.有见过他人早就使用接口写程序, 从手头的这个程序开始我才开始使用.现在基本总结出四种框架模式: 1、直接实现; 2、间接实现(或叫继承实现); 3、覆盖实现; 4、委托实现.一、直接实现:下例中虽有 TMy1、TMy2, 但在具体应用中使用的应是 IMy1、IMy2, 这就是我所谓的以接口为主导.TMy1、TMy2 直接实现了所属接口的所有方法, 这是我所谓的直接实现.这样可能会有代码重复,
阅读全文
posted @
2012-01-03 18:01
万一
阅读(5382)
推荐(0) 编辑
如何使用 URLOpenStream 函数 - 回复 "天泽" 的问题
摘要:URLOpenStream 和 URLDownloadToFile 类似, 都是下载文件的 COM 函数;前者是下载到 IStream 流, 后者是直接下载到指定路径; 不如后者使用方便.它们都声明在 UrlMon 单元, 本例还要同时 uses ActiveX, 因为要用到 IStream 接口.IBindStatusCallback 接口有八个方法(或事件), 用到用不到都得给简单实现下;我们...
阅读全文
posted @
2010-04-09 21:29
万一
阅读(8495)
推荐(1) 编辑
Delphi 的接口(5) - 一样的接口、不一样的实现
摘要:代码文件:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender...
阅读全文
posted @
2009-06-05 13:27
万一
阅读(8034)
推荐(0) 编辑
Delphi 的接口(4) - 接口的属性
摘要:代码文件:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender...
阅读全文
posted @
2009-06-05 11:10
万一
阅读(11035)
推荐(2) 编辑
Delphi 的接口(3) - 关于接口的释放
摘要:代码文件:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Button3: TB...
阅读全文
posted @
2009-06-05 10:42
万一
阅读(12928)
推荐(0) 编辑
Delphi 的接口(2) - 第一个例子
摘要:第一个例子的操作实况录像: Interface_Test.rar代码文件:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Button1: TButto...
阅读全文
posted @
2009-06-05 00:41
万一
阅读(19722)
推荐(2) 编辑
Delphi 的接口(1) - 前言
摘要:之前, 有朋友夸过我: 博文通俗易懂, 能把复杂的问题简单化; 希望我对接口的理解也能对大家有所帮助; 不过其中个人理解的成分多些, 错误之处万望指出."接口" 的概念和 "类" 特别是 "抽象类" 近似, Delphi 之初并没有接口, 后来(Delphi 3)为了支持 COM 引入了接口, 再后来发展成为 Delphi 重要的语言特性.应该先简单了解点 COM, 说到 COM, 能让我想到 "...
阅读全文
posted @
2009-06-04 15:06
万一
阅读(10929)
推荐(1) 编辑
建立快捷方式的函数: CreateShortcut - 非常实用、特别方便
摘要:unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Button2: TButton...
阅读全文
posted @
2008-10-23 21:05
万一
阅读(8377)
推荐(0) 编辑
复杂的结构化存取(三) : 存取函数
摘要:今天写了四个小函数, 拿来与大家共享: Dir2Doc: 把文件夹下的所有文件(不包括子文件夹)保存成一个复合文件; Doc2Dir: Dir2Doc 的反操作; ZipDir2Doc: 同 Dir2Doc, 只是同时执行了压缩; UnZipDoc2Dir: ZipDir2Doc 的反操作. 函数及测试代码(分别在 Delphi 2007 和 Delphi 2009 下测试通过): ...
阅读全文
posted @
2008-08-25 22:44
万一
阅读(6101)
推荐(0) 编辑
复杂的结构化存取(二)
摘要:本例效果图: 代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; B...
阅读全文
posted @
2008-07-27 23:55
万一
阅读(5835)
推荐(0) 编辑
复杂的结构化存取(一)
摘要:之所以说复杂, 就是区别与以前谈到的 结构化文件存取; 这种复杂的结构化文件也有叫做"复合文档". 有些文档不是结构化的, 譬如记事本文件; 结构化的档可以分为以下几类: 标准结构化文档、自定义结构化文档(譬如 bmp 文件)和复合文档. 这里要谈到的结构化储存(复合文档)是由 Windows 系统通过 COM 提供的, 它能完成像 Windows 目录结构一样复杂的文件结构的存取; 提示一下...
阅读全文
posted @
2008-07-27 10:01
万一
阅读(11024)
推荐(2) 编辑