8

我们目前正在将 Delphi 2007 项目转换为 Delphi 2010。我们已经在使用 Unicode(通过 WideStrings 和 TNT Unicode Controls)。

我期待用它们的等效函数(例如 UpperCase)替换所有 Wide 函数,例如 WideUpperCase,但它们的工作方式不同。例如,WideUpperCase 与 UpperCase 的工作方式不同。WideUpperCase 正确地将 Campañas 大写,但 UpperCase 将 ñ 保留为小写。

还有其他我应该注意的差异吗?例如,WideFormat 和 Format 的工作方式相同吗?

谢谢

4

2 回答 2

9

您应该使用从字符单元到大写 unicode 字符串的 ToUpper 函数。或者,如果您需要支持非 unicode 和 unicode Delphi 版本的通用代码库,则可以使用 AnsiUpperCase - AnsiUpperCase 是 Delphi 2007 及更早版本的 Ansi 函数,以及 Delphi 2009 及更高版本的 unicode 函数。

于 2010-04-23T02:19:12.867 回答
1

命名真的很糟糕(由于与旧版本保持兼容)。我建议您阅读可能要使用的每个字符串函数的 cos 并检查它是否适用于 Unicode。

于 2010-04-23T07:40:06.810 回答