`
webcode
  • 浏览: 6079979 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

如何在程序中使用自己的库单元

阅读更多

用过VB的人都知道,可以在工程中增加类模快来存放共用方法,而在delphi中如何也能与VB一样存放自己的类呢?通过下面的讲解,我想你一定会有所收获的。
一,在工程中增加一个库单元
单击菜单的顺序为 File -> New -> Unit 这样就为你的工程增加了一个库单元。新增加的库单元内容如:

unit global;//库单元的名字

interface
file://<---这里加入选择性库单元列表
implementation

end.

二,在库单元中增加自己的类
在Object Pascal中,用关键字Class来声明类。使用如下语法:

Type
CTestclass = class file://定义一个类,命名规律自己看一看delphi相关的命名规律
end;

当然,这段代码,没有什么实际用途,只是仅仅声明了一个空类,而类在没有任何的数据和操作,在下面我们可以向类中添加数据和方法。

Type
CTestclass = class
Tmessage:String;
Procedure SetText(text:String);
Function GetText:String;
end;

类的函数成员和过程成员成为类的方法。他们的说明和定义方法与普通的函数和过程相似,唯一的区别是要在函数名和过程名前面加类名和句点。
Procdeure CTestclass.SetText(text:String);
Begin
Tmessage:=text;
end;

Function CTestclass.GetText:String;
Begin
GetText:=Tmessage;
end;

这样一个简单的类就编写完成了,你可以按下面所讲的步骤进行调用。
将上面的代码整理一下,这个库单元的完整代码如下:

unit global;//库单元的名字

interface file://接口部分
uses
windows;//需要引用的其它库单元列表
Type file://接口类型定义
CTestclass = class
Tmessage:String;
Procedure SetText(text:String);
Function GetText:String;
end;

implementation

Procdeure CTestclass.SetText(text:String);
Begin
Tmessage:=text;
end;

Function CTestclass.GetText:String;
Begin
GetText:=Tmessage;
end;

end.


三,调用自定义库单元文件(或其它库单元)中的方法
在你需要引用的文件uses处,添加你自己的库单元的名称

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, global; file://注意这里的global是你自己写的库单元的名称

一旦在uses部分引用了你的库单元,就可以按如下进行调用:
Var
Tclass:CTestclass;
这样一来就可以如当前文件中的窗体类一样调用了。完整代码如下:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, global;

type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
Tclass:CTestclass; file://你要增加的类的引用声明

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
Tclass.Create;
Tclass.SetText('这是一个类的测试');
showmessage(Tclass.GetText); file://此处是对你自己写的类的一个测试
end;

end.

好了,在你的计算机中输入完上面的代码后,运行试一试吧。这里只是对库单元的引用举了一个简单例子,关于详细写法请参看相关书籍中对库单元及类编程的讲述。

分享到:
评论

相关推荐

    新利用驱动程序和桩程序进行单元测试

    在Java中,可以使用Mockito、EasyMock等库来创建桩对象,使得测试更加可控和隔离。 单元测试的步骤通常包括: - **设置(Setup)**:在每个测试开始前,准备必要的测试环境,如初始化数据、创建对象等。 - **执行...

    有限单元法及程序设计(VB程序设计)

    在实现有限单元法程序时,需要利用VB的数组、循环、条件判断等编程语句构建算法,同时可能需要使用矩阵运算库来进行大规模的数值计算。 7. **数据输入与输出**:程序需要能够读取用户输入的几何尺寸、材料属性和...

    Delphi库单元结构

    `,这些常量可以在整个程序中使用。 - **var**:声明全局变量,如`Form1: TForm1; X: integer;`,这些变量在整个单元内可见。 - **function 和 procedure**:声明函数和过程,但不提供它们的实现,如`Function...

    windows访问uvc摄像头扩展单元api库

    在本项目中,我们关注的是如何通过API库来访问UVC摄像头的扩展单元。 UVC扩展单元(Extension Units)是UVC规范中的一部分,它允许摄像头制造商添加自定义的功能,这些功能超出了标准视频流之外,如特殊效果、图像...

    VHDL的库、程序包和配置.ppt

    其中,程序包名就是实际设计要使用的库中的设计单元;all 表示使用程序包中的所有项目。 2. 形式二: Library 库名; Use 库名 . 程序包名 ; 其中,程序包名就是实际设计要使用的库中的设计单元。 3. 形式三: ...

    《MCS-51单片机实用子程序库》

    - 多字节定点操作数存储在由R0或R1指示的连续内存单元中,其中地址较小的单元存放数据的高字节。 - 运算精度确保了结果的最低位相当于实际数值的当量值。 - 工作区主要使用PSW、A、B、R2到R7这些寄存器,用户需...

    有限单元法-二维三角形单元Python程序.zip

    在本压缩包文件“有限单元法-二维三角形单元Python程序.zip”中,我们可以深入探讨如何使用Python实现二维有限单元法,特别是在解决平面应力和平面应变问题上。 首先,我们要理解二维三角形单元在有限单元法中的...

    成品库与码垛机单元(绝对位置)程序

    对生产线成品库与码垛机单元(绝对位置)控制进行了程序的编写.是对加工流程的一个单元的编写.

    Abaqus子程序编写(多节点杆单元).rar_ABAQUS_Abaqus子程序编写(多节点杆单元)_abaqus子程序

    3. **单元属性**:在Abaqus的输入文件中,需要指定使用用户自定义的单元,并链接到相应的子程序。这包括定义单元类型、设置材料属性、指定子程序名称等。 4. **编译和链接**:编写完成后,需要将Fortran源代码编译...

    使用libxl库读取excel文件

    在程序中读取excel文件比如XLS和XLSX,方法有很多,比如ADO,OLE,ODBC等方式。但是这些方法要么依赖于平台,要么读取速度慢,有的甚至需要电脑本身装有excel程序。 但是有一个付费的商业软件库Libxl,属于轻量化的...

    微信小程序组件库封装easyUI-master.zip

    - `example`:示例代码,展示了如何在小程序中使用这些组件。 - `docs`:文档说明,解释组件的用法、属性、事件等。 - `lib`:编译后的库文件,用于实际项目引用。 - `package.json`:项目配置文件,包含了项目...

    51单片机实用定点子程序库

    《MCU-51 实用定点子程序库》是一份专为51系列单片机设计的编程资源,旨在提供一系列可以直接在51单片机项目中使用的预编译子程序。这些子程序主要处理定点数据,即不带小数点的整数,这对于在资源有限的嵌入式系统...

    西门子802DPLC子程序库说明.rar

    4. **子程序示例**:提供实际的编程例子,演示如何在实际应用中使用这些子程序,以及如何根据需求进行修改。 5. **错误处理**:关于如何在子程序中加入错误检查和处理机制,以确保系统稳定运行。 6. **调用和连锁*...

    对WinForm进行单元测试的例子(使用NUnitForms)

    本文将深入探讨如何使用NUnitForms库来对WinForm应用程序进行单元测试,特别是针对模态对话框的测试。WinForm是.NET Framework中的一个用户界面库,而NUnitForms则是一个专门用于测试WinForm组件的工具。 首先,...

    语音库制作程序,C++实现

    在IT领域,语音库制作程序是用于生成和处理语音数据的重要工具,特别是在语音合成(TTS,Text-to-Speech)技术中。C++是一种强大的编程语言,被广泛用于开发高性能的应用程序,包括复杂的音频处理软件。本文将深入...

    单片机学习实用子程序库

    1. 多字节定点操作数存储在R0或R1指示的连续单元中,低地址单元存放高位字节。 2. 运算精度:单次运算的精度为结果最低位的当量值。 3. 工作区:使用PSW、A、B、R2~R7作为数据工作区,避免在此区域内存放无关或持久...

    ansys matrix27单元详解

    Matrix27单元源于ANSYS的矩阵库,其名称中的“27”指的是单元内部的自由度数量。这种单元允许用户自定义单元刚度矩阵,通过设置局部坐标系统和节点自由度来构建复杂的单元行为。Matrix27单元的主要优势在于能够处理...

Global site tag (gtag.js) - Google Analytics