1、如何创建根结点为数组类型的JSON对象? 直接设置根结点的 DataType 为 jdtArray 即可。然后数组的子元素只需要挨个调用 Add 添加即可。 2、如何遍历 JSON 子结点的信息? QJson 的 Count 属性记录了数组或对象的子结点数量,然后您可以使用正常的循环来遍历子元素,如: [crayo
月度归档: 2016年2月
[QString] 新增身份证号、邮箱、手机号验证函数及修改密码强度计算的权重
【更新说明】 本次更新增加了以下函数,参数直接参考注释:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
/// <summary>检查指定的中国身份证号的有效性</summary> /// <param name="CardNo">身份证号</param> /// <returns>号码符合规则,返回true,否则,返回false</returns> function IsChineseIdNo(CardNo: QStringW): Boolean; /// <summary>解析指定的中国大陆身份证号的组成部分</summary> /// <param name="CardNo">身份证号</param> /// <param name="AreaCode">行政区划代码</param> /// <param name="Birthday">出生日期</param> /// <param name="IsFemale">性别,男为true,女为false</param> /// <returns>身份证号有效,返回true,并通过参数返回各个部分,否则,返回false</returns> function DecodeChineseId(CardNo: QStringW; var AreaCode: QStringW; var Birthday: TDateTime; var IsFemale: Boolean): Boolean; /// <summary>检查指定的字符串是否符合电子邮箱格式</summary> /// <param name="S">要检查的电子邮箱地址</param> /// <returns>如果是x@y.z格式,则返回true,否则,返回false</returns> function IsEmailAddr(S: QStringW): Boolean; /// <summary>检查是否是中国手机号码格式</summary> /// <param name="S">要检查的手机号码</param> /// <returns>如果是11位数字,且是以1打头,则返回true,否则返回false</returns> function IsChineseMobile(S: QStringW): Boolean; |
另外,修改了 CheckPassword 函数计算密码强度时,各个部分的权重和强度的计算阀值,以便更适合实际。 【更新级别】 可选
[杂谈] 基于 TIdSMTP 的邮件发送代码
【更新日志】 2019.11.18 注意使用 QQ 邮箱发送邮件时,要传它的授权码。具体参考官方说明 2016.2.25 已知 Indy 在 android 6.0 上无法正确的初始化OpenSSL库,造成无法使用 SendBySSL 函数,通过加密通道发送邮件,但 Send 是OK的。解决办法: (1)、用 Send
[QJSON+QMsgPack] 更新:修正了 ItemByPath 对特定数组路径的支持问题
【问题描述】 对于根结点为数组类型的 JSON 或 MessagePack 对象,使用 ItemByPath 访问时,无法得到正确的返回值。以 JSON 为例,下面的 JSON 结构:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
[ [ { "name": "1" }, { "name": "2" } ], [ { "name": "3" }, { "name": "4" } ] ] |
如果试图以路径”[0]\[0]\name”来
[QMsgPack] 更新:修正了 TQHashedMsgPack 存在的几处问题
【问题描述】 1、TQHashedMsgPack 子结点创建时类型错误使用了 TQMsgPack 的问题,而不是 TQHashedMsgPack 造成 IndexOf 或 ItemByName 查找时,没有使用哈希表; 2、TQHashedMsgPack 的 Add 重载重复添加了哈希表项; 【严重程度】 高 【更新级
[QWorker] 更新:修正了 WaitJob 在特定场景下造成作业未及时处理的问题
【问题描述】 该问题是由于 WaitJob 在检查作业是否存在时,先出队了所有的未完成作业,然后在入队时,没有调用LookupIdleWorker 来查找空闲工作者来处理新的任务造成的。 【严重程度】 高 【更新级别】 可选 【特别感谢】 成浩
恭祝大家新年快乐,事事如意,父母身体健康,子女学业有成,大家新年发大财
2016,猴年快乐