El componente FormFile
Las propiedades $filereadencoding y $filewriteencoding del componente FormFile, introducido en la versión 4.0 de Studio, fueron modificadas en la versión 4.1, de modo que la constante kFFEncoding permitiese el uso del grupo kUniType… y poder así indicar la codificación del archivo. En el caso de la propiedad $filereadencoding podrán usarse todas las constantes del grupo excepto kUniTypeCharacter, y en el caso de la propiedad $filewriteencoding excepto kUniTypeAuto y kUniTypeCharacter .
Además, también se dispone de una constante kUniTypeBinary para identificar los archivos que se tratarán como datos binarios sin procesar, el código antiguo sigue estando soportado.
El componente Fileops
El componente Fileops contiene dos nuevos métodos, $readcharacter() y $writecharacter(), que permiten la lectura y/o escritura de datos en formato Unicode.
- $readcharacter(encoding,variable) Lee un fichero almacenando sus caracteres en variable; encoding podrá ser una constante del grupo kUniType…, excepto kUniTypeBinary o kUniTypeCharacter.
- $writecharacter(encoding,variable) Sustituye el contenido del archivo, con los datos de variable; encoding podrá ser una constante del grupo kUniType…, excepto kUniTypeAuto, kUniTypeBinary o kUniTypeCharacter.
Cuando se usan las opciones Import/Export y Report File
Es posible especificar la codificación de los archivos de texto que se generan al usarse las opciones de importación y exportación, así como al enviar un informe a un archivo de texto, esto podrá hacerse mediante las propiedades $importencoding y $exportencoding:
- $importencoding Especifica la codificación que se utilizará para los datos importados, tanto al importar desde un puerto, como cuando el archivo de importación no contiene una cabecera Unicode BOM. Podrá usarse cualquiera de las constantes del grupo kUniType..., con excepción de kUniTypeAuto, kUniTypeCharacter, kUniTypeBinary y las kUniTypeUTF32….
- $exportencoding Especifica la codificación que se utilizará en la exportación de datos, tanto al imprimir sobre un puerto o sobre un archivo de texto. Podrá usarse cualquiera de las constantes del grupo kUniType..., con excepción de kUniTypeAuto, kUniTypeCharacter y kUniTypeBinary.
- $exportbom Si es “true”, indicará que la propiedad $exportencoding deberá usar una codificación Unicode, se creará la marca Unicode BOM al inicio del archivo de salida.
Todas éstas propiedades pueden ser localizadas entre las preferencias Omnis ($root.$prefs). Cuando se trata de un servidor multi-hilo, existirá un valor separado para cada una de estas propiedades, en correspondencia con cada hilo.