zoukankan      html  css  js  c++  java
  • 使用 {$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 路径} 指令完成的.

  • 相关阅读:
    python爬虫面试总结
    Android 开发之避免被第三方使用代理抓包
    类的惰性属性
    [转载]Python: 你不知道的 super
    转 白话解析:一致性哈希算法 consistent hashing
    转 appium解决每次运行都需要安装Unlock以及AppiumSetting的问题
    233
    windows中Appium-desktop配合夜神模拟器的使用
    CentOS 6.4 添加永久静态路由所有方法汇总(原创)
    牛逼的lsof命令!!!
  • 原文地址:https://www.cnblogs.com/del/p/1215076.html
Copyright © 2011-2022 走看看