[专题] Delphi / QDAC 付费视频教程专区

本专区的内容视频是作者或群友原创,需要付费购买,会根据大家的需要录制和推出。 【购买方式】 申请加入 QDAC 视频付费教程群 :201867767; 找到下面视频的价格,然后通过以下方式付费: [支付宝] guansonghuan@sina.com 姓名:管耸寰(请标明QQ号) [QQ] 直接群支付,或给群主发红包

QDAC项目简介

QDAC 是由 QDAC 开发组为大家提供的一套 Delphi/C++ Builder 跨平台开源组件库,名称取自英文 Quick Data Access Components 的首字母。它支持 Delphi/C++ Builder 2007 以上的版本的开发环境,目标是为大家提供一套高效稳定的跨平台快速数据访问组件,

[教程]QLog 分类型记录日志和 TQLogStringsWriter 的用法简单示例

QLog 最近做了一些更新,下面演示下更新的几个地方的使用方法: 1、为 TQLogWriter 基类添加了 AcceptLevels 属性,以便将不同类型的日志输出到不同的目标中。比如,我们要将 llError,llFatal 类型的日志输出到一个单独的文件中,我们可以用类似下面的代码实现(中间省略其它代码): [c

[教程]Delphi 10.3 新特性:内联变量

简译自 Macro 技术博客 简单一句话:Delphi 终于不用非将变量定义在函数的开头位置了。 拓展开来: 1、您可以在代码中使用变量时,通过下面的格式来定义变量: var 变量名[:变量类型][:=变量值] 示例一:

示例2: [crayon-5bf

[教程]QAnimation 使用教程之一:为 TPageControl 切换加入动画效果

首先,VCL 的 TPageControl 是没有切入切出动画的,所以,这里要做的是给 VCL 的 TPageControl 做动画支持。当然,虽然咱们说的是 QAnimation 教程,但关注的重点不是 QAnimation,而是如何给 TPageControl 添加动画效果,QAnimation 只是一个动画控制器

【教程】delphi 中如何访问另一个类中到私有成员方法 N 合 1

此文是参考  原文链接 和群友及作者自己曾经用过的方法简单总结,感谢群内的朋友和原文作者。另外,此文中所谓的访问另一个类的私有成员,另一个类并不在同一单元,在同一单元内的私有成员 Delphi 也是可以直接访问的,不需要绕圈子。 1、最易用的方法:class helper + with self 创建一个对应类的 cl

[教程] Resource XXX not found 的解决办法

一查路径:查看程序的搜索和库文件路径中是否有重名的文件,如果资源在这些重名的文件中,链接时如果错误链接到了老版本,就有可能造成此问题。 二看定义:在 Delphi 中,如果 DFM 定义和 Pas 对应的文件不完全匹配(比如界面上有的控件,但 pas 中由于某些原因被删除了),编译时并不会提示什么问题,但实际链接到程序

[教程]FMX 下将当前控件的相对坐标转换为屏幕坐标

好吧,在 VCL 里简单的 ClientToScreen,到了 FMX 就变得不是那么简单了。这就牵涉到了 FMX 的坐标体系,咱们不在这里的展开说明,仅提供实现的介绍: 1、调用控件的 LocalToAbsolute 将控件坐标转换为绝对坐标,这个绝对坐标是相对于 Form 的,所以不要以为它是屏幕坐标,这是人很容易

[教程]判断两个不同的接口实例是否是同一个对象

如果一个对象支持多个接口,当我们获取其支持的不同接口的实例时,就会得到不同的地址,比如:

我们假设对象 TABObject 的实例 ab,当我们写下类似于下面的代码时:

在实际运行中,A

[教程] 通过 Rtti 设置对象的事件响应函数

核心提示:调用 TValue.Make 函数来将事件的响应函数绑定。 示例:我们拿 TTimer 来做例子,我们知道它有一个 OnTimer 事件,但我们又不想引用 TTimer 所在的单元,而我们要修改某个实例的 OnTimer 事件响应函数(感觉好绕是吧?因为只是拿来做例子,反正看不懂就当一切在做梦,什么也没发生就

[日积月累]-2018-6-24:早期 Delphi 版本 Base64 解码需要注意的一点小问题

早期的 Delphi DecodeBase64 对于不是正常以 = 号结束的 Base64 编码内容进行解码时,结尾会解出乱码,造成程序运行时出问题,要解决这一问题,应对其进行补位,加上一定数量的 “=”,以解决此问题。需要补位的 “=” 个数的计算公式: n=( mod 4) n=0 :不需要补位 n>0:补

[日积月累]-20180623:W1037 FOR-Loop variable ‘Result’ may be undefined after loop

【译】 W1037 FOR 循环变量 Result 可能在循环后失去定义 【问题原因】 Result 被用在循环的初始值或结束值时会引发此警告:

就个人来看,用做循环的结束值是没有问题的,但下面的用法就有问题了: [crayon-5bf3f10eb670

[教程]为 Delphi 剪贴板加入 CF_HTML 数据支持

嗯,直接上代码,需要引用  QDAC 的 QString 单元,不支持太老版本的 Delphi,使用古董版的 Delphi 的请自己改写下:

用法是直接操作 Clipboard.AsHtml 属性就可以了,例如: [crayon-5bf3f10eb68a

[日积月累]-20180622:前向声明关键字 forward

【格式】 函数声明;forward; 【用途】 forward 关键字用于前向声明一个局部函数,比如:

声明了一个 Calculate 函数,那么后面必需重新声明并实现这个函数,类似于下面: [crayon-5bf3f10eb6a8e069620032/

[日积月累]-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 可以正确识别多咱格式的日期时间字符串,但并不代表它的自动识别智能到可以理