8

現在、Delphi2007プロジェクトをDelphi2010に変換しています。すでにUnicodeを使用していました(WideStringsおよびTNT Unicodeコントロールを介して)。

WideUpperCaseなどのすべてのWide関数を、UpperCaseなどの同等の関数に置き換えることを期待していましたが、同じようには機能しません。たとえば、WideUpperCaseはUpperCaseとは動作が異なります。WideUpperCaseはCampañasを正しく大文字にしますが、UpperCaseはñを小文字のままにします。

他に知っておくべき違いはありますか?たとえば、WideFormatとFormatは同じように機能しますか?

ありがとう

4

2 に答える 2

9

文字単位から大文字のUnicode文字列までToUpper関数を使用する必要があります。または、非ユニコードおよびユニコードDelphiバージョンの共通コードベースをサポートする必要がある場合はAnsiUpperCaseを使用できます。AnsiUpperCaseはDelphi 2007以前のAnsi関数であり、Delphi2009以降のユニコード関数です。

于 2010-04-23T02:19:12.867 に答える
1

命名は本当に悪いです(古いバージョンとの互換性を保つため)。使用する可能性のある各文字列関数のcosを読み、Unicodeで機能するかどうかを確認することをお勧めします。

于 2010-04-23T07:40:06.810 に答える