当前位置: 首页 > news >正文

Delphi的函数指针传递和调用

delphi中可以通过函数指针把一个函数作为参数来传递,然后在另外一个函数中调用。
1、首先,申明函数指针类型TFunctionParameter。
        type   TFunction = function(const value : integer) : string;
2、定义准备被作为参数传递的函数
          function Opcname(const value : integer) : string;
          begin
              result := IntToStr(value) ;
          end;
          function TsnName(const value : integer) : string;
          begin
              result := IntToStr(2 * value) ;
          end;
3、定义将要使用动态函数指针参数的函数
         function DynamicFunction(f : TFunction ; const value : integer) : string;
         begin
             result := f(value) ;
         end;
4、上面这个动态函数的使用实例
         var
             s : string;
         begin
             s := DynamicFunction(Opcname,2333) ;
             ShowMessage(s) ; //will display "2333"
             s := DynamicFunction(TsnName,1111) ;
             ShowMessage(s) ; // will display "2222"
         end;

以上实例测试正常,可以在delphi xe的所有版本执行测试通过

相关文章:

  • Java实现简单图书操作系统思路讲解
  • SpringBoot MVC使用Gson,序列化LocalDate,LocalDateTime
  • 戴尔G3-3579改固态散热
  • C3P0和Druid数据库连接池的使用
  • 2022中国消费者智能网联汽车数据安全和个人隐私意识与顾虑调查报告
  • Java 大文件分片上传
  • Redis未授权访问漏洞
  • Java 修饰符 private、default、protected、public 的应用实例 (方法)
  • Java 多线程:锁(一)
  • VMware 搭建linux操作系统,入门必看
  • 2022牛客多校(三)
  • 阿里云服务器和腾讯云服务器哪个更好?多维度对比得出了结论
  • sqli-labs(less-1)
  • 【Ubuntu】gcc与Makefile操作
  • Python零基础入门篇 · 21】:构造函数、类属性和实例属性的访问
  • 07.Android之多媒体问题
  • iOS 颜色设置看我就够了
  • JAVA SE 6 GC调优笔记
  • JavaScript中的对象个人分享
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • SpiderData 2019年2月13日 DApp数据排行榜
  • TypeScript迭代器
  • windows-nginx-https-本地配置
  • 机器学习 vs. 深度学习
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 巧用 TypeScript (一)
  • 微信小程序开发问题汇总
  • 学习笔记TF060:图像语音结合,看图说话
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • 原生Ajax
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (已解决)vue+element-ui实现个人中心,仿照原神
  • .Net Core webapi RestFul 统一接口数据返回格式
  • .net core控制台应用程序初识
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .NET Standard / dotnet-core / net472 —— .NET 究竟应该如何大小写?
  • .NET 反射的使用
  • .NET的微型Web框架 Nancy
  • .Net多线程总结
  • .net获取当前url各种属性(文件名、参数、域名 等)的方法
  • //解决validator验证插件多个name相同只验证第一的问题
  • @Bean有哪些属性
  • @ModelAttribute 注解
  • @SuppressWarnings(unchecked)代码的作用
  • [ C++ ] STL---stack与queue
  • [1525]字符统计2 (哈希)SDUT
  • [2008][note]腔内级联拉曼发射的,二极管泵浦多频调Q laser——
  • [2013AAA]On a fractional nonlinear hyperbolic equation arising from relative theory
  • [2024] 十大免费电脑数据恢复软件——轻松恢复电脑上已删除文件
  • [autojs]autojs开关按钮的简单使用
  • [EULAR文摘] 脊柱放射学持续进展是否显著影响关节功能