2010-04-23 13 views
8

Actualmente estamos convirtiendo un proyecto Delphi 2007 a Delphi 2010. Ya estábamos usando Unicode (a través de WideStrings y controles TNT Unicode).Delphi 2010 Funciones amplias frente a funciones de cadena

Esperaba reemplazar todas las funciones Anchas, p. WideUpperCase, con su equivalente, p. UpperCase, pero no funcionan de la misma manera. Por ejemplo, WideUpperCase funciona de forma diferente a UpperCase. WideUpperCase canaliza correctamente Campañas, pero UpperCase deja el ñ en minúsculas.

¿Hay alguna otra diferencia que deba tener en cuenta? p.ej. ¿WideFormat y Format funcionan de la misma manera?

Gracias

Respuesta

9

Debe utilizar ToUpper función de la unidad de caracteres en mayúsculas cadenas Unicode. O bien, puede utilizar AnsiUpperCase si necesita admitir la base de código común para las versiones Delico de Unicode y no Unicode: AnsiUpperCase es la función Ansi para Delphi 2007 y anterior, y la función Unicode para Delphi 2009 y posteriores.

1

La nomenclatura es realmente mala (debido a la compatibilidad con versiones anteriores). Le sugiero que lea el cos para cada función de cadena que desee usar y verifique si funciona con Unicode o no.

Cuestiones relacionadas