AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Ayuda / WLanguage / Funciones WLanguage / Funciones estándar / Funciones de cadenas
  • Qué es UNICODE
  • Gestión de UNICODE
  • Conversiones implícitas
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Qué es UNICODE
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.
Gestión de UNICODE
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:
    1. 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".
    2. 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).
    AnsiToUnicodeConvierte:
    • 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.
    StringToUTF8Convierte una cadena ANSI o UNICODE en UTF-8.
    UnicodeToAnsiConvierte:
    • una cadena UNICODE a ANSI (Windows).
    • un buffer que contiene una cadena UNICODE en un buffer que contiene una cadena ANSI (Windows).
    UTF8ToStringConvierte una cadena UTF-8 a ANSI o UNICODE.
  • funciones para manipular cadenas de caracteres:
    CompleteDevuelve una cadena de caracteres de una longitud especificada.
    CompleteDirAgrega una barra invertida al final de la cadena, si es necesario.
    ExtractStringPermite:
    • 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.
    LeftExtrae la parte izquierda (es decir, los primeros caracteres) de una cadena o buffer.
    LengthDevuelve:
    • 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.
    MiddleExtrae:
    • una subcadena de una cadena a partir de una posición especificada.
    • parte de un buffer a partir de una posición especificada.
    NoAccentConvierte los caracteres acentuados de una cadena en caracteres no acentuados.
    NoSpaceDevuelve una cadena después de eliminar los espacios:
    • a la izquierda y derecha de la cadena inicial.
    • dentro de la cadena inicial.
    PositionBusca la posición de una cadena especificada en otra cadena.
    PositionOccurrenceBusca la posición X de una cadena dentro de otra.
    RepeatStringConcatena un número determinado de copias de la misma cadena o buffer especificado.
    ReplaceReemplaza todas las instancias especificadas de una subcadena en una cadena por otra subcadena.
    ReverseDevuelve el carácter que corresponde a la diferencia entre el código ASCII de un carácter específico en una cadena y 255.
    RightExtrae los últimos caracteres de una cadena o de un búfer de cadenas.
    StringCompareCompara dos cadenas carácter por carácter:
    • según el orden de caracteres ASCII.
    • según el orden alfabético.
    StringCountCalcula:
    • 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.
    StringFormatDefine el formato de una cadena de caracteres según las opciones seleccionadas.
    TypeVarIdentifica el tipo de una expresión, una variable (durante una llamada a un Procedure por ejemplo) o un control.
    ValDevuelve 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:
    fOpenAbre un archivo externo (ANSI o Unicode) para manipularlo mediante programación.
    fReadLee un bloque de bytes (caracteres) de un archivo externo (ANSI o UNICODE).
    fReadLineLee una línea de un archivo externo (ANSI o UNICODE).
    fWriteEscribe una cadena en un archivo externo (ANSI o UNICODE).
    fWriteLineEscribe 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
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 03/07/2023

Señalar un error o enviar una sugerencia | Ayuda local