Diferencia entre revisiones de «Categoría:MANUAL/PROGRAMADOR»

De Pragma Wiki
Ir a la navegación Ir a la búsqueda
Línea 13: Línea 13:


=CONFIGURACIONES IMPORTANTES DE DELPHI=
=CONFIGURACIONES IMPORTANTES DE DELPHI=
[[PRG DELPHI/CONFIGURACION|Configuraciones importantes de Delphi]] describe algunas configuraciones referidas a la instalación de Delphi para Pragma.
[[Category:MANUAL/PROGRAMADOR]]
Lo siguiente ya está configurado, pero siendo tan importante lo dejo aclarado aquí. Desde el menú de "Herramientas":
Lo siguiente ya está configurado, pero siendo tan importante lo dejo aclarado aquí. Desde el menú de "Herramientas":
[[Archivo:20250425 0955 DELPHI MENU OPCIONES.png|miniaturadeimagen|no|Acceso a las opciones.]]
[[Archivo:20250425 0955 DELPHI MENU OPCIONES.png|miniaturadeimagen|no|Acceso a las opciones.]]

Revisión del 17:56 13 may 2025

INTRODUCCIÓN

Esta categoría refiere al software desarrollado usando Delphi. Como se mencionó previamente la aplicación actúa mayormente como un navegador mostrando pantallas, consultas y opciones que están definidas en la base de datos.

No sabe nada acerca de qué está mostrando, pero sí sabe cómo mostrarlo y qué hacer cuando debe accionar sobre objetos del catálogo. Por ejemplo: los auxiliares.

No obstante, incluye alguna funcionalidad específicamente relacionada con algunos objetos del sistema ya que en el momento del desarrollo era más rápido programarlo en Delphi que definirlo en el catálogo. Habitualmente trabajamos contra reloj. Esa funcionalidad se asocia al grupo “IMPLEMENTED” de los descriptos más abajo.

Es muy poco frecuente que se toque el código de Delphi, y cuando se hace es habitualmente para ajustes muy sencillos.

FUNDAMENTOS BÁSICOS DE DELPHI

Instalación específica a Pragma

Instalación de Delphi describe algunos aspectos básicos de la instalación específica de Delphi para Pragma.

CONFIGURACIONES IMPORTANTES DE DELPHI

Configuraciones importantes de Delphi describe algunas configuraciones referidas a la instalación de Delphi para Pragma.

Lo siguiente ya está configurado, pero siendo tan importante lo dejo aclarado aquí. Desde el menú de "Herramientas":

Acceso a las opciones.

Accedemos a la pantalla de opciones, tenemos que ir a la pestaña de "Library":

Pantalla de opciones.

En esta pantalla tenemos que asegurarnos que existan los valores listados justo abajo.

Librarypath

Además de las opciones que arma la instalación, debe contener las siguientes rutas (separadas por puntos y comas):

C:\DevelopPrx\classes
C:\DevelopPrx\activex
C:\DevelopPrx\explorer
C:\DevelopPrx\frames
C:\DevelopPrx\html
C:\DevelopPrx\library
C:\DevelopPrx\server
C:\DevelopPrx\xml
C:\DevelopPrx\library\exec_key
C:\DevelopPrx\environments
C:\DevelopPrx\library\filters
C:\DevelopPrx\pPRAGMA
C:\DevelopPrx\implemented

El valor completo existente al momento de esta documentación es:

$(BDSLIB)\$(Platform)\release;$(BDSUSERDIR)\Imports;$(BDS)\Imports;$(BDSCOMMONDIR)\Dcp;$(BDS)\include;C:\Program Files (x86)\Raize\CS4\Lib\RS-XE;$(BDS)\RaveReports\Lib;C:\Program Files (x86)\Embarcadero\RAD Studio\8.0\RBuilder\Lib;C:\DevelopPrx\classes;C:\DevelopPrx\activex;C:\DevelopPrx\explorer;C:\DevelopPrx\frames;C:\DevelopPrx\html;C:\DevelopPrx\library;C:\DevelopPrx\server;C:\DevelopPrx\xml;C:\DevelopPrx\library\exec_key;C:\DevelopPrx\environments;C:\DevelopPrx\library\filters;C:\DevelopPrx\pPRAGMA;C:\DevelopPrx\implemented

