Curso Básico de Cosmos

Curso básico de programación y lenguaje SQL

1. El Entorno Windows

  • La interfaz gráfica de usuario (GUI: Grafhical User Interface).
  • La ventaja de la multitarea. La administración de memoria.
  • El procedimiento ventana. El objeto principal de Windows.
  • Los controles.
  • Los menús y sus diferentes variantes.
  • Aceleradores.
  • Los eventos.
  • Posición dentro de la aplicación. El foco.

2. Programando en Windows

  • Programación orientada a objetos. Introducción.
  • Conceptos fundamentales de la programación orientada a objetos.
  • Las Clases:
    • Atributos.
    • ¿Qué es un método?
    • Especificadores de acceso.
  • Los objetos. La representación particular de una clase.
  • Mensajes.
  • Instanciación.
  • Herencia.
  • Otros conceptos importantes:
    • Modularidad.
    • Abstracción.
    • Encapsulación.
    • Polimorfismo.
  • Objetivos a alcanzar con el diseño orientado a objetos:
    • Modificabilidad.
    • Mantenibilidad.
    • Comprensibilidad.
    • Reusabilidad.
    • Adaptabilidad.
    • Eficiencia.
    • Portabilidad.
  • Clases abstractas.
  • Clases virtuales.
  • Clase instanciable.

3. Organización de Cosmos

  • Visión general a través de sus elementos más significativos:
    • Entorno "RAD" (Rapid Application Development) de gran productividad.
    • Lenguaje de cuarta generación orientado a objetos (Cool).
    • Gestor de base de datos relacional con interfaz SQL (CSQL).
    • Introducción a las herramientas auxiliares del producto (editores de configuración, de código y de iconos, EasyReport, etc.).
  • Instalación:
    • Elementos que constituyen la Licencia de Cosmos.
    • Requisitos de software y hardware para el correcto funcionamiento de Cosmos.
    • Instalaciones en monopuesto y red local (Cosmos y Cosmos/WG).
    • Instalaciones en cliente-servidor.
    • Instalaciones con "gateways" (Informix, Oracle).
  • Estructura de directorios:
    • Directorio "bin" (ejecutables correspondientes a los distintos comandos de Cosmos).
    • Directorio "drw" y subdirectorios (cuadros de diálogo de los comandos de Cosmos).
    • Directorio "etc" (iconos y el fichero de configuración "COSMOS.INI").
    • Directorio "msg" y subdirectorios (mensajes de Cosmos y ayuda en línea).
    • Directorio "projects" y subdirectorios (fuentes de demostración y base de datos utilizada).
    • Directorio "samples" (ejemplos de demostración utilizados por la ayuda en línea).
  • Tipos de ficheros.
  • Los comandos de Cosmos y su correspondencia con las herramientas de Cosmos:
    • Cedit. Editor de código fuente.
    • Ceasyrep. Para la realización de informes a partir de la información de una base de datos.
    • Cosmos. Editor visual.
    • Cosmake. Compilador del lenguaje orientado a objetos de cuarta generación Cool.
    • Cosicons. Editor de iconos.
    • Cosinfo. Generación de listado con las propiedades, los métodos y eventos de Cosmos.
    • Coscds Editor de esquemas conceptuales de datos.
    • Cosconf. Editor de configuración.
    • Cosrep. Editor de repositorios.
    • Cosrun. Ejecutor de programas Cosmos.
    • Cosbooks. Visualizador de ficheros de ayuda.
    • Csql. Sql Interactivo.
    • Tchkidx. "Chequeador" de tablas de la base de datos.
    • Tcollcom. Compilador de ficheros de secuencias de ordenación para el gestor de bases de datos.
    • Cosmsg. Compilador de ficheros de mensajes.
    • Tlisterr. Monitorización de posibles errores en las tablas de la base de datos.
    • Trepidx. Reparador de tablas defectuosas de la base de datos.

4. El entorno de trabajo de Cosmos

  • Clasificación de las variables de entorno:
    • Variables de entorno de conexión.
    • Variables de formato.
    • Variables de entorno utilizadas por EasyReport.
    • Variables de entorno diversas.
    • Variables de conexión con el CTSQL.
  • El editor de configuración.
  • Política de entornos.
  • Política de contraseñas.
  • Edición de entornos.
  • El comando "cosconf".
  • Acciones que puede realizar un usuario distinto de system.
  • Acciones propias del usuario system.
  • El fichero de configuración "Cosmos.ini".

5. El primer paso. El administrador de repositorios

  • Conceptos básicos sobre bases de datos relacionales.
  • El repositorio.
  • Automatización del diseño de estructuras de bases de datos. Definición y mantenimiento de los repositorios:
    • Crear un repositorio.
    • Crear una tabla, grupo o plantilla.
    • Cuadro de diálogo "Table Edition".
    • Editar una tabla, plantilla o grupo.
    • Borrar una tabla, plantilla o grupo.
    • Mover una tabla, plantilla o grupo.
    • Edición de columnas y/o estructuras.
    • Cuadro de diálogo "Columns for Table".
    • Cuadro de diálogo "Column Editión".
    • Cuadro de diálogo "Structure edition for Table".
    • Editar claves primarias.
    • Cuadro de diálogo "Primary Key for Table".
    • Editar índices.
    • Cuadro de diálogo "Indexes for Table".
    • Cuadro de diálogo "Index for Table".
    • Editar Joins y Claves Referenciales.
    • Cuadro de diálogo "Joins for Table".
    • Cuadro de diálogo "Join Edition for Table".
    • Guardar el repositorio.
    • Crear la base de datos.
    • Generar un repositorio desde una base de datos.
    • Cuadro de diálogo "Database Options".
    • Cuadro de diálogo "Connection".
    • Cuadro de diálogo "Add Connection".
    • Comparar el repositorio en edición con otro repositorio o con una base de datos.
    • Cuadro de diálogo "Differences between repositorys".
  • El comando cosrep.
  • Comunicación con el SQL y con bases de datos:
    • Definir opciones de la base de datos.
    • Creación de una base de datos a partir de la información contenida en el repositorio.
    • Creación de un repositorio a partir del diccionario de una base de datos.
    • Importar datos de un repositorio o una base de datos al repositorio en edición.
    • Importación de datos de una base de datos o de otro repositorio.
    • Actualizar un repositorio con los datos de una BD o viceversa.
    • Cuadro de diálogo "Update with database".
    • Cuadro de diálogo "Update" en la actualización de un repositorio con una base de datos.
    • Generar fichero SQL con la estructura del repositorio.
  • Gestión de repositorios.

