设为首页 加入收藏

TOP

Delphi_02_Delphi程序的结构
2017-10-10 12:06:31 】 浏览:2979
Tags:Delphi_02_Delphi 程序 结构

一、工程文件

program MultiUnit;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  Unit1 in 'Unit1.pas';

begin
    //引用unit1中的变量,因为是在接口部分定义所以可以引用
    strGreet:='Hello world';

    //调用unit1中的过程 因为是在接口部分定义所以可以引用
    Greeting(strGreet);

    //调用unit2中的函数;因为是在接口部分定义所以可以引用
    nAdd:=10;
    nAddfactor:=11;
    writeln(GetSum(nadd,naddfactor));


    {
    1、因为pai变量是在unit1单元的实现部分定义的,因此不能被工程文件引用
    }
    //writeln(10*10*pai);

    {
    1、 因function GetArea(var r:single):single; 是在unit1单元的实现部分定义的
        所以在工程文件中也不能访问
    }
    //writeln(GetArea(3.0));

    {
    1、 因为没有在工程文件中引用unit2单元,所以不能引用unit2单元的对象
    2、 虽然在unit1单元引用了unit2单元,但是是在实现部分,所以在工程文件中
        也不能引用unit2单元的对象。
    3、 如果在unit1单元的接口部分引用了unit2单元,则在工程文件中也能引用unit2
        单元文件的对象
    }
    //showUnit2();



    readln;
end.

 

二、单元文件 unit1

{       单元文件
1、Delphi程序由称为单元的源代码模块构成
2、每个单元保存在一个单独的单元文件 *.pas 文件中,分别进行编译,然后编译后的
   单元被链接到程序中
3、单元文件由以下几部分组成:
        单元头      unit 关键字表示
        接口部分    interface 关键字表示
        实现部分    implementation 关键字表示
        初始化部分  initialization 关键字表示
        结束化部分  finalization
        单元的结尾  end. 表示
}

{   单元头
1、 unit关键字定义单元头,
2、 语法格式为:  unit 单元标识符
3、 在其他单元中利用 单元标识符 来表示整个单元
}
unit Unit1;

{       接口部分
1、 接口部分定义其他单元引用本单元时可以访问本单元那些对象,
    接口部分声明的变量、函数、过程的作用域 类似于C语言的全局对象
2、 接口部分由关键字 interface 开始,直到遇到关键字  implementation 结束
3、 接口部分可以
      A、使用 uses 子句, uses子句必须紧跟在interface之后
      B、利用 var 关键字定义变量
      C、声明可以被其他单元调用的过程 procedure 和 函数 function
}
interface
var
    strGreet:string;
    nAdd:integer;
    nAddFactor:integer;

{       过程
1、 通过关键字 procedure 定义和声明过程
2、 注意声明最后有一个分号
3、 以后具体介绍
}
procedure Greeting(var strGreet:string);

{       函数
1、 通过关键字 function 定义和声明过程
2、 注意声明最后有一个分号
3、 以后具体介绍
}
function GetSum(var value1,value2:integer):integer;


{       实现部分
1、 实现部分用来实现单元的代码部分,实现部分主要的代码编辑部分
2、 实现部分用来定义接口部分声明的过程、函数
3、 实现部分利用关键字 implementation 表示开始,直到遇到关键字 initialization
    或者 end. 为止
4、 实现部分可以使用
        A、uses 子句, 如果使用uses子句,则必须紧跟implementation关键字
        B、var 语句定义变量
        C、定义在接口部分声明的过程、函数
        D、定义只在本单元才能调用的过程、函数
}
implementation
uses
    unit2;

var
    pai:single=3.1415926;

{       过程
1、 定义过程的时候必须与在接口部分完全一样,如果声明用来 var 关键字,则在
    定义的时候必须用 var 关键字
}
procedure Greeting(var strGreet:string) ;
begin
    writeln(strGreet);
end;

{       函数
1、函数通过函数名返回函数值
}
function GetSum(var value1,value2:integer):integer;
begin
    GetSum:=value1 + value2;
end;

function GetArea(var r:single):single;
begin
    GetArea := pai * r * r;
end;

procedure showUnit2();
begin
    {
    1、引用了unit2单元,所以可以引用unit2单元的对象
    }
    writeln(unit2Var);
end;

end.

 

三、单元文件 unit2

unit Unit2;

interface
var
    unit2Var:integer=33;
implementation

end.

 

欢迎转载,转载请注明来源。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Delphi_01_控制台版HelloWorld 下一篇[函數] Firemonkey 各平台 "..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目