Package output directory

Debe contener:

C:\DevelopPrx\xe\exe

DCP output directory

También debe contener:

C:\DevelopPrx\xe\exe

AYUDA EN LÍNEA SOBRE DELPHI

Para acceder a ayuda en línea sobre Delphi se puede consultar Documentación online de Delphi.

Aclaro que la ayuda de Delphi XE ya no está disponible en ese sitio, pero si de versiones posteriores.

INTRODUCCIÓN AL DESARROLLO EN DELPHI (en armado)

Delphi es un producto que permite desarrollar muchos tipos de software usando diferentes tipos de objetos.

Algunos de esos objetos son visuales como las ventanas y los frames (explicados más adelante) y otros no son visuales, como muchas de las clases que forman parte de la aplicación.

Esta sección describe los más usados.

Clases

La base de casi toda la funcionalidad de la aplicación son las clases, éstas definen estructuras de datos y comportamiento en un solo 'contenedor'.

Es necesario tener una comprensión básica de las clases para poder evaluar esta documentación.

Advertencia:

 - El vínculo Elementos comunes... se irá completando a lo largo de la documentación de este manual.

Componentes visuales

Delphi también permite usar varios tipos de componentes visibles al usuario, por ejemplo:

  • Controles usados en el ingreso de datos por el usuario: cajas de edición, botones, checkboxes, menús, etc.
  • Forms (formularios) que permiten definir pantallas completas que incluyen esos controles.
  • Frames permiten definir conjuntos visuales de controles pero se muestran al usuario dentro de un form, su uso es muy utilizado en la aplicación.

Forms y frames se describen en las siguientes secciones, los controles se describen en ambas.

Forms

Los forms permiten definir conjuntos visuales de controles (cajas de edición, botones, etc.) que se muestran al usuario como una pantalla.

Advertencia:

 - El vínculo Elementos comunes... se irá completando a lo largo de la documentación de este manual.

Frames

Los frames permiten definir los mismos conjuntos visuales de controles (cajas de edición, botones, etc.) que los forms, pero se muestran al usuario dentro de una pantalla. Bajo determinadas circunstancias es más conveniente definir frames que definir forms. Esto se argumenta más adelante.

Advertencia:

 - El vínculo Elementos comunes... se irá completando a lo largo de la documentación de este manual.

FUNCIONALIDAD ESPECÍFICA DE PRAGMA (en armado)

Diagrama de queries.
Diagrama de datasets.
Diagrama de frames.

Gráficos:

  • 20250509 1257 DIAGRAMA JERARQUIA QUERY.png
  • 20250509 1258 DIAGRAMA JERARQUIA DATASET.png
  • 20250509 1259 DIAGRAMA JERARQUIA FRAMES.png

******* HASTA AQUÍ LLEGAMOS, LO QUE SIGUE ES MACHETE PARA USAR COMO GUÍA *******

Advertencia:

 - Desde aquí para abajo es un machete para armar la documentación.
 - Está copiado de la propuesta y cronograma de documentación.
 - La documentación real es la que está arriba de este mensaje.

ANEXO “MANUAL DEL PROGRAMADOR” PROPUESTA

Componentes

El sistema está compuesto de clases, muchas de éstas extienden funcionalidad de Delphi para hacer su uso más sencillo, y otras son propias.

Hay clases que están deprecadas y deberían ser retiradas del código. Mi intención es hacerlo durante el proceso de la documentación.

Grupos de funcionalidad