6. La herramienta principal de Cosmos: El editor visual

  • Pasos para crear una aplicación Cosmos:
    • Creación de un proyecto.
    • Organizar el proyecto.
    • Importar un repositorio de datos.
    • Creación y gestión de módulos.
    • Creación de las clases del módulo.
    • Creación de los objetos del módulo.
    • Escritura del código fuente.
  • El proyecto:
    • Crear un proyecto.
    • Editor de proyectos.
  • Editor de aceleradores de teclado:
    • Aceleradores de teclado para los comandos definidos.
    • Editor de aceleradores de teclado.
  • Editor de ficheros de mensajes:
    • Ficheros de mensajes.
    • Añadir un fichero de mensajes al proyecto.
    • Editor de ficheros de mensajes.
  • Editor de módulos:
    • Edición de módulos.
    • Editor de clases.
    • Editor de objetos.
    • Editor de constantes.
    • Wizard de clases.
    • Editor de código.
  • Utilidades de los editores de código y ficheros de mensajes.
  • Paleta de proyecto.
  • Barra de estado.
  • Compilación:
    • Comando cosmake.
    • Comando cosmsg.
  • Ejecución de un programa:
    • Comando cosrun.
  • Comando cosmos.
  • El editor de screen.
  • El editor de páginas de impresión.
  • El editor de menús.
  • El depurador de programas ("debugger").

7. Cool (Cosmos Object Oriented Language). El lenguaje de programación

  • Lenguaje de 4ª generación orientado a objetos.
  • Elementos de Cool. La unidad básica: el Token.
  • La división de un proyecto en pequeños módulos.
  • Identificador.
  • Literales.
  • Expresiones.
  • Orden de evaluación de expresiones.
  • Condiciones.
  • Instrucciones vacías y compuestas.
  • Sintaxis de las Instrucciones de control.
  • Definición de los datos:
    • Definición de constantes.
    • Definición de clases.
    • Definición de objetos.
    • Los objetos gráficos y sus atributos. Las propiedades.
    • Definición de métodos (Función, DLL, Operador, Conversor, Main).
  • Notificación (Form, Control, Tabla).
  • Comando (de Form, de Tabla).
  • Paso de parámetros por referencia y por valor.
  • Definición de parámetros con valor por defecto.
  • Redefinición de métodos.
  • El objeto self.
  • Operadores lógicos.
  • Ámbito y visibilidad de un objeto.
  • Conversiones entre clases predefinidas.

8. Las clases en Cosmos

  • Tipos de clases. Definiciones:
    • Clases virtuales.
    • Clases abstractas.
    • Clases instanciables.
  • Jerarquía de clases. Las clases predefinidas.
  • La clase principal. La clase Object:
    • Métodos de la clase Object.
    • Operadores.
  • Clases predefinidas de Cosmos.
  • Jerarquía de clases:
    • Clase Simple.
    • Clase Complex.
    • Clase Container.

9. Una clase importante: La clase FORM

  • Creación de un Form básico:
    • Creación de plantillas.
    • Creación de un programa de entrada de datos sobre una tabla.
  • La clase Form. Definición y usos:
    • Estructura de un Form.
    • Comandos, eventos y notificaciones de un Form.
    • Funcionalidad básica de un Form.
    • El modelo vista controlador.
    • Las tablas del Form.
    • Edición de la screen de un Form. La comunicación de la aplicación con el usuario.
    • Lista de controles de la screen del Form.
    • Un Form de ejemplo. El Form de clientes.
    • Un Form de cabeceras-líneas (albaranes).
    • Controles de tipo lista.
    • Modos de edición de un Form.
    • Bloqueo de filas.
    • Forms modales y no-modales.
    • Personalización de la paleta de controles.

10. Una clase relacionada con FORM: La clase MENÚ

  • La clase Menú:
    • Menús popup; track.
    • Menús pulldown.
  • El menú del Form. El programa "Inicio". El comienzo de nuestra aplicación.

11. Notificaciones, comandos y propiedades de las clases más importantes de Cosmos

  • Notificaciones de los controles.
  • Notificaciones de los Forms.
  • Notificaciones de las tablas.
  • Comandos de la tabla.
  • Comandos del Form.
  • Propiedades y cómo utilizarlas.
  • Propiedades de los menús.
  • Propiedades de los controles.

12. El SQL dinámico. Las clases SQL

  • Las clases SQL (acceso a bases de datos):
    • La clase SqlServer.
    • La clase SqlStatement.
    • La clase SqlCursor.

13. Impresión de documentos. Clases Page y PrnDocument

  • La clase Page. El editor gráfico de informes.
  • La clase PrnDocument. Conexión entre Page y la impresora.
  • Listados de ejemplo.