Delphi 2010 Wide Funktionen vs. String Funktionen

8

Wir konvertieren derzeit ein Delphi 2007-Projekt nach Delphi 2010. Wir haben bereits Unicode (über WideStrings und TNT Unicode Controls) verwendet.

Ich habe erwartet, alle Wide-Funktionen zu ersetzen, z.B. WideUpperCase, mit ihrem Äquivalent, z.B. UpperCase, aber sie funktionieren nicht auf die gleiche Weise. WideUpperCase funktioniert beispielsweise anders als UpperCase. WideUpperCase korrekt Großbuchstaben Campañas, aber UpperCase lässt die ñ in Kleinbuchstaben.

Gibt es noch weitere Unterschiede, auf die ich achten sollte? z.B. funktionieren WideFormat und Format gleich?

Danke

    
Mick 23.04.2010, 02:10
quelle

2 Antworten

9

Sie sollten die Funktion ToUpper von der Zeicheneinheit zu Unicode-Strings in Großbuchstaben verwenden. Oder Sie können AnsiUpperCase verwenden, wenn Sie die allgemeine Codebasis für Nicht-Unicode- und Unicode-Delphi-Versionen unterstützen müssen - AnsiUpperCase ist die Ansi-Funktion für Delphi 2007 und früher und die Unicode-Funktion für Delphi 2009 und höher.

    
kludg 23.04.2010, 02:19
quelle
1

Die Benennung ist wirklich schlecht (wegen Kompatibilität mit älteren Versionen). Ich schlage vor, Sie lesen das cos für jede Zeichenfolgenfunktion, die Sie verwenden möchten, und überprüfen Sie, ob es mit Unicode funktioniert oder nicht.

    
alex 23.04.2010 07:40
quelle