禁用(Enabled)还是隐藏(Visible)?

对于程序员来说,如果一个功能对用户来说,不可用,到底是禁用还是隐藏许多时候是要纠结下的事情。实际上,程序编写过程中,一些细节的控制是一种很主观和即兴的东西,但为了统一的用户体验,一般来说,我觉得还是统一下规则为好。 首先,我们考虑我们这项功能为什么对用户不可用? 这项功能用户没有权限访问; 这项功能对于当前数据的状态来

QString 更新 – 修正了 ParseNumeric / ParseInt 在解析特定数值时出错的问题

【问题描述】 1、ParseInt 在解析超长的数字字符串时,由于溢出会返回负数。新的算法检查这一情况,并认为不是数值。 2、ParseNumeric 在解析超大的指数时,出现溢出时会抛出异常。新的算法检查这一情况,并返回false。 【严重程度】 中 【更新级别】 推荐 【特别感谢】 中国制造

QString 更新 – 修正了StringReplaceWithW 函数的两处问题

【问题描述】 1、 StringReplaceWithW 在 AWithTag 为 True 时,替换的结果不符合预期; 2、 StringReplaceWithW 在替换的结果字符串为空时,由于计算需要的目标内存长度错误,造成访问无效地址。 【更新级别】 推荐 【严重程序】 高 【特别感谢】 麦子仲肥

QLog 更新 – TQLogFileWriter 和 TQLogConsoleWriter 功能变更

【更新说明】 1、TQLogFileWriter.HandleNeeded 方法原来没有检查日志文件的目录是否存在,结果就可能无法创建日志文件,新代码加入了路径检查,不存在,则尝试强制创建路径。 2、TQLogConsoleWriter 在 Windows 下,加入了一个重载的构造函数来决定日志是直接输出到控制台还是输

关于 QLog 的 1234 那点事

QLog 是 QDAC 项目中包含的日志记录模块,提供了一个高性能、可扩展、简单易用的日志记录功能。 QLog 的日志架构层级如下图所示: TQLog :日志记录的大管家 TQLog 负责: 缓存要记录的日志内容; 为外部日志记录提供接口; 管理日志广播对象,用于广播日志到不同的输出对象; 默认情况下,QLog 创建了

QXML 更新 – 修改 TQXMLNode.Clear 加入参数来决定是否同时清空属性

【更新说明】 * Clear 函数原来的实现是将属性和子结点一齐清空,但有时我们只需要清空结点而保证属性,所以为 Clear 函数增加了这么一个参数来决定是否清空结点的属性。如果为 True,则清空,否则不清空,默认为 True。 * 修正了 Encode 编码时,如果 ADoFormat 参数为 False 时依然会

Delphi / C++ Builder 中字符串类型详解

字符串在编程中是一个常见的类型,但左一个类型,右一个类型可能把许多人都弄迷糊了。我写这篇文章,试图给大家理清 Delphi / C++ Builder 中的字符串类型。关于这些字符串类型的历史,我们就不再啰嗦,历史就是历史,现在我们面对现实。 String 类型 String 类型在 Delphi / C++ Buil

JCL 2.7+JVCL 3.48 已经可以在 XE 8 下编译和安装

目前官方还在开发中,没有正式的发布,但已经可以正常安装和使用了。 下载地址:百度网盘 安装顺序: 先运行 JCL 子目录下的 install.bat,安装 JCL,然后再运行 JVCL 子目录下的 install.bat 安装。 已知问题: 安装 JCL 时,会提示生成 HPP 错误,忽略即可。

[FMX] 使用 Canvas 计算大小与物理大小计算时,别忘了缩放比

FMX 的 Canvas 的功能就不说了,但你注意到了吗?Canvas.TextWidth 等函数返回的大小,如果你当真,那你就会发现现实和理想差的太远了。你需要通过控件的 Scene.GetSceneScale 来获得一个缩放比,与原始的进行缩放后,才是放到屏幕上的实际大小。 一个简单的例子,我们计算一个Label上

阿姆达尔定律

阿姆达尔定律(英语:Amdahl’s law,Amdahl’s argument),一个计算机科学界的经验法则,因吉恩·阿姆达尔而得名。它代表了处理器平行运算之后效率提升的能力。 并行计算中的加速比是用并行前的执行速度和并行后的执行速度之比来表示的,它表示了在并行化之后的效率提升情况。 阿姆达尔

QLog 更新 – 新增多平台控制台日志输出支持

【更新说明】 + 新增 Logs.Mode 属性来确定日志是要同步( lmSync )还是异步( lmAsyn )记录,对于同步记录的日志,在 PostLog 后,只有在日志写入完成后才会返回,这会影响程序的执行效率,优点程序一旦出错,日志已经输出,可能立即查看。默认模式为 lmAsyn,即异步模式。 + 新增 Set