登陆注册
16017000000010

第10章 Delphi应用程序设计初步与项目管理(2)

3.2Delphi应用程序项目和项目管理器

Delphi是用项目管理器对应用程序的项目进行管理的。

3.2.1项目

Delphi通过项目来管理应用程序文件。

项目是一个Delphi应用程序相关文件的集合。

一个Delphi应用程序可以只包含一个项目,也可以包含几个项目,这几个项目组成一个项目组。

3.2.2项目的组成

Delphi应用程序设计完以后,打开保存程序文件的文件夹,可以看到有许多个文件,这些文件组成一个应用程序项目。

这些文件有的是在程序设计阶段产生的,有的是在程序编译阶段产生的,有的是由用户保存时命名的,有的是由系统根据用户的命名自动生成的。

组成应用程序项目的文件不少,但与我们经常直接打交道的只有项目文件、单元文件和窗体文件。

1.项目文件

项目文件是以.dpr为扩展名的文件,是Delphi应用程序的主程序,每个项目只有一个项目文件,它列出了整个应用程序包含的单元,完成对应用程序的初始化并启动应用程序。

项目文件是由开发环境自动创建与维护的,用户一般不要修改它。

项目文件是一个Pascal源代码文件,执行【Project】→【ViewSource】菜单命令,可在代码编辑窗口中增加Project1选项卡并显示项目文件,如图3-9所示。

第一行,关键字program指明该项目的名称是Project1(保存时,选择的默认值)。

uses语句,列出了该项目所使用的单元。是编译指令,表示将链接的所有的资源文件(.res)。资源文件是二进制文件,存储了程序所需要的如图标、位图、字符串等资源。该文件由Delphi自动管理。

Begin与eng之间为可执行代码段。其中Application为应用程序定义的一个对象,Application.Initialize语句初始化这个对象,Application.CreateForm(TForm1,Form1)语句是创建一个应用程序的窗体对象Form1,Application.Run语句是运行应用程序。

2.单元文件

单元文件是以.pas为扩展名的文件,是用户在代码编辑器中编写的源代码文件。

单元文件有两种:有窗体文件和无窗体文件。

每一个窗体都对应一个有窗体单元文件,当用户用【File】→【New】→【Form】菜单命令在应用程序中创建一个新的窗体时,系统都会自动生成对应的单元文件,窗体事件的处理代码都保存在这个单元文件中,前面简单程序实例中,我们在代码编辑窗口中编写的代码文件就是有窗体的单元文件。

无窗体单元文件是独立的源代码文件。用【File】→【New】→【Unit】菜单命令,就可以创建应用程序无窗体单元文件。

第一行,单元定义部分,指明单元名为Unit1,单元与其对应的单元文件同名。

关键字interface开始为接口定义部分,又包含以下几个部分:

关键字uses后面列出了本单元文件在编译链接时要使用的单元文件;关键字type为类型定义部分,列出了窗体中使用的组件名和事件处理过程名;关键字var为变量声明部分,列出了单元文件中的全局变量。

关键字implementation后面为单元文件的实现部分,其中为窗体编译指令,关键字procedure及其后面的begin…end所包含的部分为用户定义的事件处理过程代码,也就是需要用户编写的部分,这些事件处理过程的数量和名称与类型定义部分的说明一致。

单元文件中最后一个end为单元文件的结束标志。

3.窗体文件

窗体文件是以.dfm为扩展名的二进制格式文件。

每个窗体都有一个相应的窗体文件。窗体文件描述了窗体及窗体中的组件的属性。设置窗体及窗体中组件的属性,除了Name属性之外,其他属性的属性值在窗体对应的单元文件中反映不出来(这在前面的单元文件中可以看到),而由窗体对应的窗体文件所保存。就是说,窗体及窗体中的组件的属性,有两种表现形式,一是窗体形式,即以直观的形式反映在窗体窗口中;二是文件形式,反映在窗体文件中。窗体文件与同一个项目的项目文件、单元文件保存同一个目录下,由系统自动保存。

平时窗体文件不在集成开发环境中显示出来。用鼠标右键单击窗体窗口,弹出快捷菜单,选择【ViewasText】菜单命令,代码编辑器中显示当前窗体对应的窗体文件,如图3-10所示。

以下就是前面程序实例的窗体文件。

