登陆注册
36209800000010

第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.如何给项目组添加项目、删除项目?如何给项目添加文件、删除文件?

同类推荐
  • 天下一家:网络联通世界(科学新导向丛书)

    天下一家:网络联通世界(科学新导向丛书)

    《天下一家:网络联通世界》一书从网络的基本知识出发,详细地介绍了网络科技的发展与用途,还包括校园网络对普及教育的重大作用。本书内容翔实、结构清晰、图文并茂,是一本实用性极强的网上冲浪参考书。
  • 一本书读懂大数据

    一本书读懂大数据

    本书是深入研究互联网思维的经典之作,从互联网思维的定义到互联网思维应用的具体案例表现。作者深入浅出、条分缕析,全面阐述互联网思维的内核与精神,逐一点评当前关于互联网思维的各种观点。本书从最初级的互联网思维应用到高端的粉丝经济,平台建设,自媒体营销的方法都有详细讲解介绍。让读者了解什么是互联网思维的同时还能学会把互联网思维运用到自己的工作学习已经生活中。
  • 现代企业财务软件应用教程

    现代企业财务软件应用教程

    本书内容包括财务软件概论、系统管理、企业应用平台、总账管理、报表管理、薪资管理、固定资产管理、应收款管理、应付款管理等。
  • 创业在微软

    创业在微软

    身处软件巨擘微软之中,何来“创业”二字?本书详尽勾勒了微软亚洲工程院(ATC)的成长历程,披露了工程院人在“创业”过程中不为人知的种种酸甜苦辣,生动展现了工程院的独特文化,并从另一个角度展现了其领袖人物张宏江博士的心路历程和管理思想。
  • 微软360度

    微软360度

    本书是由微软总部华人协会组织编写的第二本书,是《微软360度——企业和文件》一书的姐妹篇,本书将着重向你呈现微软总部的华人专家是如何一步一步地走向成功的及在微软总部成功的心路历程,以及如何应对挑战,揭示了微软成功的最重要秘密之一——人才至上,读者读后收获更多的是这些成功人士的成功经验,从而为自己的成功做出更好的规划。就让我们一起通过此书来看看微软公司人才至上管理的方方面面,聆听微软的心声,感觉微软的脉动吧。
热门推荐
  • 宫斗群资料宝典

    宫斗群资料宝典

    本书主要写的是宫斗群所需要的资料,资料是上网找,而移植到本书内,这样查找宫斗群资料会更简便。希望大家能够支持我。
  • 赤渊战帝

    赤渊战帝

    昂,广大读者们,此书是我自己写着玩的,不建议观看。欢迎大家加我……
  • 绝世唐门之天道星河

    绝世唐门之天道星河

    位面破碎,时空乱流,天道变换,各个世界混乱颠倒。而“随机”的被牵连者——人类,来到异世……迟渊、空桐夜等人意外来到斗罗大陆,开局就得到了一个好身份,是选择安逸一生,还是不屈服于命运?这个世界对于无数外来者来说是否真的安全?是抱团取暖,还是互相残杀?如果穿越还分时空的话会怎样?某人改写历史“史莱克八怪”又是闹哪样?在这片神奇而有广袤的土地,万事皆有可能……
  • 末世之逆战升级

    末世之逆战升级

    穿越到平行世界,被系统告知末日即将降临,无奈只能抓紧时间,结合前世经验做好准备。“叮!末日开启,恭喜宿主获得求生大礼包,时尚防护服一套,P92手枪,暴风之锤,属性点4。”在生存的的威胁和系统的诱惑下,杜江在打怪升级的路上越走越远。
  • BOSS不简单:贤妻逆天

    BOSS不简单:贤妻逆天

    “待我长发及腰,你娶我可好?”某女笑笑。“待你长发及腰,你嫁我可好?”某BOSS勾勾唇。当双方发现对方是命中注定之人,决定以此自终,在许多艰难下,携手走过。经历了那么多的困难,BOSS把贤妻收了,甚至宠上了天。执子携手,白头到老......
  • 暮光心悦

    暮光心悦

    去往不同的位面寻找不同性格的你......暮颜:哎,系统坑我,说好的寻找白泽碎片的呢?为什么总会有个黏人精一直跟着我!墨筠寒:你是我的,我只会跟着你一个人,同样你也只能有我一个,不然......
  • 末世别开门

    末世别开门

    李峰重生回到丧尸爆发的五年前,这一次他要换一种活法,不留任何遗憾!
  • 明末孤臣

    明末孤臣

    既然穿越明末乱世,又与毛文龙有了纠结,那就改变一下他的命运。
  • 替嫁宝贝神秘娇妻别想逃

    替嫁宝贝神秘娇妻别想逃

    回国第一天晚上遇到了半死不活的“血”男人,顾念觉得很晦气,结果第二天渣渣大伯就让自己嫁人,还是替自己那白莲绿茶堂姐,嫁人就嫁人,被别人捡剩下来的男人,是否有些过分?不过,为了自己亲爱的爹地妈咪,她还是勉为其难的同意好了。反正结不结婚也没什么关系,互不打扰就好了,但是这个传说中暴虐残忍的薄家三少爷,为什么和传说中不太一样???
  • 都市修真酒仙

    都市修真酒仙

    本注定一生困顿的夜澜,机缘偶得辅助仙器,别人练武我修仙。黑道巨擘,钢铁军魂,逍遥仙尊?我只是万物的掌控者。漫漫仙途,美酒佳人作伴,且看我如何无敌于这天地。