随笔分类 - delphi技术文章
摘要:Delphi的四舍五入函数一、四舍五入法 四舍五入是一种应用非常广泛的近似计算方法,其有算术舍入法和银行家舍入法两种。 所谓算术舍入法,就是我们通常意义上的四舍五入法。其规则是:当舍去位的数值大于等于5时,在舍去该位的同时向前位进一;当舍去位的数值小于5时,则直接舍去该位。 所谓银行家舍入法,其实质是一种四舍六入五留双(又称四舍六入五奇偶)法。其规则是:当舍去位的数值小于5时,直接舍去该位;当舍去位的数值大于等于6 时,在舍去该位的同时向前位进一;当舍去位的数值等于5时,如果前位数值为奇,则在舍去该位的同时向前位进一,如果前位数值为偶,则直接舍去该位。 综上所述,两种舍入法所得结果不尽一致,.
阅读全文
摘要:使用多线程技术可以显著地提高程序性能,本文就讲讲在程序中如何使用工作线程,以及工作线程与主线程通讯的问题。 一 创建线程 使用MFC提供的全局函数AfxBeginThread()即可创建一个工作线程。线程函数的标准形式为 UINTMyFunProc(LPVOID );此函数既可以是全局函数,也可以是类的静态成员函数。之所以必须是静态成员函数,是由于类的非静态成员函数,编译器在编译时会自动加上一个this指针参数,如果将函数设置为静态的成员函数,则可以消除this指针参数。如果想在线程函数中任意调用类的成员变量(此处指的是数据成员,而不是控件关联的成员变量),则可以将类的指针作为参数传递给线程.
阅读全文
摘要:Delphi 的RTTI机制浅探目录===============================================================================⊙ RTTI 简介⊙ 类(class) 和 VMT 的关系⊙ 类(class)、类的类(class of class)、类变量(class variable) 的关系⊙ TObject.ClassType 和 TObject.ClassInfo⊙ is 和 as 运算符的原理⊙ TTypeInfo – RTTI 信息的结构⊙ 获取类(class)的属性(property)信息⊙ 获取方法(method)
阅读全文
摘要:Delphi中的动态包 为什么要使用包? 答案很简单:因为包的功能强大。设计期包(design-time package)简化了自定义组件的发布和安装;而运行期包(run-time package) 则更是给传统的程序设计注入了新鲜的力量。一旦把可重用的代码编译为运行期库中,你就可以在多个应用程序中共享它们。所有应用程序都可以通过包访问标准组 件,Delphi自己就是这么干的。因为应用程序不必在可执行文件中单独复制一份组件库,这样就大 大节省了系统资源和磁盘空间。此外,包还可以减少花费在编译上的时间,因为你只需编译应用程序特有的代码。 如果可以动态的使用包,那么我们还可以获得更多的好处。包提供
阅读全文
摘要:摘要:几乎所有的操作系统在启动的时候都会启动一些不需要与用户交互的进程,这些进程在Windows中就被称作服务。它由服务程序、服务控制程序(SCP,service control program)和服务控制管理器(SCM,service control manager)三个组件构成。本文针对服务程序与服务控制程序的编写进行综合讲述。 关键词:Windows,服务,VC++•1 服务介绍几乎所有的操作系统在启动的时候都会启动一些不需要与用户交互的进程,这些进程在Windows中就被称作服务。它通常用于实现客户/服务器模式中的服务器方,如我们常见的Web服务IIS,当操作系统在启动后它就自动被运行
阅读全文
摘要:该示例创建一个Automation服务器程序并定义一个事件输入接口,同时创建一个客户端程序作为该接口的接收器,以实现事件的通知;Delphi IDE选择File->New->Other,选到ActiveX页,创建 ActiveX Library。再次选择ActiveX页,创建 Automation Object,在CoClass Name中输入TestEvent,勾中Generate Event Support code选项(该项必须选择、因为它将生成对应的事件输出接口代码),确认完成;此时,在Type Library中会列出ITTestEvent和ITTestEventEvent
阅读全文

浙公网安备 33010602011771号