A los efectos de este documento agrupé las clases de Delphi en grupos funcionales, todas refieren a clases de Delphi.

  • OBJETOS/CATALOGO: clases relacionadas con los catálogos.
  • OBJETOS/CLASES: clases relacionadas con las clases del catálogo.
  • OBJETOS/ENUMERACIONES: clases relacionadas con las enumeraciones del catálogo.
  • OBJETOS/CONSULTAS: clases relacionadas con las consultas del catálogo.
  • OBJETOS/VISTAS: clases relacionadas con las vistas del catálogo.
  • OBJETOS/FUNCIONES: clases relacionadas con las funciones del catálogo.
  • OBJETOS/PROCEDIMIENTOS: clases relacionadas con los procedimientos del catálogo.
  • OBJETOS/FRAMES: clases relacionadas con los frames del catálogo.
  • OBJETOS/SCRIPTS: clases relacionadas con los scripts del catálogo.
  • OBJETOS/AUXILIARES: clases relacionadas con los auxiliares del catálogo.
  • OBJETOS/REFRESCO: clases relacionadas con el refresco de catálogos (cada vez que hacemos un cambio en el catálogo se ejecuta un refresco).
  • EXPLORADOR: clases relacionadas con el form explorador de Pragma.
  • MENU OPCIONES: clases relacionadas con el menú de opciones de las pantallas.
  • FORMS: clases relacionadas con forms (pantallas) en general.
  • DATASETS: clases relacionadas con el acceso a datos de la base de datos.
  • EDICION/FORMS: forms (pantallas) de edición.
  • EDICION/FRAMES: frames (una especie de pantalla, o porción, que se aloja en una pantalla) de edición.
  • EDICION/CAMPOS: manejo de los campos durante la edición.
  • EDICION/CONTROLES: controles de edición.
  • IMPRESIÓN: clases relacionadas con la impresión.
  • FILTROS: clases relacionadas con las opciones de filtrado de las pantallas.
  • INTERFAZ DE USUARIO: otras clases relacionadas con la interfaz de usuario.
  • MENU: clases relacionadas con los menús de usuario
  • COMPROBANTES: clases relacionadas con el manejo genérico de comprobantes.
  • IMPLEMENTED: clases relacionadas con funcionalidad específica de objetos del catálogo.
  • REPLICACION: clases relacionadas con la replicación de datos.
  • PROYECCION FINANCIERA: clases relacionadas con la planificación financiera.
  • GRILLAS: clases relacionadas con las grillas de datos.

Casos de uso

La documentación incluirá “casos de uso” que recorre el uso de clases de Delphi para completar la tarea, Algunos casos son:

  • Inicio de la aplicación hasta llegar al menú de usuario, analizar opciones del menú.
  • Apertura de una consulta, ingreso de criterios y visualización del resultado, opciones de menú.
  • Apertura de una pantalla de datos, aplicar criterios de filtrado, opciones de menú.
  • Edición de una pantalla de datos, proceso de validación de los campos, grabado final.
  • Eliminación de un registro.

ANEXO “MANUAL DEL PROGRAMADOR” CRONOGRAMA

Estoy previendo 2 meses (40 días) para el manual del programador. Creo que la estrategia más útil será la de desarrollar los “casos de uso” mencionados en la propuesta de la documentación, y siguiendo esos casos, documentar los objetos que Pragma usa.

La documentación no enseña a programar en Pascal orientado a objetos ni enseña a usar Delphi. Solo la programación de Pragma en esa herramienta.

Casos de uso: 30 días

Los casos de uso previstos, que recorren casi toda la funcionalidad de Pragma, son en principio:

  • Inicio de la aplicación hasta llegar al menú de usuario, analizar opciones del menú.
  • Apertura de una consulta, ingreso de criterios y visualización del resultado, opciones de menú.
  • Apertura de una pantalla de datos, aplicar criterios de filtrado, opciones de menú.
  • Edición de una pantalla de datos, proceso de validación de los campos, grabado final.
  • Grabado de datos, transacciones.
  • Eliminación de un registro.

Objetos implementados en Delphi y otros componentes: 10 días

Estos componentes agregan a los documentados en “Casos de uso”. Algunos son:

  • Funcionalidad de objetos del catálogo implementados en Delphi (ej.: proyección financiera).
  • Repaso de grillas y controles de edición.
  • Repaso de Datasets.