Cosmos. Novedades y mejoras de la v. 4.4, release 1
Implementaciones
- Nueva propiedad "Read Only" en los controles tipo Check y
Radio.
- Nueva propiedad "Invisible" para las pestañas de un
control tipo Tab Control.
- Posibilidad de dibujar con bordes redondeados los controles tipo Box,
Box Group, Check Group y Band Group de la clase Page y en los listados
generados con la "prnpag32.dll".
- Posibilidad de exportar el contenido de los controles tipo List Box
y Grid a Excel. La exportación se podrá realizar
tanto a fichero XLS como CSV.
- Posibilidad de trabajar con ficheros XML a través de una "dll" en
Cosmos (ver "ttxmldll.dll").
- Posibilidad de definir el cambio automático del color de fondo
en los controles tipo Check, Radio, Edit, Drop List y Drop Edit cuando éstos
reciben el foco.
- Métodos para poder operar a nivel de bits. Todos los métodos
trabajan con objetos de 32 bits con signo.
- Posibilidad de inicializar estructuras con los valores por defecto
de la tabla asociada.
- Implementación de funciones para manejo de cadena de caracteres
en el gestor CTSQL.
- Easy Report en castellano.
- Posibilidad de descargar automáticamente contenidos que están
alojados en un servidor a través de su URL (documentos, imágenes,
etc.).
- Cosrep. Actualización de la base de datos a partir del repositorio.
Se ha añadido la opción de elegir que los "alter table" de
una tabla se agrupen en uno solo o se hagan individualmente. Para ello,
se ha incluido un check en la pantalla de actualización de base
de datos, así como un parámetro, llamado "-nodividealtertables",
por si se desea ejecutar desde la línea de comando.
- Instalación por defecto del Pagedit en las licencias Run-Time.
- Implementación de la sentencia LIMIT en el gestor y en el SQL-Embebido.
- El aspecto visual de los controles de tipo Lista se ha modificado.
A partir de esta versión las listas se muestran con líneas
de separación entre filas y entre columnas.
Métodos de la Clase SimpleControl
- HidePage. Oculta una pestaña en los controles Tab Control.
- IsPageHidden. Permite consultar si una pestaña de un control
Tab Control es visible o invisible.
- ExportToExcel. Exporta a Excel el contenido de los controles tipo List
y Grid.
- SetBoxRoundCornerRadio. Permite dibujar cajas con bordes redondeados
en los listados de Cosmos generados desde la clase Page.
- AddColumnFilterEx. Este método añade un filtro a una
lista de columnas por columna, operador y valor especificado. Si en la
lista de columnas que componen la consulta existen dos nombres de columnas
iguales, es posible indicar el nombre de la tabla a la que pertenece
la columna por la que se desea filtrar.
Métodos de la Clase Integer
- BitNot. Retorna un Integer que es el resultado de la operación
NOT, es decir, la negación lógica de cada uno de los bits
del objeto al que se aplica.
- BitAnd. Recibe como parámetro un objeto de la clase Integer
y retorna un Integer que será el resultado de la operación
AND entre el objeto Integer sobre el que se está aplicando el
método y el Integer que recibe como parámetro.
- BitOr. Recibe como parámetro un objeto de la clase Integer y
retorna un Integer que será el resultado de la operación
OR entre el Integer sobre el que se está aplicando el método
y el objeto Integer recibido como parámetro.
- BitXOr. Recibe como parámetro un objeto de la clase Integer
y retorna un Integer que es el resultado de la operación XOr entre
el objeto de la clase Integer sobre el que se aplica el método
y el objeto de la clase Integer que recibe como parámetro.
- BitShiftLeft. Recibe como parámetro un objeto de la clase Integer
y retorna un Integer que será el resultado de desplazar el entero
hacia la izquierda tantos bits como se indique.
- BitShiftRight. Recibe como parámetro un objeto de la clase Integer
y retorna un Integer que será el resultado de desplazar el entero
hacia la derecha tantos bits como se indique.
Todos los métodos trabajan con 32 bits con signo.
Métodos de la Clase Module
- GetUrlFile. Descarga un fichero a disco a partir de una URL enviada
como parámetro.
Métodos de la Clase Struct
- InitializeWithDefault. Inicializa una estructura con los valores por
defecto de los campos de la tabla que se le pasa como parámetro.
Variables de Entorno
- EDITFOCUSCTRBACKCOLOR. Permite definir el color de fondo de los controles
Edit, Drop List y Drop Edit cuando éstos reciben el foco. Esta
variable de entorno puede indicarse en el fichero de configuración
de Cosmos (cosmos.ini) o en el fichero de configuración del proyecto
en la sección "Environment".
- CHECKRADIOFOCUSCTRBACKCOLOR. Permite definir el color de fondo de los
controles Check y Radio cuando reciben el foco. Esta variable de entorno
puede indicarse en el fichero de configuración de Cosmos (cosmos.ini)
o en el fichero de configuración del proyecto en la sección "Environment".
- DRAWLISTLINES. Mediante esta variable de entorno se indicará si
se desea que las listas se muestren con líneas horizontales o
no. Sus posibles valores son TRUE o FALSE. El valor por defecto es FALSE.
Manejo de Ficheros XML
A partir de esta versión se podrán crear, salvar y modificar
ficheros XML desde Cosmos. Para ello, se ha creado una nueva "dll":
"ttxmldll.dll".
Las funciones que implementa esta "dll" son las siguientes:
- TTXmlNewDoc. Crea un nuevo documento XML.
- TTXmlNewNode. Crea un nuevo nodo XML.
- TTXmlNewChild. Crea un nodo XML indicando, además, el nodo padre
del documento XML al que pertenece.
- TTXmlDocSetRootElement. Asigna un nodo raíz al documento XML.
- TTXmlNewEncodedProp. Añade una propiedad a un nodo de un documento
XML.
- TTXmlSaveFormatFileEnc. Salva en un fichero un documento XML.
- TTXmlFreeDoc. Libera de la memoria el documento XML enviado como parámetro.
- TTXmlGetDocBuffer. Devuelve el buffer con el contenido completo
de un documento XML.
- TTXmlNewComment. Añade un nodo tipo comentario a un documento
XML.
- TTXmlNewTextChild. Crea un nuevo nodo XML de tipo texto, indicando
el nodo padre del documento XML al que pertenece.
- TTXmlOpenDoc. Abre un documento XML.
- TTXmlGetDocRootNode. Devuelve el identificador del nodo raíz
de un documento XML.
- TTXmlGetFirstChildNode. Devuelve el identificador del primer nodo hijo
de un nodo del documento XML.
- TTXmlGetNextNode. Devuelve el siguiente nodo hermano de un nodo del
documento XML.
- TTXmlGetNodeName. Devuelve el nombre de un nodo de un documento XML.
- TTXmlGetEncodedProp. Permite consultar el valor de una propiedad de
un nodo del documento XML.
- TTXmlGetNodeType. Permite consultar el tipo de un nodo del documento
XML.
- TTXmlGetNodeText. Permite consultar el texto asociado a un nodo del
documento XML.
- TTXmlRemoveNode. Elimina un nodo de un documento XML. Esta acción
elimina también sus hijos en cascada.
- TTXmlRemoveProperty. Elimina una propiedad de un nodo del documento
XML.
- TTXmlUpdateEncodedProp. Modifica el valor de una propiedad de un nodo
del documento XML.
- TTXmlCreateXPathContext. Crea un contexto para la generación
de una lista de nodos a través de XPATH.
- TTXmlCreateXPathList. Crea una lista de nodos a partir de una expresión.
- TTXmlGetXPathListNode. Devuelve el enésimo nodo de una lista
de nodos creada con la función TTXmlCreateXPathList.
- TTXmlGetXPathListNumNodes. Permite consultar el número de nodos
existentes en una lista de nodos creada a partir de la función
TTXmlCreateXPathList.
- TTXmlFreeXPathContext. Libera de memoria el contexto XPATH creado con
la función TTXmlCreateXPathList.
- TTXmlFreeXPathList. Libera de memoria la lista de nodos creada con
la función TTXmlCreateXPathList.
Métodos de prnpag32.dll
- SetBoxRoundCornerRadio. Permite dibujar cajas con bordes redondeados
en los listados de Cosmos generados desde la "dll": "prnpag23.dll".
Funciones del Gestor CTSQL
- UPPER. Devuelve una columna o una expresión en mayúsculas.
- LOWER. Devuelve la expresión en minúsculas.
- INITCAP. Devuelve la expresión con la primera letra de cada
palabra en mayúsculas y el resto en minúsculas.
- LTRIM. Elimina los blancos de la expresión por la izquierda.
- RTRIM. Elimina los blancos de la expresión por la derecha.
- CONCAT. Concatena una expresión y elimina los blancos por la
derecha.
- LPAD. Alinea la expresión a la izquierda, rellenando por la
derecha con el carácter que se indique hasta llegar al número
de caracteres especificado. Si no se indica ningún carácter,
rellenará con espacios en blanco. Si el número de caracteres
indicado es menor que la longitud de la expresión, trunca por
la derecha.
- RPAD. Alinea la expresión a la derecha, rellenando por la izquierda
con el carácter que se indique hasta llegar al número de
caracteres especificado. Si no se le indica ningún carácter,
rellenará con espacios en blanco. Si el número de caracteres
indicado es menor que la longitud de la expresión, trunca por
la izquierda.
- SUBSTR. Devuelve un "substring" de la expresión que
recibe como parámetro. Se deberán indicar el carácter
de inicio y el número de caracteres del "substring".
Si el número del carácter de inicio es negativo, el "substring" comenzará a ‘n’ caracteres
del final de la cadena.
- Sentencia LIMIT. Dentro de la instrucción SELECT, esta sentencia
permite indicar al gestor que retorne un rango de 'n' registros desde
la posición "X" a la posición "Y",
o bien los "Y" primeros.
Correcciones
- Debug.
El valor de los objetos que se visualizaban en la sección Watch
del Debugger de Cosmos no se mostraba completo.
Corregido
- Los eventos MouseEnter y MouseExit se lanzaban cuando la ventana que
los contenía no estaba activa.
Corregido
- Drop Edit.
Al realizar búsquedas por una columna de la lista y devolver el
valor de otra, indicando los caracteres para seleccionar la fila que
se quería encontrar, al pulsar [Flecha Abajo] el cursor se posicionaba
en el primer elemento de la lista y no en el que coincidía con
los criterios de búsqueda indicados.
Corregido
- Listados Excel.
Se ha ajustado el ancho de los listados exportados a Excel para que se
asemejen al ancho del listado real.
Corregido
- Método GetListColumnText.
Si se consultaba el texto de una columna de una lista y el número
indicado era superior al número de columnas definidas en la lista,
en determinadas circunstancias provocaba un error de memoria y el fin
de la ejecución de la aplicación.
Corregido
- Método AttachPrinter de la Clase PrnDocument.
En determinadas ocasiones, Cosmos no podía abrir la impresora
recibida como parámetro.
Corregido
- Método AttachPrinter de la "dll" prnpag32.dll.
En determinadas ocasiones, Cosmos no podía abrir la impresora
recibida como parámetro.
Corregido
- Cosrep.
La comparación entre el repositorio y la base de datos en tablas
con columnas de tipo DECIMAL o MONEY con atributo "Default" no
se realizaba de manera correcta si uno de los valores por defecto era
0 y el otro 0.0.
Corregido
- Cosrep.
Si en la base de datos la "label" de la columna ocupaba más
de 64 caracteres, al crear el repositorio sólo obtenía
los 64 primeros, por lo que si se realizaba una comparación devolvía
que eran diferentes.
Corregido
- Cosrep.
Al comparar columnas de tipo Time, Date y Datetime, teniendo definido
el atributo "Default" NOW, TODAY o CURRENT, respectivamente,
se tenían en cuenta las mayúsculas y las minúsculas,
por lo que se encontraban diferencias entre el repositorio y la base
de datos.
Corregido
- Si un control Edit Field asociado a una variable de tipo DateTime tenía
marcado el check "like variable", marcaba el tipo como Char
en lugar de Datetime.
Corregido
- Cuando se cerraba la ventana principal de un cliente MDI, ésta
no mandaba el evento "Close" a todos las ventanas hijas abiertas
con OpenAsMDIChild. Esto provocaba que si los hijos MDI tenían
definido un "On Close", éste no se ejecutara.
Corregido
- En el caso de tener una lista de iconos ".gif", Cosmos no
la cargaba completa.
Corregido
- El método getPropStr de la "prnpag32.dll" no devolvía
correctamente el valor de la propiedad Text del control sobre el que
se aplicaba la función.
Corregido