理解delphi项目和单元源文件

简而言之,Delphi项目只是组成由Delphi创建的应用程序的文件集合。DPR是用于Delphi项目文件格式的文件扩展名,用于存储与项目相关的所有文件。这包括其他Delphi文件类型,如表单文件(DFM)和单元源文件(.PASs)。...

简而言之,Delphi项目只是组成由Delphi创建的应用程序的文件集合。DPR是用于Delphi项目文件格式的文件扩展名,用于存储与项目相关的所有文件。这包括其他Delphi文件类型,如表单文件(DFM)和单元源文件(.PASs)。

File Folders in storage

由于Delphi应用程序共享代码或以前定制的表单非常常见,因此Delphi将应用程序组织到这些项目文件中。该项目由可视化界面以及激活该界面的代码组成。

每个项目都可以有多个窗体,用于构建具有多个窗口的应用程序。表单所需的代码存储在DFM文件中,该文件还可以包含可由所有应用程序表单共享的通用源代码信息。

除非使用包含程序图标和版本信息的Windows资源文件(RES),否则无法编译Delphi项目。它还可能包含其他资源,如图像、表格、光标等。RES文件由Delphi自动生成。

注意:以DPR文件扩展名结尾的文件也是Bentley Digital InterPlot程序使用的数字InterPlot文件,但它们与Delphi项目无关。

dpr文件

DPR文件包含用于构建应用程序的目录。这通常是一组简单的例程,用于打开主窗体和设置为自动打开的任何其他窗体。然后,它通过调用全局应用程序对象的Initialize、CreateForm和Run方法来启动程序。

TApplication类型的全局变量应用程序位于每个Delphi Windows应用程序中。应用程序封装了您的程序,并提供了在软件后台出现的许多功能。

例如,应用程序处理如何从程序菜单调用帮助文件。

DPROJ是Delphi项目文件的另一种文件格式,但它以XML格式存储项目设置。

pas文件

PAS文件格式保留用于Delphi单元源文件。您可以通过项目查看当前项目的源代码>查看源代码菜单。

尽管您可以像阅读任何源代码一样阅读和编辑项目文件,但在大多数情况下,您可以让Delphi维护DPR文件。查看项目文件的主要原因是查看组成项目的单元和表单,以及查看哪个表单被指定为应用程序的“主”表单。

使用项目文件的另一个原因是创建DLL文件而不是独立应用程序时。或者,如果您需要一些启动代码,例如在Delphi创建主窗体之前的启动屏幕。

这是新应用程序的默认项目文件源代码,该应用程序有一个名为“Form1:”的表单:

program Project1;uses Forms, Unit1 in 'Unit1.pas' {Form1};{$R *.RES}begin Application.Initialize; Application.CreateForm(TForm1, Form1) ; Application.Run; end.

下面是对PAS文件每个组件的说明:

“程序”

此关键字将此单元标识为程序的主要源单元。您可以看到,单元名称“Project1”紧跟在program关键字之后。Delphi为项目提供默认名称,直到您将其另存为其他名称。

从IDE运行项目文件时,Delphi使用项目文件的名称作为其创建的EXE文件的名称。它读取项目文件的“uses”子句以确定哪些单元是项目的一部分。

“{$R*.RES}”

DPR文件通过编译指令{$R*.RES}链接到PAS文件。在本例中,星号表示PAS文件名的根,而不是“任何文件”。此编译器指令告诉Delphi包含此项目的资源文件,如其图标图像。

“开始和结束”

“开始”和“结束”块是项目的主要源代码块。

“初始化”

虽然“Initialize”是在主源代码中调用的第一个方法,但它不是在应用程序中执行的第一个代码。应用程序首先执行应用程序使用的所有单元的“初始化”部分。

“Application.CreateForm”

“Application.CreateForm”语句加载其参数中指定的表单。Delphi为包含的每个表单向项目文件中添加Application.CreateForm语句。

这段代码的任务是首先为表单分配内存。报表按表单添加到项目中的顺序列出。这是在运行时在内存中创建表单的顺序。

如果要更改此顺序,请不要编辑项目源代码。相反,请使用项目>选项菜单。

“应用程序运行”

“Application.Run”语句启动应用程序。此指令告诉名为Application的预声明对象开始处理程序运行期间发生的事件。

隐藏主窗体/任务栏按钮的示例

应用程序对象的“ShowMainForm”属性决定窗体是否在启动时显示。设置此属性的唯一条件是必须在“Application.Run”行之前调用它。

