我们目前正在将一个Delphi 2007项目转换到Delphi 2010。我们已经在使用Unicode (通过WideStrings和TNT Unicode控件)。
我希望用它们的等价物,例如UpperCase替换所有的宽函数,例如WideUpperCase,但它们的工作方式不同。例如,WideUpperCase与UpperCase的工作方式不同。WideUpperCase正确地将Campañas大写,但UpperCase将ñ保留为小写。
还有没有其他我应该注意的区别?例如,WideFormat和Format的工作原理相同吗?
谢谢
发布于 2010-04-23 10:19:13
您应该使用从字符单位到大写unicode字符串的ToUpper函数。或者,如果您需要支持非unicode和unicode Delphi版本的公共代码库,您可以使用AnsiUpperCase - AnsiUpperCase是用于Delphi2007及之前版本的Ansi函数,以及用于Delphi2009及更高版本的unicode函数。
发布于 2010-04-23 15:40:07
命名真的很糟糕(由于保持与旧版本的兼容性)。我建议您阅读您可能想要使用的每个字符串函数的cos,并检查它是否与Unicode一起工作。
https://stackoverflow.com/questions/2695754
复制相似问题