Delphi 2009及以上版本支持unicode。我有几个遗留的pascal源文件,我希望在Delphi 2009/2010以及Delphi 2007及以下版本中进行编译。
快速安全的方法是替换
是否有任何实用程序可以解析.pas文件并进行此类替换?
答案 0 :(得分:2)
答案 1 :(得分:1)
您可以使用sed
。
sed -i bak -e "s/string/AnsiString/g" *.pas但是,这将是一个非常糟糕的主意。 没有理由你的代码不能在所有 Delphi版本中编译。“string”的含义已经改变了,但那又怎么样?您的Delphi 2007代码不需要使用您的Delphi 2009代码。 DCU文件格式不同,因此您无需重新编译您更改的任何内容。
通过将所有内容更改为AnsiString,您实际上拒绝了Delphi 2009提供的所有新功能。如果这就是你想要做的事情,你可以通过根本不升级到Delphi 2009来节省很多钱。为什么购买产品然后不使用它的任何功能?由于产品中的其他所有内容都是Unicode,因此程序的性能会随着字符串格式之间的不断转换而下降。您还将淹没所有转换中的编译器警告。
不要将方钉钉入圆孔,特别是当你有一套完美好的圆钉坐在你旁边时。