//Presume: Form1 is the MAIN FORM Application.CreateForm(TForm1, Form1) ; Application.ShowMainForm := False; Application.Run;

  • 发表于 2021-09-06 15:15
  • 阅读 ( 172 )
  • 分类:IT

你可能感兴趣的文章

如何将媒体文件嵌入delphi可执行文件(rc/.res)(embed media files into a delphi executable (rc/.res))

...止其他人操纵这些加载项文件。 本文将向您展示如何在Delphi可执行文件中嵌入(和使用)声音文件、视频剪辑、动画以及更一般的任何类型的二进制文件。对于最通用的用途,您将看到如何将MP3文件放入Delphi exe中。 资源文...

  • 发布于 2021-09-06 15:08
  • 阅读 ( 190 )

delphi编译器版本指令

如果您计划编写可以与多个版本的Delphi编译器一起使用的Delphi代码,您需要知道您的代码是在哪个版本下编译的。 假设您正在编写自己的商业自定义组件。组件的用户可能具有与您不同的Delphi版本。如果他们试图重新编译组...

  • 发布于 2021-09-06 15:09
  • 阅读 ( 161 )

了解delphi编程的基础知识

希望掌握Delphi编程语言的初学者应该已经熟悉Microsoft Windows的基础知识。学习Delphi是最容易的,如果你从一个有指导的、基于教程的参考框架来学习它。 基本概念 从一堂历史课开始,介绍(Turbo)Pascal到Delphi 2005的演变,例...

  • 发布于 2021-09-06 15:13
  • 阅读 ( 181 )

在delphi的tdbgrid中显示和编辑备注字段

...德 备注字段用于表示长文本或文本与数字的组合。使用Delphi构建数据库应用程序时,TMemoField对象用于表示数据集中的备注字段。TMemoField封装了包含文本数据或任意长度的字段的基本行为。在大多数数据库中,备注字段的大小受...

  • 发布于 2021-09-10 20:47
  • 阅读 ( 163 )

德尔福单元剖析(德尔福初学者版)

如果您打算成为一名优秀的Delphi程序员,那么“接口”、“实现”和“使用”等词需要在您的编程知识中占有特殊的位置。 德尔福项目 当我们创建一个Delphi应用程序时,我们可以从一个空白项目、一个现有项目或Delphi的一...

  • 发布于 2021-09-10 20:53
  • 阅读 ( 180 )

如何构建没有gui的控制台应用程序(build console applications with no gui)

...除选定的单元。 选择项目>查看源代码。 编辑项目源文件:•删除begin和end中的所有代码。•在uses关键字之后,将表单单元替换为SysUtils。•将{$APPTYPE CONSOLE}放在program语句的正下方。 您现在只剩下一个非常小的程序,...

  • 发布于 2021-09-10 22:34
  • 阅读 ( 250 )

用delphi和ado编辑excel表格

...,以及如何处理这些错误。 以下内容包括: Excel和Delphi之间的数据传输方法。如何使用ADO(ActiveX数据对象)和Delphi连接Excel。 使用Delphi和ADO创建Excel电子表格编辑器 从Excel中检索数据。如何在Excel工作簿中引用表(或范围)...

  • 发布于 2021-09-11 00:21
  • 阅读 ( 238 )

优化delphi程序的内存使用

...活动,最终降低计算机的速度。 02 2006年 何时在delphi应用程序中创建表单 假设您要设计一个包含主窗体和两个附加(模态)窗体的程序。通常,根据您的Delphi版本,Delphi将把表单插入到项目单元(DPR文件)中,并包...

  • 发布于 2021-09-15 03:43
  • 阅读 ( 198 )

理解delphi中的内存分配

从代码中调用函数“DoStackOverflow”一次,您将得到Delphi引发的EStackOverflow错误,并显示消息“stack overflow”。 ​function DoStackOverflow : integer; begin result := 1 + DoStackOverflow; end; 这个“堆栈”是什么?为什么使用上面的代码会...

  • 发布于 2021-09-15 03:47
  • 阅读 ( 190 )

delphi中的基本剪贴板操作(剪切/复制/粘贴)

...或图形的容器。本文将向您展示如何使用TClipboard对象在Delphi应用程序中实现剪切复制粘贴功能。 一般剪贴板 您可能知道,剪贴板一次只能保存一段相同类型的数据进行剪切、复制和粘贴。如果我们以相同的格式将新信息发...

  • 发布于 2021-09-15 03:52
  • 阅读 ( 273 )
mqu1806
mqu1806

0 篇文章

相关推荐