写在前边:称着自己还有把子力气,多学点东西
--------------------------------------------------------------
D6的帮助文档太复杂了些,小弟能力有限,还是先用d5的将就着用。
(D7的没找到。)
--------------------------------------------------------------
。Chapter1 Overview
D5 ObjectPascal文档的第一部分是Overview,没什么好说的,与
windows结合的很紧密,我指向讨论语法,skip
* * *
。Chapter2 Programs and Units
程序由许多源代码模块组成,这些模块叫做单元(unit)。(所以不管我们new一个form还是一个application,Delphi都生成一个以unit开头的文件。这从技术上为我们提供了一个很好的组织结构。能不能用的好要看个人的天分了)这些单元的存储和编译并不相关;编译过的单元们(。dcu文件)被连接到一起组成一个应用程序。
关于单元的作用,相信每个tp的玩家都深有体会,它的经典结构是:
unit 单元名;
interface
一些声明
implementation
声明的实现。
initialization
初始化
finalization
姑且叫终结化(-_-!)
end.(这是delphi中的结构,tp中的于此不同,不较真了)
这样结构初衷是代码的复用,程序员只需要知道接口部分的声明就可以调用单元中的函数.到了delphi它的作用发生了一些变化(很微妙),随着应用程序的结构越来越大,单元就变成了程序的组成单位,虽然单元仍有以前的功能,但是那已经不是它的主要作用了.(文档中将单元的作用分为3部分)
[原](原文翻译,下同)在传统的pascal编程中,所有的源代码包括主程序都存储在.pas文件中.Delphi中将主程序保存在.dpr文件(工程文件)里.而其他的源代码以单元的形式保存在.pas文件中.每个应用程序包含了一个.dpr文件和一个或多个.pas文件.严格说来, 其实不必非在应用程序中包含单元,但是所有的应用程序都自动包含system单元.要build一个工程,编译器需要所有源代码单元和这些文件的.dcu(编译过的unit)
--------------------------------------------------------------
D6的帮助文档太复杂了些,小弟能力有限,还是先用d5的将就着用。
(D7的没找到。)
--------------------------------------------------------------
。Chapter1 Overview
D5 ObjectPascal文档的第一部分是Overview,没什么好说的,与
windows结合的很紧密,我指向讨论语法,skip
* * *
。Chapter2 Programs and Units
程序由许多源代码模块组成,这些模块叫做单元(unit)。(所以不管我们new一个form还是一个application,Delphi都生成一个以unit开头的文件。这从技术上为我们提供了一个很好的组织结构。能不能用的好要看个人的天分了)这些单元的存储和编译并不相关;编译过的单元们(。dcu文件)被连接到一起组成一个应用程序。
关于单元的作用,相信每个tp的玩家都深有体会,它的经典结构是:
unit 单元名;
interface
一些声明
implementation
声明的实现。
initialization
初始化
finalization
姑且叫终结化(-_-!)
end.(这是delphi中的结构,tp中的于此不同,不较真了)
这样结构初衷是代码的复用,程序员只需要知道接口部分的声明就可以调用单元中的函数.到了delphi它的作用发生了一些变化(很微妙),随着应用程序的结构越来越大,单元就变成了程序的组成单位,虽然单元仍有以前的功能,但是那已经不是它的主要作用了.(文档中将单元的作用分为3部分)
[原](原文翻译,下同)在传统的pascal编程中,所有的源代码包括主程序都存储在.pas文件中.Delphi中将主程序保存在.dpr文件(工程文件)里.而其他的源代码以单元的形式保存在.pas文件中.每个应用程序包含了一个.dpr文件和一个或多个.pas文件.严格说来, 其实不必非在应用程序中包含单元,但是所有的应用程序都自动包含system单元.要build一个工程,编译器需要所有源代码单元和这些文件的.dcu(编译过的unit)
语法:
program 程序名;
uses
包含的单元,和其他文件...不是必需的部分;
begin
程序的主要代码....;
end.
[原]一个程序包括:
.程序头
.uses子句(可选)
.代码和声明部分(就是上边begin...end中间的部分和其他的var const等)
[o](oler的看法,下同)
写的再明白不过了,以后就这么写了!!go on...
[原]...工程文件一般都很短,因为代码都分成了一段一段的存在单元里了.工程文件有Delphi生成并管理,通常不需要用户手工去更改(改了的话可能造成严重后果)
[o]吐血,那还是看看单元怎么写吧...
语法:
unit 单元名;
interface
uses uses子句,在前边看到过,这里作用和前边一样;
接口部分的声明在此....;
implementation
uses 还有个uses子句....;
实现部分的代码们....;
initialization
初始化...;
finalization
....;
end.
这个前边贴过一遍了,为了证明我不偷工减料,再贴一遍:P
[o]单元的结构其实和工程文件大同小异,program换成了unit而已.一个不同的地方(很重要的特征)就是interface和implementation具体的作用下边再说,我去喝水...
[原]单元首部既是单元的名字.形式如下:
unit 单元名;
对于使用borland公司的开发工具开发的应用程序来说,单元名必须和单元文件名一致.
单元名在工程中必须是唯一的.就算他们在不同的目录下也要保证他们的名字不同(不要问为什么,borland规定).
[原]单元的接口部分形式如下:
interface
{所有的声明}
接口部分以inteface保留字开始,只到implementation为止.
接口部分声明了常量,类型,过程,函数等.所有这些声明对用户来说都是可见的,换句话说,其他的程序和单元可以使用这个单元接口部分声明的内容.
interface中声明的过程和函数只是他们的首部.他们的实现在implementation部分.也就是说,这些声明看起来像过程或函数的前向声明,不过不用forward保留字罢了.
一个类的声明中必须包含该类的所有成员的声明.
接口部分可以包含自己的uses子句.这个uses子句必须紧跟interface保留字