10 2013 档案
摘要:单元内主要就是 TZipFile 类, 最方便使用的是它的类方法:TZipFile.ExtractZipFile() //解压 Zip 文件到指定文件夹TZipFile.IsValid() //判断指定文件是否是有效的 Zip 文件TZipFile.ZipDi...
阅读全文
摘要:http://blog.chinaunix.net/uid-20665441-id-305462.htmlBOM这里涉及到一个BOM(Byte Order Mark)的概念.简单的讲,在Unicode标准中,为了标示文本文件的编码类型,可以在文本文件的开始插入几个特殊的byte,通过这几个特殊...
阅读全文
摘要:Delphi 里的接口聚合的写法转 百毒空间,百毒不侵unit Unit1;{----------------------------------------------------------------------------- 本程序演示接口委托聚合: TMyClass 拥有并实现了...
阅读全文
摘要:{ 说明:该事例实现的效果,在单个应用或代码量小的项目中,可以完全不用接口委托来完成。 之所以采用委托接口,主要是应用到:已经实现的接口模块中,在不改变原有代码的情况下, 需要对其进行扩展;原始模块只需要开放部分功能,但又不能暴露实现细节的场合;}unit TestUnit;interf...
阅读全文
摘要:Delphi的处理原则是: 给同名的函数分别设置别名,再分别实现以别名为名句的函数,以后类在调用时就是别名即可。代码如下:1.声明接口type IInter1=interface ['{769D95CA-90CE-41BA-A195-A6F43A30A3FC}'] functi...
阅读全文
摘要:作者:巴哈姆特(转载请注明出处并保持完整)在对象化中,类的继承是一个非常强大的机制;而更加强大的继承机制应该是来自从一个接口的继承。 本篇我们将讨论接口的特点。 首先,接口的定义方式与类相似。不同的是:类代表了一种实体,而接口代表了一批操作规范。还有,接口中所有的数据成员都是publi...
阅读全文
摘要:Delphi 接口使用中,对象生命周期管理,如何释放需要注意的问题。pcplayer 原创!网上有篇文章《Delphi接口编程的两大陷阱》,里面提到接口的生存期管理的问题。但该文章里面提到的两个问题,其实都是对Delphi 不理解导致的。先说该篇文章中提到的第一个问题为什么是该文章作者不理解 ...
阅读全文
摘要:(这个帖子,讲的内容,我没验证出来,没弄明白,只是留有以后参考,或许以后能理解)delphi 接口 对象 交叉引用在delphi编程中有时会遇到类A,类B相互引用或者一方引用另一方的问题。这种问题无外乎以下几种做法。1.很多人可能都用过的,delphi下有两个地方可以uses其他单元,假如类A...
阅读全文
摘要://水果类,它是一个抽象产品TFruit = Class(TObject)...end;//苹果类,水果类的具体化TApple = class(TFruit)...end;function Factory(): TFruit;var f:TFruit;begin //精髓就是这条语句了,明...
阅读全文
摘要:什么是高内聚、低耦合起因:模块独立性指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口简单,两个定性的度量标准――耦合性和内聚性。 耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高...
阅读全文
摘要:首先我们要知道哪些类型可以用ForIn吧,下面就是:for Element in ArrayExpr doStmt; 数组for Element in StringExpr doStmt; 字符串for Element in SetExpr doStmt; 集合for...
阅读全文
摘要:因为使用方法参数的不同, 所以有了调用约定.譬如 Delphi 默认的是从左到右读取参数; Window API 是从右到左读取参数.如果没有调用约定, Delphi 就无法使用由 C 语言编写的 Window API;如果没有调用约定, 别的语言也无法使用由 Delphi 编写的 DLL 文...
阅读全文
摘要://构造方法就是对象建立时调用的方法; 析构方法就是对象销毁时调用的方法. 如: TMyClass = class(TObject)public constructor Create; {构造方法} destructor Destroy; override; {析构方法...
阅读全文
摘要:{ 抽象类是一定要被继承才可以使用的; 抽象方法是一定要被覆盖才可以使用的. 现在说的是不能被覆盖的方法, 与不能被继承的类.} //譬如:TA = class procedure Proc; virtual; {TA 中的虚方法, 将要被覆盖}end; TB = class(TA)...
阅读全文
摘要://抽象方法类似与接口; 在没有接口的年代 Delphi 是用抽象方法来模拟接口的; 我想它最终会被接口替代. {下面就定义了两个抽象方法}TMyClass = class(TObject) procedure Proc1; virtual; abstract; {抽象方法首先应该...
阅读全文
摘要:// inherited 就是调用父类方法的一个特殊命令; 举例: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ...
阅读全文
摘要://类中的方法重载首先具备前面说过的重载相关的所有特点, 如:TMyClass = class(TObject) function Fun(s: string): string; overload; function Fun(i: Integer): Integer; overload; ...
阅读全文
摘要://静态方法是默认的, 如果不是虚方法或纯虚方法, 那它就是一个静态方法. //类方法就是通过类名就可以访问的方法unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Contro...
阅读全文
摘要://下面说的数据成员不仅仅指方法TMyClass = class(TObject) function Fun1: string; {公共区域的数据成员在默认状态下会归于 published 区} //所谓默认状态就是编译指令为{$M+}, 如果是{$M-}这些数据成员会归于 public ...
阅读全文
摘要:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm)...
阅读全文
摘要://标准的覆盖是这样的TBass =class procedure Proc; virtual; {或用 dynamic}end; TChild = class(TBass) procedure Proc; override;end;//以下几种情况属于重定义, 其中例 3-5还会有编译提...
阅读全文
摘要:方法来到类中, 以前的特点基本都在;因为类一般是存在于一个继承链中, 所以就有了一些新的概念, 譬如: 继承、覆盖;也有了很多新名称, 譬如: 静态方法、虚方法、动态方法、抽象方法、类方法、消息方法.先从虚方法与动态方法开始吧//下面的类中就定义了两个虚方法(virtual)、两个动态方法(d...
阅读全文
摘要:在Delphi中的Record类型中,与之C语言对应的即是结构体类型(struct),也可能是为了符合C语言或C++程序员的习惯,对于它在Delphi中的应用存在的一些问题进行初步的说明。在Delphi中的记录体类型有两种方式定义 Type RecTest = record (packed...
阅读全文
摘要:Delphi对于面向对象编程的支持丰富而且强大。除了传统的类和对象,Delphi还提供了接口,异常处理,多线程编程等特性。这一章节深入讲解了Delphi的对象模型。读者应当对标准的Pascal比较熟悉,并且对有关面向对象编程的基本法则有一定了解。(本文的英文原文将Delphi与Object P...
阅读全文
摘要:50 保存/恢复带汇总行的布局.StoreToIniFile('c:\Grid.ini',True, [gsoUseSummary]);.RestoreFromIniFile(,True,False{or True, optional},[gsoUseSummary]);***********...
阅读全文
摘要:50 保存/恢复带汇总行的布局.StoreToIniFile('c:\Grid.ini',True, [gsoUseSummary]);.RestoreFromIniFile(,True,False{or True, optional},[gsoUseSummary]);***********...
阅读全文
摘要:1. CxGrid汇总功能①OptionsView-Footer设置为True,显示页脚 ②CxGrid的Summary选项卡定义要汇总的列和字段名及汇总方式,Footer选项卡定义单个汇总,Default ForGroups定义按组汇总。OptionsView-GroupFooter...
阅读全文
摘要:35在当前View插入记录 解决:使用FocusedView属性得到当前焦点View,用View.DataController得到对应的Data Controller, 之后使用Data Controller的方法来操作数据: - Append - Insert - Post -...
阅读全文
摘要:17.怎样设计多表头的cxGrid?解决:cxGrid可以解决如下的表头:---------------------------------| 说明1 | 说明2 |---------------------------------| 字段1 | 字段2 | 字段3 | 字段4 || 字段5 ...
阅读全文
摘要:delphi中cxGrid使用汇总(一)(转) 1.去掉cxGrid中台头的Box解决:在tableview1的ptionsview的groupbybox=false; 2.统计功能解决:(1) tableview1.tableview1的optionsviewfooter=ture2.然...
阅读全文
摘要:第一章在Delphi中使用接口1.1 定义接口:目的:什么是接口,以及和抽象类的关联以及不同点。抽象类(备注理解接口最简单的方法)永远不能创建一个抽象类的实例;本身不能实现功能,依靠派生类实现;接口被申明为interface类型。接口名从字母I开始。类类型名从T开始。所有的接口从IUnknow...
阅读全文
摘要:新版Delphi 接口和类之间的相互转换,XE2测试确实可以,但类不可以再次释放,释放的任务交给类接口了.可以使用类(接口).方法,使用类方法,接口消失了,就完全释放了 {此接口声明了一个 Name 属性; 因为接口没有字段, read/write 都只能从方法} IMyInterface =...
阅读全文
浙公网安备 33010602011771号