使用 {$INCLUDE} 或 {$I} 指令管理和调用自定义函数

这是一个简单、方便而又实用的小技巧. 譬如这段代码中有四个定义函数: MyAdd、MyDec、MyMul、MyDiv


unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

//譬如下面四个自定义函数 *****************************
function MyAdd(const a,b: Integer): Integer;
begin
  Result := a + b;
end;

function MyDec(const a,b: Integer): Integer;
begin
  Result := a - b;
end;

function MyMul(const a,b: Integer): Integer;
begin
  Result := a * b;
end;

function MyDiv(const a,b: Integer): Integer;
begin
  Result := a div b;
end;
//****************************************************

//调用测试
procedure TForm1.FormCreate(Sender: TObject);
const
  x = 8;
  y = 2;
begin
  ShowMessageFmt(‘%d,%d,%d,%d‘,[MyAdd(x,y), MyDec(x,y), MyMul(x,y), MyDiv(x,y)]);
  {显示结果: 10,6,16,4}
end;

end.


我们可以把其中的自定义函数(也可以是其他代码)剪切保存在一个文本文件中(譬如是: C:\DelphiFun\MyFun.inc);

然后在原来代码的位置用 {$INCLUDE C:\DelphiFun\MyFun.inc} 或 {$I C:\DelphiFun\MyFun.inc} 再引入即可(可以使用相对路径).

下面是使用后的代码:


unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{$I C:\DelphiFun\MyFun.inc}

//调用测试
procedure TForm1.FormCreate(Sender: TObject);
const
  x = 8;
  y = 2;
begin
  ShowMessageFmt(‘%d,%d,%d,%d‘,[MyAdd(x,y), MyDec(x,y), MyMul(x,y), MyDiv(x,y)]);
  {显示结果: 10,6,16,4}
end;

end.


另外: 引入 C 语言的 obj 文件是用 {$L 路径} 指令完成的.


使用 {$INCLUDE} 或 {$I} 指令管理和调用自定义函数,布布扣,bubuko.com

时间: 2024-08-24 16:32:01

使用 {$INCLUDE} 或 {$I} 指令管理和调用自定义函数的相关文章

如何在sqlite3连接中创建并调用自定义函数

#!/user/bin/env python # @Time :2018/6/8 14:44 # @Author :PGIDYSQ #@File :CreateFunTest.py '''如何在sqlite3连接中创建并调用自定义函数''' import sqlite3,hashlib #自定义函数 def md5sum(t): return hashlib.md5(t).hexdigest() #在内存中创建临时数据库 conn = sqlite3.connect(":memory:"

hibernate中HQL调用自定义函数 .

在编写hql语句时,如果使用自定义的函数,hql在编译过程中将无法编译通过,这时我们需要重写下dialect方言类,这里我的oracle是10,可以根据自己的oracle版本继承不同的oracle方言类. 解决错误的步骤:     一.重写dialect类,如Oracle10gDialect     二.修改hibernate的配置文件,将默认的方言类,改成我们重写的方言类 ---------------数据库函数WX_F_GET_PARTYSTR 输入number输出varchar2-----

FastReport调用Delphi中的自定义函数

//定义一个函数: function SmallToMoney(akey: real): string; begin   //'1234500' end; //此处为fastreport加载自定义函数以便引用 procedure Tprint_from.FormCreate(Sender: TObject);begin  frxReport1.AddFunction('function SmallToMoney(akey: real): string;', 'Myfunction', '函数功能

VC与JavaScript交互(二) ———— 调用JS函数

这一章,我们来动手实践VC调用JS函数. 我们动手写一个HTML,其中包含这样一段JS代码: [html] view plaincopy <script type="text/javascript"> function Add(value1, value2) { return value1 + value2; } </script> 然后我们用WebBrowser加载这个HTML后,在VC中这样来调用这个函数名为Add的JS函数: [cpp] view plai

调用malloc()函数之后,内核发生了什么?附malloc()和free()实现的源代码

特此声明:本文参照了另外一篇文章和一个帖子,再结合自己的理解总结了malloc()函数的实现机制. 我们经常会在C程序中调用malloc()函数动态分配一块连续的内存空间并使用它们.那么,这些用户空间发生的事会引发内核空间什么样的反应呢? malloc()是一个API,这个函数在库中封装了系统调用brk.因此如果调用malloc,那么首先会引发brk系统调用执行的过程.brk()在内核中对应的系统调用服务例程为SYSCALL_DEFINE1(brk, unsigned long, brk),参数

关于在C++中调用system函数

先看看下面的这一段程序: #include <iostream> #include <cstdlib> int main(int argc, char* argv[]) { std::cout << "Hello world!" << std::endl; std::system("pause");     //让程序暂停 return 0; } 然后呢,再来讲几段背景知识. 背景知识1:字符界面 话说十几二十年前,一

【VS开发】MFC中调用C函数模块的解决方案

[VS开发]MFC中调用C函数模块的解决方案 标签(空格分隔): [VS开发] 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 说明:最近调试基于MFC的程序,当通过外部C文件引入某个function的时候,又一次忘记了C文件与C++文件的区别,直接按照一般的方式,将函数声明放入头文件,将函数定义放入C文件,然后再MFC中通过包含头文件来引用对应的function,然而爆出了链接时无法定位的错误,本文就来梳理一下C++中调用C中功能函数的方法. 首先在C

DedeCMS搜索结果页面调用自定义字段的方法

有时候在我们需要在dedecms的搜索结果页面调用自定义字段,尤其是在做下载站的时候,需要在搜索结果页调用软件大小以及软件等级等等,但是我们发现在搜索结果页模板中使用"[field:字段名]"标签无法正确调用,就算添加了列表附加字段也不行.这里,织梦58就教大家如何在搜索结果页调用自定义字段,具体方法及步骤如下:找到并打开include目录下的extend.func.php文件,在文件末尾添加如下代码: 1 function Search_addfields($id,$result){

我的第一个调用Intrinsics函数的程序

TestSSE.cpp #include "counter.h" #include <intrin.h> #include <stdlib.h> #include <math.h> /* 标题:我的第一个调用Intrinsics函数的程序 所属项目名称:TestSSE 项目类型:Win32控制台项目 依赖:counter.h文件//提供计时功能 描述:以前需要使用汇编对CPU的指令集进行优化,现在可以直接使用Intrinsic函数达到类似效果, 可读