delphi中unit单元文件说明
单元(unit)是组成Pascal程序的单独的源代码模块,单元有函数和过程组成,这些函数和过程能被主程序调用。一个单元至少要有unit语句,interface,和implementation三部分,也能可选的包含initialization和finalization两部分:
一、必含部分
1、unit语句
每一个单元都必须在开头有这样一条语句,以标识单元的名称,单元的名称必须和文件名相匹配。例如,如果有一个文件名为FooBar,则unit语句可能是:
unit FooBar;
2、 interface部分
在unit语句后的源代码必须是interface语句。在这条语句和implementation语句之间是能被程序和其他单元所共享的信息。一个单元的interface部分是声明类型、常量、过程和函数的地方,这些都能被主程序和其他单元调用。这里只能有声明,而不能有过程体和函数体。interface语句应当只有一个单词且在一行:
interface
3、implementation部分
它在interface部分的后面。虽然单元的implementation包含了过程和函数的源代码,但它同时也允许在此声明不被其他单元所调用的任何数据类型、常量和变量。implementation是定义在interface中声明的过程和函数的地方,implementation语句只有一个单词并且在一行上:
implementation
二、可选部分
4、initialization部分
在单元中它放在文件结尾前,它包含了用来初始化单元的代码,它在主程序运行前运行并只运行一次。
5、finalization部分
在单元中它放在initialization和end之间。finalization部分包含用于退出过程的代码
注意:如果几个单元都有initialization/finalization部分,则它们的执行顺序与单元在主程序的users子句中的出现顺序一致。不要使initialization/finalization部分的代码依赖于它们的执行顺序,因为这样的话主程序的users子句只要有小小的修改就会导致程序无法通过编译。
-----------------------------------------------------------------
unit Unit1;
interface
{接口部分开始}
uses
{引用单元列表,这是可选的,如果包含必须紧跟interface关键字}
{接口部分声明常量/类型/变量/过程和函数,这些声明对引用单元就像自己的声明一样}
{在接口部分声明的过程和函数,就像使用了forward关键字}
{接口部分结束}
implementation
{实现部分}
uses
{如果包含uses字句,必须紧跟关键字implementation}
{在这里实现interface中定义的过程和函数,可以任意顺序的定义和调用.}
{在这里可以省略过程和函数的列表,如果包括,必须一样.}
{可以定义单元私有的常量/类型(包括类)/变量/过程和函数,但这些对引用单元的客户是不可见的}
{$R *.dfm}
{如果是对应窗体的单元文件,会有这句. $R 指令用于加载一个外部资源文件, 这里是指加载同名的窗体文件一起编译.}
initialization
{初始化部分}
{程序启动时先执行,并顺序执行}
{一个单元的初始化代码运行之前,就运行了它使用的每一个单元的初始化部分}
finalization
{结束化部分,程序结束时执行}
end.
-----------------------------------------------------------------
转自:https://www.cnblogs.com/karkash/p/9436610.html
https://blog.csdn.net/qq_33577118/article/details/118113023
delphi中unit单元文件说明的更多相关文章
- delphi中如何实现文件的复制?
http://zhidao.baidu.com/link?url=nyAzCpeXAbaT8M3qqAePCF1Zr7q-oK4hpAUNIaRYpHcbmIwYsLr1TXoTt8759HtR1EB ...
- delphi中的各种文件类型介绍【转】
1.DPR: Delphi Project文件,包含了Pascal代码.应用系统的工程文件2.PAS: Pascal文件,Pascal单元的源代码,可以是与窗体有关的单元或是独立的单元.3.DFM:D ...
- delphi中的各种文件类型介绍
1.DPR: Delphi Project文件,包含了Pascal代码.应用系统的工程文件2.PAS: Pascal文件,Pascal单元的源代码,可以是与窗体有关的单元或是独立的单元.3.DFM:D ...
- 在Delphi中编写res文件
delphiimagedosinterfaceborland脚本先用记事本编写一个rc的文件. 如内容为: _Comms RCData Comms.jpg Comms.jpg为图片名称, 然后在这个r ...
- 在Delphi中编辑res文件
先用记事本编写一个rc的文件.如内容为:_Comms RCData Comms.jpg Comms.jpg为图片名称,然后在这个rc文件和图片拷贝到delphi安装路径的bin文件夹里面,选中这两个文 ...
- 问题-Delphi编译时提示缺少delphi自己的单元文件
问题现象:在编译工程是,提示缺少DELPHI自己的很多单元. 问题原因:这可能是因为手动误删除,或是第三方控件安装时误删除DELPHI自己的目录引起的(如果说错了,希望高人指点). 问题处理: 方法一 ...
- delphi中无类型文件读写
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...
- Delphi 中调用JS文件中的方法
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...
- 用DELPHI中实现RAR文件解压到指定一目录
一个RAR压缩文件,用DELPHI编的程序打开它并解压到某一目录,怎么实现的?自己搞定了例子:winrar.exe e -y C:\WINDOWS\Desktop\ghost.rar d:\ 但新的问 ...
- 在Delphi中通过OLE方式写Excel文件
报表的打印是每个项目都会遇到的问题.由于报表格式要求五花八门,往往又同时要求打印格式可方便调整.作为一种替代方法,可以将需要打印的报表导出到Excel/Word,打印交给Office去吧.由于Offi ...
随机推荐
- C# 开发的数据采集及云端监控系统
前言 推荐C#语言开发的堤坝渗透地质数据采集及云端监控系统.希望本文能够为大家提供有价值的信息和参考. 项目介绍 使用数十个 .NET 客户端控制硬件设备进行工作,采集数据并进行处理. 管理人员通过 ...
- webpack打包提示: Uncaught Error: Cannot find module 'strip-ansi'
运行webpack-dev-server的时候,可以正常启动服务,但是Terminal控制台报错,如下: ERROR in ./node_modules/webpack-dev-server/clie ...
- java三次大作业的全面总结
一:前言 知识点总结: 数据结构:题目涉及到了字典或哈希表用于存储题目信息.试卷信息和学生信息:列表用于存储多个题目.试卷和学生的集合:对象用于封装题目.试卷.学生和答案的具体属性. 字符串解析:题目 ...
- Mysql 通用分页
第一步,建立数据库: create table student( id int primary key auto_increment, code varchar(50), name varchar(5 ...
- phpstorm之代码质量工具
在进行php开发的时候, 经常由于编码上的不规范导致了隐藏的bug,这里介绍代码质量工具 PHP CodeSniffer: phpcs [安装] composer require squizla ...
- vue3 + pnpm 打造一个 monorepo 项目
Monorepo 和 Multirepo 单一仓库(Monorepo)架构,可以理解为:利用单一仓库来管理多个packages的一种策略或手段:与其相对的是多仓库(Multirepo)架构 Monor ...
- Vue.js 组件数据交互
1.前言 本节讲述组件之间如何进行数据交互 2.props属性与非 prop 的属性 父组件通过属性绑定的形式传值给子组件,这种传值分2种 类别 含义 说明 props 子组件本身已经通过props定 ...
- 【C++】static 知识整理 【静态与局部静态】
目录 类外 类内 局部静态 local static 类外 类内 类外 C++的静态可以分为两种情况来讨论:在类外和在类内. 对于静态变量/函数,链接将只在内部 (如果不用static,那么在不同文件 ...
- 树莓派设置CPU运行的核心数为3,保留核心4号
具体步骤:1.打开终端,输入 sudo nano /boot/cmdline.txt2.在第一行最后空一格加上isolcpus=33.保存
- node + vue 实现服务端单向推送消息,利用EventSource
场景:后台系统需要实时收到电池报警消息,并语音提醒,前台不需要发送任何东西,所以想的是,服务端单向推送 1. 实现EventSource参考博客: https://www.jqhtml.com/412 ...