Delphi单元文件详解

2016-01-29 14:10 61 1 收藏

Delphi单元文件详解,Delphi单元文件详解

【 tulaoshi.com - Delphi 】

 

昨天敲了半天才出来的,想组成一个系列.供新手学习一下!(虽说我也是新手^_^)

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/delphi/)

Delphi单元文件

1.库单元文件头:其中声明了库单元的名字.

2.Interface部分:

  由保留字interface开始,结束于保留字implementation,它用来声明引用的单元,常量,数据类型,变量,过程和函数.在Interface部分声明的变量,常量,数据类型,过程,函数都可以供外部引用,对整个程序而言是共有的.也就是说,对于所有引用该单元的单元来说,这些声明都是可见和可访问的.

  在Interface部分,只需写出过程和函数的首部,具体的定义是在下面的implementation部分给出的.

  Interface部分又可分为多个可选部分,分别为单元引入部分(uses),常量说明部分,类型说明部分,变量说明部分,过程和函数声明部分.

3.Implementation部分:

  Implementation部分分为两部分.一部分是声明部分,包括单元引用,常量,类型,变量,过程和函数的声明,这一点和Interface部分相似.

区别有两点:

  (1):在Implementation部分声明的只对本单元是公共的,可见的,其他单元即使引用了该单元,也不能访问它们.

  (2):在Implementation部分声明的过程和函数,不需要遵循先声明后定义的规则,而可以直接写出过程和函数的定义.另一部分是在Interface部分声明的过程和函数的定义.

4.Initialization部分:

  用于初始化该库单元,此处的代码最先执行.如果多个库单元中包含Initialization部分,那么它们的执行顺序就和Program的uses部分引用单元的出现顺序是一致的.

5.Finalization部分:

  通常用于释放Initialization部分分配的资源.如果多个库单元中包含Finalization部分,其执行顺序和Initialization部分正好相反.


unit MainFrm; {库单元文件头}

interface     {接口部分}

uses        
  Windows, Forms, StdCtrls;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    procedure MyButtonClick(sender:TObject);
    { Public declarations }
  end;

var
  Form1: TForm1;

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/delphi/)

implementation  {实现部分}

//uses

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
  MyButton : TButton;
begin

[next]

 





  MyButton := TButton.Create(self);
  MyButton.Parent := self;
//告诉创建方法在Form1中显示MyButton
  MyButton.Caption := '测试一';
  MyButton.OnClick := MyButtonClick;
  MyButton.Show;
end;

procedure TForm1.MyButtonClick(sender:TObject);
begin
  Application.MessageBox(PAnsiChar(TButton(sender).Caption)
                        ,'Test Component');
  TButton(sender).Caption := '测试二';
end;

initialization  {可选的初始化部分}
  //
finalization    {结束部分}
  //

end.            {End结束符}

6.Sender参数:

  看上面程序代码发现事件处理程序的参数中,至少含有一个参数Sender,它代表触发事件处理程序的组件,有了Sender参数,可以使多个组件共用相同的事件处理程序.

7.Self参数:

  Self是指所编的程序范围是在哪一个类中,Delphi中大都在窗体范围内编程,因此,Self即指窗体,如果在编写一个类或是一个组件,则Self指该类或该组件.我们在过程和函数的声明中可以看出Self是代表哪个组件,即Self代表"."号之前的组件.另外应注意,Self只能用在类方法中,而不能用在过程或函数中.如下列是错误的:

来源:http://www.tulaoshi.com/n/20160129/1492694.html

延伸阅读
数据流是面向对象程序设计语言中面向对象思想的典型体现,它彻底地取代了早期的利用函数实现输入输出的功能,克服了用函数实现输入输出功能的诸多弊端。简单来说,流就是建立在面向对象基础上的一种抽象的处理数据的工具。在流中,可定义一些处理数据的基本操作,如读取数据、写入数据等,程序员是对流进行操作,而不用关心流的另一头数据...
一个更复杂的例子 接下来展示的一个程序例子,被分割到了2个文件。一个工程文件,一个单元文件。你可以将工程文件保存为greeting.dpr,它看起来是这样的: program greeting; {$APPTYPE CONSOLE} uses Unit1; begin PrintMessage('Hello World!'); end. 第一行说明了程序名称为gr...
输入输出流 在Java中,我们把能够读取一个字节序列的对象称作一个输入流;而我们把够写一个字节序列称作一个输出流。它们分别由抽象类 InputStream和OutputStream类表示。因为面向字节的流不方便用来处理存储为Unicode(每个字符使用两个字节)的信息。所以Java 引入了用来处理Unicode字符的类层次,这些类派生自抽象类Reader...
标签: Delphi
  (1)在interface里的uses子句中引用。如Windows,Dialogs等,要求被引用的DCU一定要放在Delphi 3\Lib子目录中。     (2)在implementation里的uses子句中引用。如果是自行编写的DCU文件,应采用这一方式,并将被引用的DCU文件放入当前工程所在的子目录中。  
Delphi中的Table控件(Component)和query控件都需要有一个DatabaseName属性。可以用DatabaseName属性来指定该控件所引用的数据表路径。有两种方法可以为属性DatabaseName设置路径:第一种方法是直接输入数据表所在路径,另一种方法是使用数据库别名(Alias)。在Delphi中数据库别名是在数据库引擎(BDE)中设定的,一个别名对应一个文件路...

经验教程

587

收藏

68
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部