Delphi文件结构

Delphi开发的应用程序,是以项目的形式来组织的,每一个项目包含了编译后的目标应用程序所需要的所有文件,了解各个文件的作用,认识文件的内容结构,对于进行程序开发至关重要。
Delphi是以项目为中心的开发产品,当我们创建一个新的应用程序时,Delphi会自动创建一个项目文件。这意味着每个应用程序都是一个项目,由一个或多个文件以及项目文件组成。组成项目的文件包括:源代码,窗体,编译过的单元,配置,选项,包以及备份文件等。
1、项目文件(.dpr)
项目文件默认的名称是“Project1”,扩展名为“.dpr”(Delphi Project 的缩写)。项目文件本身也是含有Object Pascal的源代码的文件。当应用程序启动时,首先执行项目文件对应的代码,通过这些代码完成系统总流程的控制。
创建一个新的应用程序,然后选择(Project] / [View Source]菜单命令,可以看到项目文件“Projectl.dpr”的源代码
在这里插入图片描述
上面列出的代码都是由Delphi自动添加的,其中:
[program]是一个关键字, 说明当前文件为项目文件,同时也表明了项目编译后的可执行文件的名称。
[uses]子句后部是逗号分隔的列表,包含了项目文件中引用的其他文件。被引用的文件可以是系统创建的单元文件,也可以是用户创建的单元文件。
[$R语句]是编译器指令,告诉编译器去链接个资源文件。 编译器指令{SR .res}指示Delphi在与项目同名、扩展名为.res的文件中,查找Windows资源信息。
[begin] 与[end]语句定义了程序的开始与结束,典型的Delphi 应用程序以Application.Initialize (对应用程序进行初始化)开始,以Application.Run (运行应用程序)结束。
一 般情况下,Delphi 7能够自动维护项目文件而不需要对其进行编辑,许多时候可能完成了整个应用程序的设计工作而无需知道项目文件的存在。但是了解了项目文件,可以使我们更好地进行程序设计,可以通过向工程文件中添加代码来使程序在主窗体启动前执行些特定的操作,例如打开一个启动画面、初始化数据库链接等。
修改 apr文件中的代码是可以的但通常这并不必要。除非确实有修改它的原因,否则最好还是让Delphi来管理项目源文件。
2、单元文件(.pas)
Delphi应用程序的源代码般都都保存在单元文件中,单元文件的扩展名为“Pas”通常每个项目至少有一个单元。Delphi7通常常包含3种类型的单元文件:
(1)窗体和数据模块(DataModule) 组件等对应的单元文件。这是最常见的单元元文件这些文件由Delphi7在创建窗体等组件时自动创建。例如,每一个窗体对应一个单元文化一般用来保存窗 体的事件处理程序。
(2)创建组件的单元文件。一般用来保存窗体的事件处理程序。
(3)通用的单元文件。由程序员手动创建的单元文件,一般用来声明应用程序中需命访问的数据类型、常量定义、全局变量和存储用户自定义的函数、过程等。
3、窗体文件(.dfm)
当创建一个窗体时,系统会自动创建个窗体文件(扩展名为“.dfm”)和一个单元文件(.pas文件)。dfm文件原来是二进制文件,但在Delphi 5之后已成为脚本化的文本文件,其中定义了窗体的外观、尺寸、位置等属性信息。
如果想看一看窗体文件, 只需在窗体上单击鼠标右键,从弹出的快捷菜单中选择[View as Text]命令,则显示出窗体文件“Unitl.dfm"的资源脚本,如果窗体中还包含其他组件对象,如按钮、标签等,则这些对象的大小和位置也会出现在窗体文件中
在这里插入图片描述
4、中间编译单元(.dcu)
编译过的单元是不可执行的,以’.dcu’为扩展名。在建立应用程序的链接阶段,有的dcu文件链接起来成为可执行程序,这些文件是可以删除的,但最好还是让Delphi来管理这些文件
如果只分发DCU文件,编译过的代码在Delphi将来发布的版本中可能是无效的。如果不升级,程序员就无法继续使用这些DCU文件。如果出售的是工具软件,可以考虑公开源代码并在许可协议中规定可接受的使用方式。
建立应用程序时,Delphi 会把源代码文件与编译过的单元进行比较。如果源代码没有被修改过,Delphi 就不需要重新编译源文件。如果希望其他的开发者使用这种产品来建立应用程序,可以只发布.dcu文件,而不发布源文件。以这种方式,其他的开发者可以使用该代码,而无须确切知道代码是如何编写的。发布.dcu 文件确实是一种方法, 这样就可以传播私有代码而无须将其公开。

5、备份文件(.~pas)
无论何时,只要改动了一个文件并且进行了保存,Delphi 都会对该文件己存在的版本进行备份。这样,就拥有该文件的最新版本以及一个稍早一点的版本。对备份文件的命名惯例是:它的名字与原文件几乎相同,但在:与扩展名的第一个字母之间插入了一个~ (波浪线)。例如,test1.pas 就变成了test1.~ pas。
由于备份文件不会以其他方式修改,因此要恢复备份,只要在资源管理器中重命名备份文件,去掉其名字中的波浪线即可。如果开始开发后一直使用某种版本控制产品,在更新文件的己归档版本时经常保存,那么不会丢掉任何修改。
删除备份文件不会有什么问题,系统默认情况下会进行文件备份,如果想取消文件备份,可以通过选择Tools /Editor Options菜单命令,在出现的Editor Popeties对话框中,选择display选项卡,取消对create backup file属性的选择。
在这里插入图片描述
6、资源文件(.res)
资源文件是用于保存应用程序的图标、应用程序信息以及其他资源信息,扩展名为’.res’,资源文件是二进制数据,在编译时,编译器会自动将这些资源链接到应用程序的可执行文件中去,要把资源加入到应用程序中,首先要创建一个单独的资源文件(图像文件,图标文件,光标文件等),然后将这个文件链接到项目中去。
7、应用程序文件(.dll .exe .ocx)
读者可能已经熟悉了几种基本类型的应用程序文件,Delphi都能够创建所有种类的应用程序文件,包括动态链接库(.dll),可执行文件(.exe),Activex组件(.ocx)因为以前ActiveX支持的是OLE命名规范
其实每一种文件都代表一种终端产品,又经过编译和链接的代码组成,可执行应用程序是单独运行的程序或进程服务器,动态链接库代表资源文件或进程内服务器,而ActiveX组件是用于建立其他程序的支持性组件
8、 配置与选项文件(.dof)
当改动Project Option设置时,Delphi把改动存储在一一个 具有.dof扩展名的文件中,当所做的改动影响到了应用程序的编译方式时,这些改动将以文本形式存储到.cfg文件中或配置文件中。
实际上分别生成了几个文件来存储配置、选项和其他类型的信息。如果在Help Topics对话框的[Find]属性页中查找[Generated Files],即可得到关于存储项目信息的所有生成文件的信息。大部分情况下,Delphi 自动管理这些文件。请勿刪除它们。

提示:无须记住所有的文件及其作用,只需记住一条规则:只能删除扩展名中带有~(波浪线)的文件,.dcu文件或者不需要的文件

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Delphi是一种编程语言和集成开发环境,它提供了读写XML文件的功能。在Delphi中,可以使用TXMLDocument组件来处理XML文件。 要读取XML文件,首先需要在代码中创建TXMLDocument对象,并通过其LoadFromFile方法将XML文件加载到内存中。加载完成后,可以通过访问TXMLDocument对象的DocumentElement属性来获取XML文件的根元素。使用DocumentElement属性返回的是一个IXMLNode接口类型的对象,可以通过其子节点和属性来访问XML文件中的数据。 对于写入XML文件,同样需要创建TXMLDocument对象,并通过其LoadFromFile方法加载或创建一个XML文件。然后,可以通过代码中的赋值或添加子节点的方式来设置XML文档的结构和数据。最后,使用TXMLDocument对象的SaveToFile方法将修改后的XML文档保存到磁盘上。 在读写XML文件时,可能还需要使用到IXMLNode接口的其他方法和属性。例如,使用ChildNodes属性可以获取当前节点的所有子节点,使用Attributes属性可以获取当前节点的所有属性,使用Text属性可以获取或设置当前节点的文本内容。 除了基本的读写功能,Delphi还提供了其他用于处理XML的组件和库函数。例如,可以使用XPath来定位XML文件中的节点,使用XSLT进行XML数据的转换,使用XMLDataBinding创建与XML结构对应的对象模型等等。 总的来说,Delphi提供了丰富和方便的功能来读写XML文件,使开发人员可以轻松地处理XML数据。无论是对于简单的XML文件操作还是复杂的XML数据处理,都可以通过Delphi的强大的XML处理功能来实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值