zoukankan      html  css  js  c++  java
  • Delphi项目构成之单元文件PAS

    单元文件是Pascal源文件,扩展名为.pas

    有三种类型的单元文件:

    1. 窗体/数据模块和框架的单元文件(form/data module and frame units),一般由Delphi自动生成。
    2. 组件的单元文件(component units),由您或者Delphi生成。
    3. 通用的单元文件(general-purpose units),有您创建。

    下面让我们看看基本的Pascal单元文件结构是如何的?

    Step1、在主菜单上选择【File | New | Unit】,Delphi将创建一个新的单元,并在Code Editor中显示出。

    0008

    Step2、让我们来看看一个最简单的pascal单元,包括了四个关键字unitinterfaceimplementationend

    0009

    比较全的单元如下,请看注释:

    unit Unit1;
    
    interface
    
    uses            { List of units goes here }
      Windows, Messages,
      SysUtils, Variants,
      Classes, Graphics,
      Controls, Forms, Dialogs;
    
                    { Interface section goes here }
    
    type            { type关键字用来声明一个新的类型}
      TMyArray = array[0..19] of Byte;
                    { 声明TMyArray用来代替array[0..19] of Byte}
    const           { const关键字用来声明常量}
      AppCation = 'Hello World';
                    { AppCation由于在interface段声明,它在单元的任何地方都可以用}
    var             { var关键字用来声明变量,也分interface段和implementation段}
      X: Integer;
      MyArry: TMyArray;
                    { MyArray为刚才定义的TMyArray新类型}
    
      procedure DoSomething;
                    { 声明一个DoSomething过程}
    
    implementation
    uses            { List of units goes here }
      SysUtils, Variants;
    var
      ObjList: TObjectList;
    const           { BaseX,BaseY由于在implementation段声明,只能在单元内使用}
      BaseX = 20;
      BaseY = 200;
                    { 实现interface段声明的DoSomething过程}
      procedure DoSomething;
      begin
                    { Code for DoSomething goes here.}
      end;
                     //C++风格的注释,只能用于单行注释
                    (*
                      相同类型注释不能嵌套
                    *)
                    {
                     推荐使用的注释符号
                    }
    
                    { Implementation section goes here }
    
    initialization
                    { Initialization section goes here }
      ObjList := TObjectList.Create;
    finalization
                    { Finalization section goes here }
      FreeAndNil(ObjList);
    end.
    

    uses单元引用

    一个单元引用的外部单元清单,其中每个单元必须用逗号分开,最后一个单元必须加分号,分号表示该uses清单的结束。

    interface接口段

    用来生命这个单元的输出标识符,即能被其他单元访问的项。接口段以interface开始,以implementation结束。

    implementation执行段

    执行段以implementation开始,以下一个关键字结束,下一个关键字通常就是单元的最后关键字end。但在有初始化的单元中,下一个关键就是initialization关键字。

    以上三个部分是unit单元必须要的。接下来两个关键字部分是可选的。

    initialization单元初始化和finalizaiton单元结束

    用来执行启动和清理的代码,初始化中的任何代码在其单元载入内存时都要被执行,结束段中的任何代码在单元从内存中清理前都要被执行。

    可以只有一个初始化段,但不能只有结束段,而没有初始化段。

  • 相关阅读:
    进程与线程
    the art of seo(chapter seven)
    the art of seo(chapter six)
    the art of seo(chapter five)
    the art of seo(chapter four)
    the art of seo(chapter three)
    the art of seo(chapter two)
    the art of seo(chapter one)
    Sentinel Cluster流程分析
    Sentinel Core流程分析
  • 原文地址:https://www.cnblogs.com/pchmonster/p/2284792.html
Copyright © 2011-2022 走看看