Delphi如何在项目的所有文件中的组件属性中执行SearchReplace?

Delphi如何在项目的所有文件中的组件属性中执行SearchReplace?,delphi,replace,dfm,Delphi,Replace,Dfm,我需要在我的所有表单(所有dfm)中执行SearchReplace,以将所有出现的“:”更改为“;”在所有TQuery.Strings(类型为TStrings)中 我怎样才能做到这一点?我希望在设计时这样做:我希望我的dfm包含“;”,而不是执行运行时替换。尝试使用例如CnPack,什么是大量有用的插件。在这个软件包中,它被称为属性校正器。尝试一下,例如CnPack,这是一组非常有用的插件。在这个包中,它被称为属性校正器。假设您以文本格式存储所有.dfm文件,只需使用任何可用的简单grep工具即

我需要在我的所有表单(所有dfm)中执行SearchReplace,以将所有出现的“:”更改为“;”在所有
TQuery.Strings
(类型为
TStrings
)中


我怎样才能做到这一点?我希望在设计时这样做:我希望我的dfm包含“;”,而不是执行运行时替换。

尝试使用例如CnPack,什么是大量有用的插件。在这个软件包中,它被称为属性校正器。

尝试一下,例如CnPack,这是一组非常有用的插件。在这个包中,它被称为属性校正器。

假设您以文本格式存储所有.dfm文件,只需使用任何可用的简单grep工具即可

如果不确定是否以文本形式存储.dfm文件,请右键单击表单,查看是否设置了下面的复选框


我记得,还有其他很好的理由将.dfm存储为文本。还有一个命令行工具可以将目录树中的所有.dfm转换为文本。查看此线程:

假设您以文本格式存储所有.dfm文件,只需使用任何可用的简单grep工具即可

如果不确定是否以文本形式存储.dfm文件,请右键单击表单,查看是否设置了下面的复选框


我记得,还有其他很好的理由将.dfm存储为文本。还有一个命令行工具可以将目录树中的所有.dfm转换为文本。查看此线程:

我支持使用正则表达式在DFMs中搜索和替换内容的想法,但您需要一些强大的正则表达式引擎来处理这种情况:首先,它需要进行多行匹配,我还没有找到在windows上执行此操作的免费工具。下一步,你需要使用一些疯狂的前瞻和落后,因为你只想匹配“;”但在一些相当严格的地方。你能推荐一个工具吗?同时检查CnPack的属性校正器。它支持简单的正则表达式、属性更改规则,并且易于使用。我觉得唯一的方法是制作一个工具,解析所有dfm,当它找到TQuery时,它搜索SQL,然后读取所有文本直到下一个“end”,并进行替换。当然,这不是一个向导,它是计算机“辅助手动替换”。@user193655,当涉及到一次性工作时,可以部署的最快的黑客是最好的!一个delphi应用程序,能够解析足够多的DFM来进行非常简单的更改,不会花费超过30分钟的时间;寻找更好的选项肯定需要更长的时间。@Cosmin Prund,是的,我同意,这也是我所尝试的。我支持使用正则表达式搜索和替换DFMs中的内容的想法,但您需要一些强大的正则表达式引擎来处理这种情况:首先,它需要进行多行匹配,我还没有找到可以在windows上运行的免费软件。下一步,你需要使用一些疯狂的前瞻和落后,因为你只想匹配“;”但在一些相当严格的地方。你能推荐一个工具吗?同时检查CnPack的属性校正器。它支持简单的正则表达式、属性更改规则,并且易于使用。我觉得唯一的方法是制作一个工具,解析所有dfm,当它找到TQuery时,它搜索SQL,然后读取所有文本直到下一个“end”,并进行替换。当然,这不是一个向导,它是计算机“辅助手动替换”。@user193655,当涉及到一次性工作时,可以部署的最快的黑客是最好的!一个delphi应用程序,能够解析足够多的DFM来进行非常简单的更改,不会花费超过30分钟的时间;寻找更好的选择肯定需要更长的时间。@Cosmin Prund,是的,我同意,这正是我所尝试的。