|
|
|
|
- Qué es UNICODE
- Gestión de UNICODE
- Conversiones implícitas
Uso de Unicode en cadenas de caracteres
UNICODE es un sistema de codificación que asigna un número único a cada carácter: - Este sistema utiliza una codificación de 16 bits.
- Este número puede leerse independientemente de la plataforma, software o idioma utilizado.
Unicode es compatible con la mayoría de sistemas de escritura del mundo. Unicode se utiliza: - para las cadenas de caracteres
- para los archivos de datos
- para los controles que muestran datos de cadenas de caracteres o archivos de datos.
Para utilizar el estándar UNICODE, WINDEV incluye: - una opción para definir el formato de las cadenas en tiempo de ejecución en la descripción de la configuración del proyecto.
Para cambiar el formato de las cadenas de caracteres en la configuración actual:
- Abra la ventana de descripción del proyecto: en la pestaña "Proyecto", en el grupo "Configuración del proyecto", haga clic en "Configuración actual".
- En la ventana que aparece, vaya a la pestaña "Unicode" y seleccione el modo deseado: "Utilizar cadenas ANSI en ejecución" o "Utilizar cadenas UNICODE en ejecución".
- el tipo UNICODE String.
- funciones de conversión:
Estas funciones convierten caracteres ANSI a Unicode y viceversa. Las cadenas de caracteres se convierten automáticamente (ver párrafo de abajo).
| | AnsiToUnicode | Convierte:- una cadena de caracteres ANSI (Windows) en una cadena de caracteres UNICODE.
- un buffer que contiene una cadena de caracteres ANSI (Windows) en un buffer que contiene una cadena de caracteres UNICODE.
| StringToUTF8 | Convierte una cadena ANSI o UNICODE en UTF-8. | UnicodeToAnsi | Convierte:- una cadena UNICODE a ANSI (Windows).
- un buffer que contiene una cadena UNICODE en un buffer que contiene una cadena ANSI (Windows).
| UTF8ToString | Convierte una cadena UTF-8 a ANSI o UNICODE. |
- funciones para manipular cadenas de caracteres:
| | Complete | Devuelve una cadena de caracteres de una longitud especificada. | CompleteDir | Agrega una barra invertida al final de la cadena, si es necesario. | ExtractString | Permite:- extraer una subcadena de una cadena en función de un separador de cadenas especificado.
- buscar subcadenas en una cadena en función de un separador de cadenas especificado.
| Left | Extrae la parte izquierda (es decir, los primeros caracteres) de una cadena o buffer. | Length | Devuelve:- la longitud de una cadena, es decir, el número de caracteres de la cadena (incluyendo espacios y ceros binarios).
- el tamaño de un buffer, es decir, el número de bytes en el buffer.
| Middle | Extrae: - una subcadena de una cadena a partir de una posición especificada.
- parte de un buffer a partir de una posición especificada.
| NoAccent | Convierte los caracteres acentuados de una cadena en caracteres no acentuados. | NoSpace | Devuelve una cadena después de eliminar los espacios: - a la izquierda y derecha de la cadena inicial.
- dentro de la cadena inicial.
| Position | Busca la posición de una cadena especificada en otra cadena. | PositionOccurrence | Busca la posición X de una cadena dentro de otra. | RepeatString | Concatena un número determinado de copias de la misma cadena o buffer especificado. | Replace | Reemplaza todas las instancias especificadas de una subcadena en una cadena por otra subcadena. | Reverse | Devuelve el carácter que corresponde a la diferencia entre el código ASCII de un carácter específico en una cadena y 255. | Right | Extrae los últimos caracteres de una cadena o de un búfer de cadenas. | StringCompare | Compara dos cadenas carácter por carácter:- según el orden de caracteres ASCII.
- según el orden alfabético.
| StringCount | Calcula: - el número de instancias de una cadena específica (respetando los criterios de búsqueda) en otra cadena.
- el número de instancias de un conjunto de cadenas en un array.
| StringFormat | Define el formato de una cadena de caracteres según las opciones seleccionadas. | TypeVar | Identifies the type of an expression, a variable (during a call to a procedure for example) or a control. | Val | Devuelve el valor numérico de una cadena de caracteres. |
- operadores para manipular cadenas de caracteres:
- operadores para iterar a través de cadenas de caracteres:
- funciones para manipular archivos de texto:
| | fOpen | Abre un archivo externo (ANSI o Unicode) para manipularlo mediante programación. | fRead | Lee un bloque de bytes (caracteres) de un archivo externo (ANSI o UNICODE). | fReadLine | Lee una línea de un archivo externo (ANSI o UNICODE). | fWrite | Escribe una cadena en un archivo externo (ANSI o UNICODE). | fWriteLine | Escribe una línea en un archivo de texto (ANSI o UNICODE). |
Conversiones implícitas A partir de la versión 12, las cadenas ANSI y Unicode se convierten automáticamente. Estas conversiones se realizan utilizando el conjunto de caracteres actual (definido con la función ChangeCharset). A partir de la versión 15, las cadenas UNICODE se convierten automáticamente cuando se asigna uno de los siguientes tipos a un campo HFSQL: booleano, entero (cualquier tamaño, con o sin signo), monetario, numérico o real. Ejemplos de uso: // With the conversion functions ResU is UNICODE string = AnsiToUnicode("Test of a string") // Implicit conversion ResU is UNICODE string = "Test of a string"
Res is string ResU is UNICODE string // With the conversion functions ResU = AnsiToUnicode(Res) Res = UnicodeToAnsi(ResU) // Implicit conversion ResU = Res Res = ResU
Res is string ResU is UNICODE string // With the conversion functions IF ResU <> AnsiToUnicode("") THEN ... IF ResU <> AnsiToUnicode(Res) THEN ... // Implicit conversion IF ResU <> "" THEN ... IF ResU <> Res THEN...
nFil is int = fOpen("E:\temp\Unicode.txt", foRead + foUnicode) ResU is UNICODE string ResU = fReadLine(nFile) WHILE ResU <> EOT Trace(ResU) ResU = fReadLine(nFile) END
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|