可以看到,文件中每一对“object…end”之间保存了一个对象(包括窗体和窗体中的组件)的属性值和事件及事件处理过程名,在窗体中对对象属性及事件处理过程的设置、修改都会反映在窗体文件中。

3.2.3Delphi的项目管理

如前所述,Delphi是用项目管理器对项目进行管理的。

1.Delphi的项目管理器

执行【View】→【ProjectManager】菜单命令,打开项目管理器窗口,如图3-11所示。

项目管理器窗口由标题栏、项目选择列表、工具栏和项目显示窗口组成。

标题栏:显示项目管理器的英文名称“ProjectManager”。

项目选择列表:通过一个下拉列表框选择要管理的项目。

工具栏:包含【New】、【Remove】、【Activate】3个命令按钮。

项目显示窗口:以树形结构显示当前项目所在项目组的组成。

2.向项目组中添加项目

用鼠标右键单击(以下皆简称为“右击”)【ProjectGroup1】项,弹出快捷式菜单,如图3-12所示,可执行【AddNewProject】或【AddExistingProject】菜单命令,向项目组添加一个新建项目或添加一个已存在的项目。

若执行【AddNewProject】菜单命令,则打开【NewItems】对话框,如图3-13所示,选择【Application】图标,单击【OK】按钮,一个新建项目就可添加到项目组中;若执行【AddExistingProject】菜单命令,则打开【OpenProject】对话框,如图3-14所示,选择要添加的项目,单击【打开】按钮,一个已存在的项目就会添加到项目组中。

添加了项目的项目管理器窗口如图3-15所示。

3.从项目组中删除项目

右击要删除的项目,弹出如图3-16所示的快捷式菜单,执行【RemoveProject】菜单命令,选择的项目被删除。

4.给项目添加文件

右击要添加文件的项目,弹出如图3-16所示的快捷式菜单,执行【Add】菜单命令,打开【AddtoProject】对话框,如图3-17所示,选择要添加的单元文件,单击【打开】按钮,一个已存在的单元文件就会添加到项目中。如果该单元文件是一个有窗体单元文件,那么该单元文件相应的窗体也一并添加到项目中。

5.从项目中删除文件

右击要删除文件的项目,弹出如图3-16所示的快捷式菜单,执行【RemoveFile】菜单命令,打开【RemoveFromProject】对话框,如图3-18所示,对话框列出了当前项目包含的所有单元文件,从中选择要删除的单元文件,单击【OK】按钮,系统弹出如图3-19所示的信息框要求确认,单击【Yes】按钮,选择的文件被删除。

习题3

1.设计一个Delphi应用程序要经过哪几个步骤?自己动手把本章中的程序简例操作一遍,以初步掌握Delphi应用程序的设计步骤。

2.什么是项目?项目主要包含哪几个文件?各有什么用途?

3.如何给项目组添加项目、删除项目?如何给项目添加文件、删除文件?

同类推荐
  • 玩转手机

    玩转手机

    本书主要包括:手机的发展历史、手机知识、手机的选购与巧用、手机与网络、手机短信等内容。
  • 办公软件高级应用

    办公软件高级应用

    日新月异的信息技术使计算机的应用渗透到各行各业,融入到我们的工作、学习和生活中,特别是在办公领域中运用计算机技术,可以实现办公自动化,成倍地提高工作效率。在众多的办公软件中,微软公司的Office系列软件是办公自动化软件中的佼佼者,其强大的功能深受全世界广大用户的青睐。根据当前业界的需求以及办公软件的实际应用范围,本书针对Office2003系列产品,深入讲解其高级应用知识和操作技能。
  • 信息技术教育大全-计算机网络

    信息技术教育大全-计算机网络

    信息技术教育大全-计算机网络信息技术教育大全-计算机网络信息技术教育大全-计算机网络信息技术教育大全-计算机网络信息技术教育大全-计算机网络信息技术教育大全-计算机网络信息技术教育大全-计算机网络
  • 计算机应用基础案例教程

    计算机应用基础案例教程

    本书是根据教育部对高等院校计算机公共基础课程的基本要求,结合计算机技术的最新发展及高职高专类院校计算机基础课程改革的最新动向编写而成。其主要内容包括计算机基础知识、WindowsXP操作系统、Word2003文字处理软件、Excel2003电子表格软件、PowerPoint2003演示文稿制作软件、计算机网络与安全及常用工具软件的使用。本书将理论知识与项目实践相结合,既对理论有较为系统全面的讲解,又通过案例突出了操作技能的培养。本书内容新颖,体系结构合理,可作为高职高专学校、成人高等学校的计算机公共基础课教材,也可以作为广大计算机爱好者的自学参考书。
  • 云计算和现代远程教育

    云计算和现代远程教育

    本书介绍了云计算知识、云计算的特性、云计算技术、云计算中的访问云、云计算中的云存储、云计算在远程教育中的应用等内容。
热门推荐
  • 废时光

    废时光

    青春,像一本书,一本记录着从懵懂无知到成熟懂事的书第一次遇见,我们还不知道彼此的名字,但那整整一个夏天,都是你陪着我,度过这漫长的时光,那时我才发现,原来我的世界,除了琴,还多了一个能陪我说话的小哥哥。第一次遇见,她就像个小公主一样,出现在我的面前,那条白色的长裙,在她身上,真的很美,长发梳起一个马尾辫,可爱极了,我们不知道彼此的名字,直到那个假期结束,我从母亲那知道了她的名字,原来,她叫林韵玮。韵玮,我们还有可能在见面吗?有人说这一次的离别,是为了下一次更好的相遇,时间向前不断的前行着,而那次的相遇,被尘封在记忆之中,不知何时才能打开时光尘缘,等待下一次的相遇
  • 星穹烈火

    星穹烈火

    来自异界极寒的麒麟在渡雷劫的时候失败了,它充满着不甘,用自己最后的力量冲破云霄。原本以为自己死了,结果穿越了。来到了一个武魂的世界,这里没有斗气,没有武技,只有原力。在这里他有可能突破人类最高境界:能成神吗?
  • 至高传承

    至高传承

    上古无数天骄,每一位都在这一片宇宙留下了无尽神话传说。古老的神话还未完结,新的神话便已布满了星空,古老的神座下迎来了新的声音。这是美丽的星空,有天骄踏空而起,左手持盾为守护,右手持剑为毁灭。这是残酷的星空,有至尊从神座上走下,翻手即创造,覆手便又是轮回。就是这星空之下,新生的万族接受古老的传承,推开了斑驳的城门,登上了通向至高神座的天路。一条坠入凡尘的真龙,接受至高传承,化身为人形,蹑手蹑脚地踏上天路。从此,宇宙万族,以我为图腾!新人新作,一条小龙的故事,欢迎鉴赏。
  • 盗墓阴阳录之戮野王宫

    盗墓阴阳录之戮野王宫

    一个平凡的大学生,在一次回乡省亲时,无意中被卷入了一场离奇的事件中。随着事件的升级,一桩桩诡异的现象接踵而至——家人失踪,身体开始莫名奇妙地发生变化……
  • 凯源玺不简单的恋爱

    凯源玺不简单的恋爱

    本文是三段恋情终难成,他们之前经常有误会,各自又放不下面子,误会越来越深
  • 特拽特逍遥

    特拽特逍遥

    拽是他的个性,逍遥是他的本能,他是尝遍美女娇娃的风流美少,更是背负国家使命的异能特工!他能否拽遍黑白两道,所向披靡?他又怎样被红颜眷恋,欲罢不能?在这风云变幻的世界,他的一生注定将成为不可逾越的传奇!
  • 天星流月

    天星流月

    我还在回忆,宛如初见,只是少了你,那个我最熟悉的人啊
  • 休闲文化与唐宋词

    休闲文化与唐宋词

    本书内容包括:休闲:人类文化精神的家园、词体萌生的商业文化背景与休闲社会土壤、唐宋词的文体特征与休闲功能、休闲视野下的唐宋词人创作观念、唐宋词人的休闲创作实践等。
  • 魔力澎湃

    魔力澎湃

    以独特视角,带你一睹魔法绚烂奇观东方穿越男,降临西方异界。面对强敌环侍,迷雾重重有多少强者并起大陆山河锦绣我怎奈一身魔力澎湃
  • 傲龙邪神

    傲龙邪神

    楚殇是一介旁系子弟,实力低微,因而受尽屈辱他因为有她,支撑了下来,然而,当她死在他的面前他明悟,这世界,实力至上是永远不会改变的至理!他从乱葬岗中爬出,得妖帝传承,血脉彻底改变!他将执掌万千豪强,统御八方!