QMacros专题-基于宏的Delphi/C++ Builder快速模板替换库

【简介】

QMacros是QDAC的一个组成部分,采用宏定义的方式来快速替换复杂的文本内容模板。如下面的一句话:

My Name is <%Name%>,Please call me <%FirstName%>

我们定义如下宏:

Name =>Jone Stand

FirstName => Jone

使用QMacros执行下面的替换操作后:

AMacroMgr := TQMacroManager.Create;
AMacroMgr.Push('Name','Jone Stand');
AMacroMgr.Push('FirstName','Jone');
S:=AMacroMgr.Replace('My Name is <%Name%>,Please call me <%FirstName%>', '<%','%>',0);

此时字符串S的值即为:

My Name is Jone Stand,Please call me Jone

具体使用方法请到下载 QDAC 新版到 Demos\Delphi\VCL\QMacros 目录下查看示例程序及源码中相关函数注释说明。

macros

【功能特色】

● 支持在替换时自定义宏的起始和结束字符串,两者可以一样,也可以不一样,但一定要保证宏定义中间不会出现该字符;

● 采用栈式管理,使用使用宏最后入栈的值替换,当不使用新值时,可以出栈恢复末次的值;

● 支持保存点功能,可以设置保存点并在其后多次入栈新的宏定义,只需要在最后还原到保存的保存点,就可以恢复所有保存点保存时的宏定义原状;

● 支持大小写区分和忽略大小写两种处理模式;

● 支持动态取值宏定义(相当于简单的函数),可以让宏定义每次替换时对应不同的值;

● 使用二分法查找宏定义名称,更快的解析替换速度;

● 支持模板预编译,方便一次编译,多次替换;

如果您有什么改进的意见或建议,请加官网群讨论或在本专题后面留言。

【入门】

QMacros基本使用方法说明

QMacros速度简单评测

QMacros该如何处理在内容中出现起始和结束符?

QMacros宏的值稳定性选项详解

QMacros中的保存点详解

QMacros模板编译结果的缓存与重用

QMacros的转义字符和忽略未找到的宏选项说明

QMacros 复杂宏参数的传递

【示例】

[QMacros] 使用 QMacros 生成流水号命名文件

[QMacros] 利用模板生成数据库插入语句

[QMacros] 使用模板生成随机电话号码

[QMacros] 使用参数化宏替换

[QMacros] 用户自定义规则的宏名称解析

[QMacros] 使用 QMacros 从 PHP 脚本中获取使用的变量名称列表

[QMacros] 使用宏替换在百度地图上加标注

[QMacros]使用 QMacros 玩转 HTML 模板

[QMacros] 使用迭代器来重复内容

【应用】

支持计划任务的PostgreSQL与MS SQL Server 数据库同步迁移工具

分享到: