2010-04-23 15 views
8

Nous sommes actuellement en train de convertir un projet Delphi 2007 en Delphi 2010. Nous utilisions déjà Unicode (via WideStrings et TNT Unicode Controls).Delphes 2010 Fonctions étendues et fonctions de chaînes

Je m'attendais à remplacer toutes les fonctions Wide, par ex. WideUpperCase, avec leur équivalent, par ex. UpperCase, mais ils ne fonctionnent pas de la même manière. Par exemple, WideUpperCase fonctionne différemment de UpperCase. WideUpperCase majuscules correctement Campañas, mais UpperCase quitte le ñ en minuscule.

Y at-il d'autres différences que je devrais être au courant? par exemple. Les formats WideFormat et Format fonctionnent-ils de la même manière?

Merci

Répondre

9

Vous devez utiliser ToUpper fonction de l'unité de caractères en majuscules chaînes unicode. Ou bien vous pouvez utiliser AnsiUpperCase si vous avez besoin de supporter la base de code commune pour les versions Delphi non-Unicode et Unicode - AnsiUpperCase est la fonction Ansi pour Delphi 2007 et les versions antérieures, et la fonction Unicode pour Delphi 2009 et plus.

1

Le nommage est vraiment mauvais (en raison de garder compat avec les versions plus anciennes). Je vous suggère de lire le cos pour chaque fonction de chaîne que vous souhaitez utiliser et de vérifier si cela fonctionne avec Unicode ou non.