QLog 最新的变动修改了 CalcPerf 函数的返回值类型,改为返回 IPerfCounter(将来可能改名为 IQPerfCounter ) 接口,与以前的相比,这个接口多了一个名为 MarkEscape 的函数,用于记录两次记录之间的时间间隔,以便进行性能计数。 第一步:声明一个用于统计性能的变量,并为其初始化
分类: C++ Builder
[QMathExpr]为 QJson 增加 QMathExpr 支持
QMathExpr 可以方便的实现表达式的计算,将它与 QJson 结合在一起,就可以对内容进行加工处理,为程序的实现提供更大的灵活性。同样的,你可以同样将 QXML/QMsgPack 一样封装下,为其加上 QMathExpr 的支持。 调用示例:
[QMathExpr]数学表达式解析和执行工具
QMathExpr 是 QDAC 家族的一个新成员,为您提供数学表达式的解析和计算功能。它支持以下特性: 加(+)、减(-)、乘(*)、除(/)、求余(%)运算,除法时支持整除和常规除法运算。由于 % 被用做求余运算符,所以如果要当做百分号处理,请先直接将 % 替换为 /100 即可,如 10*2% 替换成 10*2/
[教程]Delphi 10.3 CentOS 编译提示无法链接 zlib 库的解决办法
复制下面的 zlib.a 到你的 SDK 本地缓存目录下的 ,一般是位于 %UserProfile%\Documents\Embarcadero\Studio\SDKs 的具体平台 sdk 子目录下,比如我本地是 C:\Users\Administrator\Documents\Embarcadero\Studio\S
[公告] RAD Studio 10.3 来了
官方原版下载链接:HTTP FTP 官方更新说明:原版 【官方更新说明简译】 1、Delphi 语言 支持内联变量和内联变量的类型推断,说明参考上一篇 Linux 的内存管理已经不再使用 ARC 模型了,改成和 Windows 一样,NEXTGEN 定义在 Linux 平台上已经无效了 Linux 平台支持 AnsiS
[教程]QLog 分类型记录日志和 TQLogStringsWriter 的用法简单示例
QLog 最近做了一些更新,下面演示下更新的几个地方的使用方法: 1、为 TQLogWriter 基类添加了 AcceptLevels 属性,以便将不同类型的日志输出到不同的目标中。比如,我们要将 llError,llFatal 类型的日志输出到一个单独的文件中,我们可以用类似下面的代码实现(中间省略其它代码): va
[教程]QDialogBuilder 使用教程
【注】目前 QDialogBuilder 只支持 VCL,同时,为了兼容以前的 Delphi ,所以单元名称为 qdialog_builder。 使用 QDialogBuilder 的基本步骤如下: 1、设置搜索路径,包含 QDAC 的 Source 目录,qdialog_builder 单元位于该目录下。 2、在需要
[教程] Resource XXX not found 的解决办法
一查路径:查看程序的搜索和库文件路径中是否有重名的文件,如果资源在这些重名的文件中,链接时如果错误链接到了老版本,就有可能造成此问题。 二看定义:在 Delphi 中,如果 DFM 定义和 Pas 对应的文件不完全匹配(比如界面上有的控件,但 pas 中由于某些原因被删除了),编译时并不会提示什么问题,但实际链接到程序
[译]Idera 2018年8月路线图简译
原文:RAD Studio August 2018 Roadmap August 2018 Roadmap Commentary from Product Management 简译: 【现状】 专业版已经加入了移动开发支持 C++ Builder 支持 Make 命令行支持 新的 VCL 界面控件/布局和 FMX
[教程]FMX 下将当前控件的相对坐标转换为屏幕坐标
好吧,在 VCL 里简单的 ClientToScreen,到了 FMX 就变得不是那么简单了。这就牵涉到了 FMX 的坐标体系,咱们不在这里的展开说明,仅提供实现的介绍: 1、调用控件的 LocalToAbsolute 将控件坐标转换为绝对坐标,这个绝对坐标是相对于 Form 的,所以不要以为它是屏幕坐标,这是人很容易
[教程] 通过 Rtti 设置对象的事件响应函数
核心提示:调用 TValue.Make 函数来将事件的响应函数绑定。 示例:我们拿 TTimer 来做例子,我们知道它有一个 OnTimer 事件,但我们又不想引用 TTimer 所在的单元,而我们要修改某个实例的 OnTimer 事件响应函数(感觉好绕是吧?因为只是拿来做例子,反正看不懂就当一切在做梦,什么也没发生就
[日积月累]-2018-6-24:早期 Delphi 版本 Base64 解码需要注意的一点小问题
早期的 Delphi DecodeBase64 对于不是正常以 = 号结束的 Base64 编码内容进行解码时,结尾会解出乱码,造成程序运行时出问题,要解决这一问题,应对其进行补位,加上一定数量的 “=”,以解决此问题。需要补位的 “=” 个数的计算公式: n=( mod 4) n=0 :不需要补位 n>0:补
[教程]为 Delphi 剪贴板加入 CF_HTML 数据支持
嗯,直接上代码,需要引用 QDAC 的 QString 单元,不支持太老版本的 Delphi,使用古董版的 Delphi 的请自己改写下: uses clipbrd, qstring; type THTMLClipboardFormatData = class helper for TClipboard privat
[日积月累]-20180621:[Warning] W1000 Symbol ‘%1’ is deprecated: ‘Use %2’
【译】 [警告] W1000 符号 ‘%1′ 已经被废弃:’请使用 %2’ 【问题原因】 当前版的 Delphi 已经不再使用名为 %1 的函数/变量/常量,目前的代码仍可以正常运行,但最好改成使用 %2 的替代函数/变量/常量。官方的意思是相应的符号将在后续的某个版本中
[教程]QDAC FMX VirtualTreeView 入门教程
实际上,本不想造车,可官方的车太破,而 Jam software (原Softgem)的 VirtualTreeView(后面称老VT吧) 又不知道 FMX 版要等到什么时候,本着求人不如求己的基本原则,编写了这个组件。不过,感谢的话是必需说的,这个组件的核心思想实际上与老VT的基本一致。不过我没有照扒别人东西的习惯,
[杂谈]编写 Delphi 组件时的一些小问题总结
1、要想让自己的对象属性能够自动被 IDE 保存,那么这个对象应该是 TPersistent 类型的子类,否则,设计期能够见到,但保存时不会自动保存。除非你自己重载 DefineProperties 函数。 2、如果你在控件上添加了一个辅助控件,而不想被保存到 DFM 里,你需要重载 GetChildren 来自己实现
[教程]DateTimeFromString 函数的使用说明
DateTimeFromString 用于将一个日期时间格式的字符串表达式转换为日期时间类型,用于替代 Delphi 自己的 StrToDate 函数(弱弱的一个函数,我一直忽略它的存在)。 在绝大部分场景下,DateTimeFromString 可以正确识别多咱格式的日期时间字符串,但并不代表它的自动识别智能到可以理
[公告] Rad studio 10.2.3 来了
版本号:10.2.3.2631 变更文件对比:查看 10.2.2.2004 和 10.2.3.2631 版本源码变更报告 更新内容说明:官方原文 增强 VCL 对高 DPI 支持 提升 FMX 框架品质,修正了Android 下动画、退出时异常以及 AdMob 新版支持,还有一些控件及 macOS High Sierr
[译] RAD Studio 2018 年激动人心的开发进程(简译)
原文链接 关于 10.2.3 : 增强 VCL 对高 DPI 支持 提升 FMX 框架品质 提高 C++ Builder 功能,加入 CMake 命令行和 C++ 命名重构支持。CMake 提供对 Ninja 并行编译框架支持。 为 RAD Server 提供 Ext JS 支持 10.2.3 可能需要卸载重装,但
[FMX] FMX 动画类的一个辅助增强
本增强的目的是解决动画对象只支持 published 的有效的几种属性的问题,确切的说,这是一个适配器,通过匿名函数建立与非 published 属性的适配。我在 [FMX] Delphi 中 TAnimation 设计的几点值得商榷的地方 一文中讨论了 FMX 动画支持类的一些值得商榷的地方和改动,而这个增强从另一个