![]() |
Uso de CharInSet
Hola de nuevo a todos.
Despues de unos dias sin tocar Delphi, he retomado la conversión de un proyecto D6 a DXE7 y al compilar, todo sale correcto pero me envia el warning siguiente: [dcc32 Warning] Principal.pas(227): W1050 WideChar reduced to byte char in set expressions. Consider using 'CharInSet' function in 'SysUtils' unit. El codigo es el siguiente:
Entiendo que me propone que cambie una funcion pero no acabo de entenderlo. Muchas gracias por adelantado. Josep |
Todo viene a cuenta de la inclusión de Unicode a partir de Delphi 2009. Te aconsejan utilizar la función CharInSet porque funciona con esos tipos de cadenas de forma más eficiente.
Saludos |
Gracias por la respuesta, pero sigo sin aclararme.
Debo cambiar el tipo de campo en la tabla? Debo añadir la fguncion al uses? Saludos Josep |
|
Cita:
Un ejemplo clásico es el de las variables globales de configuración regional (como: ShortDateTime, DecimalSeparator....) que pasaron a convertirse en un objeto que debe instanciarse en cada programa (ya no son variables o registros globales) También, recuerdo que después de XE3 vinieron cambios que pusieron problemas a algunas migraciones... Funciones que desaparecieron o se reorganziaron en otras librerías, llegaron los Helpers, por ejemplo Has un doble check a los otros warnings, amigo Josep... por si acaso |
Cita:
Gracias Josep |
http://docwiki.embarcadero.com/Libra...tils.CharInSet
Revisa hacer un Type Cast con AnsiChar
No tengo delphi ahora para poderte confirmar, pero revisa tambien la opcion de AnsiUpperCase en lugar de UpCase
El tema es que todas las funciones que recibian parametros String o Char cambiaron para WideString, AnisChar, AnsiString... saludo, |
Cita:
Esta opcion es la que ha funcionado perfectamente, ya no da el "warning" al compilar Saludos Josep |
Y este otro warning
Es algo parecido? Saludos Josep |
Es solo un warning para que analices y optimices tu código, en el cual te indica que en esa linea de código el compilador hace un tratamiento de AnsiString a una cadena que defines como string (o viceversa).
Al igual que el warning que da origen a este hilo.. que te sugiere que consideres modificar tu código para que no hayan problemas de compatibilidad en ciertos casos. En lo personal, siempre intento atender los warnings, pero no son obligatorios |
La franja horaria es GMT +2. Ahora son las 10:40:26. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi