2010-04-23 13 views
8

Konwertujemy obecnie projekt Delphi 2007 na Delphi 2010. Już używaliśmy Unicode (poprzez WideStrings i TNT Unicode Controls).Delphi 2010 Szerokie funkcje a funkcje ciągów

Spodziewałem się zastąpienia wszystkich funkcji Wide, np. WideUpperCase, z ich odpowiednikiem, np. UpperCase, ale nie działają one w ten sam sposób. Na przykład usługa WideUpperCase działa inaczej niż program UpperCase. WideUpperCase poprawnie umieszcza uppercases Campañas, ale UpperCase opuszcza ñ małymi literami.

Czy są jakieś inne różnice, o których powinienem wiedzieć? na przykład czy WideFormat i Format działają tak samo?

Dzięki

Odpowiedz

9

należy użyć funkcji ToUpper z jednostki znaków na wielkie ciągi Unicode. Albo możesz użyć AnsiUpperCase, jeśli potrzebujesz obsługi wspólnej bazy kodów dla wersji Unphode i Unicode Delphi - AnsiUpperCase to funkcja Ansi dla Delphi 2007 i wcześniejszych oraz funkcja Unicode dla Delphi 2009 i wyżej.

1

Nazewnictwo jest naprawdę złe (ze względu na zachowanie zgodności ze starszymi wersjami). Sugeruję, abyś przeczytał cos dla każdej funkcji napisu, której możesz użyć i sprawdź, czy działa z Unicode, czy nie.