深入Delphi 个人认为不错的delphi概要介绍,言简意明,值得一看(2) 另外如果工程中添加了form(窗体),则还会有一些.dfm(Delphi ForM)文件,其实是包含窗体及其中控件属性的一个资源文件,也就是说可以像res文件一样打开。提到res文件,这种文件也是工程中常见的,里面包含程序图标、版本信息等资源,以后将会说明这种文件在不同场合的用途。对应dpr文件一般还会有一个dof(Delphi OptionFile)和一个cfg文件。Dof文件中包含编译器、连接器的参数,以及其他在Delphi菜单命令Project->Options中可以设置的内容。Cfg文件是根据dof文件生成的编译器和连接器的命令行参数。最后一种文件是dcu(Delphi Compiled Unit)文件,也就是已编译的单元文件,根据工程的编译器设置,里面一般还会包含调试信息等,默认设置是编译器生成调试信息到dcu中,但连接器不会把调试信息连接到exe里面。以上的东西可能一时还不能理解,不过不要紧,我只是大概说一说。 上面说过,只有dpr文件是必不可少的,也就是说,一个工程可以只包含一个dpr文件,像“广外女生”和“广外幽灵”都是这样的。下面是一个非常简单的例子:
program Project1;
usesWindows;
beginMessageBox(0, '文件损坏!', nil, MB_OK or MB_ICONSTOP); end.
编译运行这个工程,你会发现生成出来的文件非常小,不到20K!是不是很过瘾呢?哎呀,忘了说怎样建立一个这样的工程了。在Delphi中新建一个工程的时候,会自动添加一个窗体和单元,不过你可以把窗体和单元文件都关闭,并在Delphi问你是否保存的时候选择否,然后在菜单中选择Project->View Source打开工程文件,最后把里面的内容修改为上面例子中的那样就行了!这个程序运行后会显示一个错误提示框,就像“女生”中的那样,按确定之后,程序就退出了。源代码应该是够容易理解的了,很显然,程序从begin处开始执行,到end.处结束,中间只做了一件事情,就是调用MessageBox这个API函数显示一个消息框,由于MessageBox这个函数是在Windows这个单元中声明的,所以必须把单元名称Windows添加到uses语句中。 什么叫声明(declare)呢?声明就是向Delphi描述一样它不知道的东西。在Delphi中可以声明自定义的数据类型(data type)、函数(function)、过程(procedure,与函数类似,但没有返回值)及变量(variable)和常量(constant)。其中很多人搞不清数据类型与类(class)的区别,其实如果会C++的人都知道,class与strUCture一样,都是数据类型中的一种,但这种数据结构很特殊,是数据的集合,也就是说,类里面可以包含多个数据域(field)。Record(记录)也是一种集合数据类型,但类还有继承等特性(class一词本身就有分级的意思,但不知道是谁首先翻译成类的)。像下面这个声明:
type TColor24 = record