Cosmos. Nuevas funcionalidades de la versión 2.4
Editor de repositorios
- Admite el «drag & drop» (arrastrar y soltar).
- Se permite ordenar alfabéticamente el grupo seleccionado.
- Se permite documentar los elementos del repositorio.
- Se permite guardar el repositorio en formato ASCII.
- Ha cambiado la línea de comandos del comando cosrep.
Debugger
- Se ha incluido una nueva pestaña para mostrar los valores de
las variables de entorno.
CSQL
- El SQL Interactivo incorpora opciones de búsqueda de caracteres
en el fichero SQL.
Cosrun
- Se puede definir un proyecto por defecto para evitar la obligación
de poner el parámetro «-prj». Para hacerlo hay que
crear en la sección [Cosmos] del fichero «cosmos.ini» la
entrada «DEFPROJECT»:
[Cosmos]:
DEFPROJECT=c:\proyectos\miproyecto
Editor visual
- Se permite la compilación masiva de ficheros de mensajes. En
la ventana de Output se mostrarán los errores de compilación.
- Se permite multiselección para borrar variables de un Form,
objetos globales de un módulo y columnas de una tabla de un Form.
- Las paletas del Editor Visual ahora son de tipo «Dock» y
flotantes.
- Se permite guardar el proyecto en formato ASCII.
- Se permite tener un fichero de configuración por proyecto.
- Se permite documentar proyectos.
- La opción «New Project» muestra un nuevo cuadro
de diálogo para elegir directorio. Se cambia el diálogo
anterior por uno nuevo que selecciona un directorio en lugar de un nombre
de fichero.
- La opción «New Project» no obliga a crear el proyecto
en un subdirectorio con el mismo nombre.
- Existe una nueva opción en el menú para ejecutar el programa
CosmoWeb.
- Nueva opción «Help» en el menú popup del
browser de un módulo.
- La opción del menú «Tools» en la que se piden
los parámetros de ejecución ha cambiado por una nueva denominada «Settings» que,
de momento, sirve para pedir los parámetros de ejecución
y para decidir si se quiere o no que salga la ventana de progreso al
compilar.
- Se permite ordenar alfabéticamente las listas multicolumna del
editor visual (variables, constantes, objetos) al hacer clic sobre la
cabecera.
- Se permite ordenar alfabéticamente por nombre los grupos y módulos
de un proyecto.
- El editor de objetos de un módulo, el editor de variables de
un Form y el editor de columnas admiten «drag & drop» (arrastrar
y soltar).
- En un programa de mantenimiento de tipo cabecera-líneas no es
obligatoria la dependencia entre las tablas.
- El editor visual de Cosmos incorpora generadores de código (wizards)
que facilitan la programación al usuario:
-
Wizards de proyecto:
Permiten generar una aplicación de mantenimiento de una base
de datos.
-
Wizards de módulos:
A partir de una o más tablas del repositorio crea un módulo
que implementa el mantenimiento de las tablas elegidas y/o un listado
de las mismas.
-
Wizards de clases:
Facilita al usuario la programación de los listados y programas
de mantenimiento.
-
Personalización
de los wizards: Con Cosmos se entrega un módulo de tipo «template»,
llamado «template.inc», que es el que se utiliza como
base en la generación. No obstante, el usuario puede modificar
el «include» «template.inc» o puede hacerse
sus propios módulos de tipo «template».
Editor de páginas
de impresión y editor de screen
-
Paleta de iconos: Al situar el ratón sobre un icono se muestra
su posición dentro del fichero de iconos.
-
En el diálogo de edición de propiedades se permite modificar
la posición y el tamaño de un control.
-
Líneas de alineamiento:
La paleta de ajuste tiene
dos nuevas opciones:
y
que
permiten alinear controles respecto a unos ejes virtuales creados por
el usuario, pudiendo alinear controles que tengan distinto control «padre».
-
Se permite definir máscaras de edición «Picture» para
los controles que pueden tener asociada una variable de tipo «Char».
La máscara puede estar compuesta por los siguientes símbolos:
| A |
Cualquier carácter alfabético. |
| # |
Cualquier carácter numérico. |
| X |
Cualquier carácter alfanumérico |
Cualquier otro carácter se tratará como
un literal y aparecerá en el campo en la misma posición que
se indique en la máscara.
- Los controles de tipo «Bitmap» permiten mostrar ficheros
con formatos «GIF» y «JPEG».
- Los controles de tipo «Grid» pueden tener más de
una página.
- Se incluye un nuevo flag («Exclude Mask») para los controles
de edición que pueden tener asociada una variable de tipo «Char» o «Picture».
Si no se activa este flag el valor de la variable asociada al control
se grabará en la base de datos con el «Picture» indicado,
en caso contrario el picture sólo se utiliza para presentación.
- En el editor de screen se puede cambiar la página activa de
un control de tipo «Bitmap», «Tab», «Group» y «Box» pulsando
[Pág. Anterior] y [Pág. siguiente].
- En el editor de páginas de impresión se puede cambiar
la página activa de un control de tipo «Bitmap» o «Box» pulsando
[Ctrl]+[Pág. Anterior] y [Ctrl]+[Pág. siguiente].
Clases predefinidas
Se han añadido dos nuevas clases a la jerarquía:
Métodos
Métodos nuevos de la
clase Module
Los nuevos métodos de la clase «Module» son:
- «AsgVar»: Permite modificar el valor del objeto sobre el
que se aplica.
- «EvalVar»: Retorna por refencia el valor del objeto global
sobre el que se aplica.
- «GetOption»: Permite consultar el comportamiento de un
módulo en ejecución.
- «SetOption»: Permite definir el comportamiento de un módulo
en ejecución.
- «Sleep»: Detiene la ejecución del programa tantos
segundos como se indique en el parámetro.
- «WaitCursor»: Permite cambiar el cursor del ratón.
Pone como cursor el reloj.
Métodos nuevos de la clase
Form
Los nuevos métodos de la clase «Form» son:
- «AsgVar»: Permite modificar el valor de la variable sobre
la que se aplica.
- «EvalVar»: Retorna por refencia el valor de la variable
global sobre la que se aplica.
- «GetOption»: Permite consultar el comportamiento de un «Form» en
ejecución.
- «OpenAsView»: Permite ejecutar un «Form» Cosmos
como «hijo» de una ventana padre MDI ya definida.
- «SetOption»: Permite definir el comportamiento de un «Form» en
ejecución.
- «SetTimer»: Un temporizador («timer») de Windows
es un dispositivo de entrada que notifica periódicamente a una
aplicación cuándo ha transcurrido un determinado intervalo
de tiempo. Este método recibe como parámetro el identificador
del temporizador y la frecuencia con que Windows envía un mensaje
a su aplicación.
- «KillTimer»: Cuando un programa se construye usando un
temporizador debe llamar a «KillTimer» para detener los mensajes
del temporizador. Recibe como parámetro el identificador del temporizador
que se desea parar.
Métodos de la clase SqlCursor
Los metodos «Fetch», «FetchLast», «FetchPrev» y «FetchNext» permiten
utilizar variables de tipo estructura en la cláusula «INTO».
Combinando esta posibilidad con la definición de una clase «Struct
like tabla» se podría hacer el «Fetch into» una
estructura de ese tipo.
Métodos de la clase Char
Los operadores «operator +» y «operator +=» de
la clase «Char» se han modificado. Si tenemos una variable «a="Hola"» y «b=NULL», «a+b» retorna «a» (antes
retornaba «NULL»).
Métodos de la clase PrnDocument
- «OpenPrinter»: Recibe como parámetro un flag que
permite indicar si se desea mostrar el cuadro de diálogo de selección
de impresoras. El valor por defecto de este parámetro es «FALSE».
Los nuevos métodos de la clase «PrnDocument» son:
- «SetPaper»: Permite modificar el tipo de papel que utilizará la
impresora.
- «SetPaperName»: Permite modificar el tipo de papel que
utilizará la impresora. Recibe como parámetro el nombre
del tipo de papel.
- «SetPaperSize»: Permite modificar el tamaño del
papel.
Métodos nuevos de la
clase FormTable
Los nuevos métodos de la clase «FormTable» son:
- «AsgVar: Permite modificar el valor de la columna sobre la que
se aplica.
- «EvalVar»: Retorna por refencia el valor de la columna
sobre la que se aplica.
- «GetOption»: Permite consultar el comportamiento de un «FormTable» en
ejecución.
- «SetOption»: Permite definir el comportamiento de un «FormTable» en
ejecución.
Métodos de la clase
Control
Los nuevos métodos de la clase «Control» son:
- «InPage»: Retorna el número de página del
control «padre» a la que pertenece el control que llama al
método.
- «Next»: Puede recibir como parámetro un 5. En este
caso retorna el último control «hijo» de la página
activa del control que llama al método.
Métodos nuevos de
la clase SimpleControl
Los nuevos métodos de la clase «SimpleControl» son:
- «GetItemSelected»: Este método retorna el índice
de los elementos seleccionados en un control de tipo «List box» con
multiselección.
- «SetPicture»: Nuevo método para controles «Edit
Field», «Drop Edit», «Text» de «Form» y «Variable» de «Page» (sólo
si es de tipo carácter). Permite consultar o modificar la máscara
de edición para los controles que pueden tener asociada una variable
de tipo «Char».
Método nuevo de la clase
Page
Se ha añadido el siguiente método a la clase Page:
- «Control»: Este método retorna por referencia el
control de la página que tiene como identificador el indicado
como parámetro. Permite acceder a un control de un clase «Page» abstracta.
»