随笔分类 -  接口相关

以接口为主导的设计中, 我在使用的框架模式
摘要:在今后的 Delphi 中, 以接口、结构为主的设计应该会越来越多, 因为这样太方便了.System.RegularExpressions 就是以结构为主体设计的非常好的示范; 但更多东西使用接口会更合适.有见过他人早就使用接口写程序, 从手头的这个程序开始我才开始使用.现在基本总结出四种框架模式: 1、直接实现; 2、间接实现(或叫继承实现); 3、覆盖实现; 4、委托实现.一、直接实现:下例中虽有 TMy1、TMy2, 但在具体应用中使用的应是 IMy1、IMy2, 这就是我所谓的以接口为主导.TMy1、TMy2 直接实现了所属接口的所有方法, 这是我所谓的直接实现.这样可能会有代码重复, 阅读全文
posted @ 2012-01-03 18:01 万一 阅读(5342) 评论(4) 推荐(0) 编辑
如何使用 URLOpenStream 函数 - 回复 "天泽" 的问题
摘要:URLOpenStream 和 URLDownloadToFile 类似, 都是下载文件的 COM 函数;前者是下载到 IStream 流, 后者是直接下载到指定路径; 不如后者使用方便.它们都声明在 UrlMon 单元, 本例还要同时 uses ActiveX, 因为要用到 IStream 接口.IBindStatusCallback 接口有八个方法(或事件), 用到用不到都得给简单实现下;我们... 阅读全文
posted @ 2010-04-09 21:29 万一 阅读(8414) 评论(9) 推荐(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 万一 阅读(8001) 评论(8) 推荐(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 万一 阅读(10926) 评论(2) 推荐(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 万一 阅读(12841) 评论(8) 推荐(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 万一 阅读(19643) 评论(22) 推荐(2) 编辑
Delphi 的接口(1) - 前言
摘要:之前, 有朋友夸过我: 博文通俗易懂, 能把复杂的问题简单化; 希望我对接口的理解也能对大家有所帮助; 不过其中个人理解的成分多些, 错误之处万望指出."接口" 的概念和 "类" 特别是 "抽象类" 近似, Delphi 之初并没有接口, 后来(Delphi 3)为了支持 COM 引入了接口, 再后来发展成为 Delphi 重要的语言特性.应该先简单了解点 COM, 说到 COM, 能让我想到 "... 阅读全文
posted @ 2009-06-04 15:06 万一 阅读(10848) 评论(7) 推荐(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 万一 阅读(8354) 评论(1) 推荐(0) 编辑
复杂的结构化存取(三) : 存取函数
摘要:今天写了四个小函数, 拿来与大家共享: Dir2Doc: 把文件夹下的所有文件(不包括子文件夹)保存成一个复合文件; Doc2Dir: Dir2Doc 的反操作; ZipDir2Doc: 同 Dir2Doc, 只是同时执行了压缩; UnZipDoc2Dir: ZipDir2Doc 的反操作. 函数及测试代码(分别在 Delphi 2007 和 Delphi 2009 下测试通过): ... 阅读全文
posted @ 2008-08-25 22:44 万一 阅读(6083) 评论(7) 推荐(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 万一 阅读(5815) 评论(20) 推荐(0) 编辑
复杂的结构化存取(一)
摘要:之所以说复杂, 就是区别与以前谈到的 结构化文件存取; 这种复杂的结构化文件也有叫做"复合文档". 有些文档不是结构化的, 譬如记事本文件; 结构化的档可以分为以下几类: 标准结构化文档、自定义结构化文档(譬如 bmp 文件)和复合文档. 这里要谈到的结构化储存(复合文档)是由 Windows 系统通过 COM 提供的, 它能完成像 Windows 目录结构一样复杂的文件结构的存取; 提示一下... 阅读全文
posted @ 2008-07-27 10:01 万一 阅读(10978) 评论(16) 推荐(2) 编辑