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

De Pragma Wiki
Ir a la navegación Ir a la búsqueda
(No se muestran 89 ediciones intermedias del mismo usuario)
Línea 8: Línea 8:
Es muy poco frecuente que se toque el código de Delphi, y cuando se hace es habitualmente para ajustes muy sencillos.
Es muy poco frecuente que se toque el código de Delphi, y cuando se hace es habitualmente para ajustes muy sencillos.


=INSTALACIÓN DE DELPHI=
=ASPECTOS BÁSICOS DE DELPHI=
La aplicación está desarrollada en Delphi XE usando Pascal orientado a objetos, la única librería adicional es “ReportBuilder” de https://www.digital-metaphors.com/ en su versión para Delphi XE.
===Instalación específica a Pragma===
*[[PRG DELPHI/INSTALACION|Instalación de Delphi]] describe algunos aspectos básicos de la instalación específica de Delphi para Pragma.


Esta combinación de software se encuentra en mi PC de la oficina. Esta PC próximamente será trasladada a la sala de servidores para que deje de ser un equipo de uso diario y solamente se use para cambios en las fuentes.
===Configuraciones importantes===
*[[PRG DELPHI/CONFIGURACION|Configuraciones importantes de Delphi]] describe algunas configuraciones referidas a la instalación de Delphi para Pragma.


Las fuentes están instaladas en una carpeta denominada '''C:\DevelopPrx''' y no deberían ser movidas a otra carpeta.
===Ayuda en línea sobre Delphi===
Para acceder a ayuda en línea sobre Delphi se puede consultar [https://docwiki.embarcadero.com/RADStudio/Athens/en/Main_Page Documentación online de Delphi].


Delphi se abre desde el menú de inicio de Windows:
Aclaro que la ayuda de Delphi XE ya no está disponible en ese sitio, pero sí de versiones posteriores.
[[Archivo:20250422 1458 DELPHI INICIO WINDOWS.png|miniaturadeimagen|no|Abrir Delphi desde el menú de inicio.]]


Cuando Delphi aparezca en pantalla mostrará una pantalla como la de abajo:
===Introducción al desarrollo en Delphi===
[[Archivo:20250422 1503 DELPHI INICIO.png|miniaturadeimagen|no|Pantalla de inicio de Delphi.]]
*En [[:Category:PRG DELPHI/DESARROLLO|Introducción al desarrollo en Delphi]] hay una breve documentación sobre el desarrollo en Delphi usando Object Pascal.


Los archivos descriptos refieren a proyectos o grupos de proyectos (cada proyecto sería una aplicación o una librería).
<div style="border: 1px solid red; background-color: #ffcccc; padding: 1px;">
<strong>  Advertencia:</strong><br>
  - IR AL LINK PORQUE HAY QUE AGREGAR ALGO SOBRE COMPONENTCOUNT...
</div>


El proyecto '''prxNavegadorPrj.dproj''' no interesa porque corresponde a una prueba que ya está integrada a la aplicación (más sobre esto más adelante).
=DOCUMENTACIÓN DE PRAGMA=
==DATASETS==
Los datasets en Delphi son los componentes que se conectan a una base de datos, y a los objetos que éstas contienen tales como tablas, procedimientos y demás. Pragma deriva de estos componentes agregando funcionalidad específica.


El grupo de proyectos denominado '''prxProjectGroupXE.groupprj''' corresponde a un grupo de proyectos que es el que incluye a la aplicación, como lo indica la aplicación este archivo se encuentra en '''C:\DevelopPrx\xe\''' y el archivo es '''prxProjectGroupXE.groupprj'''.
Delphi incluye una variedad de componentes de conexión a datos, los elegidos para Pragma son aquellos que se conectan a través de [https://learn.microsoft.com/es-es/dotnet/framework/data/adonet/ ADO] que es un conjunto de clases que proporcionan servicios de acceso a datos. Por ejemplo, desde Pragma a un servidor SQL SERVER.


Hay que picar sobre ese grupo de proyectos para que Delphi muestre su pantalla principal:
===Conexión a la base de datos===
[[Archivo:20250422 1518 DELPHI PANTALLA GENERAL.png|miniaturadeimagen|no|Contenido del grupo de proyectos en Delphi.]]
Esta sección incluye componentes que, si bien no son datasets, tienen que ver con la conexión a la base de datos.
*[[:Category:DATASETS/CONEXION|Conexión a la base de datos]] describe estos componentes.


===Proyectos incluidos (relevantes)===
===Queries===
Estos proyectos son necesarios para armar (o usar) la aplicación:
Los queries (que literalmente se traducen como '''consultas''') son componentes que pueden usarse para ejecutar sentencias de SQL, normalmente de lectura, pero también de ejecución. Derivan de un componente de Delphi denominado [https://docwiki.embarcadero.com/Libraries/Athens/en/Data.Win.ADODB.TADOQuery TADOQuery] y agregan funcionalidad propia. Se usan habitualmente para consultar datos o aplicar sentencias SQL a la base de datos, pero no se usan con controles de edición de datos de tablas.
*'''prxControlsPkgXE.bpl''': librería de componentes usando en la aplicación, el archivo reside en '''C:\DevelopPrx\xe\exe'''.
*'''prxExplorerPrj.exe''': proyecto que arma la aplicación principal, reside en '''C:\DevelopPrx\xe\exe'''.
*'''prxFramesPrj.exe''': proyecto que arma la aplicación que abre las pantallas cuando no se usa modo,local, reside en '''C:\DevelopPrx\xe\exe'''.
*'''prxTouchPrj.exe''': proyecto que arma la aplicación para TouchScreen, reside en '''C:\DevelopPrx\xe\exe'''. Esta aplicación no está en uso (ni lo estará).
*'''fva_exec_key_prj.exe''': aplicación para generar las llaves de seguridad según el anexo de seguridad del acuerdo.


===Otros proyectos incluidos (todos obsoletos)===
*La categoría [[:Category:DATASETS/QUERIES|Queries]] describe a los queries.
Estos proyectos no tienen uso y probablemente ni siquiera compilen.
*'''prxHTMLControls.bpl''': librería que contiene los componentes usados por la vieja aplicación de consultas de saldos de cámaras denominada '''prxHTMLExplorerPrjXE.exe''', reside en C:\DevelopPrx\xe\exe.
*'''prxHTMLExplorerPrjXE.exe''': antigua aplicación para consultar los saldos de cámaras, reside en C:\DevelopPrx\xe\exe.
*'''fvsMediaExplorerPrj.exe''': aplicación de prueba para explorar archivos multimedia, no está en uso.
*'''fvsTrimmerPrj.exe''': aplicación para quitar espacios a la derecha de un texto, reside en C:\DevelopPrx\xe\exe..
*'''fvs_CSIDL_PERSONAL_Prj.exe''': aplicación para acceder a carpetas especiales.
*'''fvsXMLDocumentPrj.exe''': aplicación para probar la apertura de documentos XML.
*'''fvsImagesFromDiskPrj.exe''': aplicación para encontrar imágenes en el disco.


=CONFIGURACIONES IMPORTANTES DE DELPHI=
===Datasets===
Lo siguiente ya está configurado, pero siendo tan importante lo dejo aclarado aquí. Desde el menú de "Herramientas":
Los [https://docwiki.embarcadero.com/Libraries/Sydney/en/Data.DB.TDataSet Datasets] normalmente representan datos (de una base de datos, u otro origen como Excel) en forma de filas (llamadas registros) y columnas (llamadas campos). Introducen la funcionalidad básica para trabajar con esta información facilitando la edición de esos datos. No se usan para hacer consultas.
[[Archivo:20250425 0955 DELPHI MENU OPCIONES.png|miniaturadeimagen|no|Acceso a las opciones.]]


Accedemos a la pantalla de opciones, tenemos que ir a la pestaña de "Library":
Los [https://docwiki.embarcadero.com/Libraries/Sydney/en/Data.Win.ADODB.TADODataSet TADODatasets] derivan de los [https://docwiki.embarcadero.com/Libraries/Sydney/en/Data.DB.TDataSet Datasets] y conectan con los orígenes de datos exclusivamente a través de una conexión ADO.
[[Archivo:20250425 1000 DELPHI PANTALLA OPCIONES.png|miniaturadeimagen|no|Pantalla de opciones.]]


En esta pantalla tenemos que asegurarnos que existan los valores listados justo abajo.
*La categoría [[:Category:DATASETS|Datasets]] describe a los datasets.


===Librarypath===
===Datasets implementados===
Además de las opciones que arma la instalación, debe contener las siguientes rutas (separadas por puntos y comas):
Los datasets implementados derivan de alguno de los datasets ya mencionados e implementan funcionalidad específica a alguna de las tablas del sistema.
<pre>
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
</pre>


El valor completo existente al momento de esta documentación es:
Por ejemplo, el dataset implementado denominado [[TFVCAB_implemented|Cabecera de factura de ventas FVCAB (TFVCAB_implemented)]] implementa funcionalidad específica a la tabla [[FACTURAS VENTA|Facturación a clientes (FVCAB)]]. Cuando la aplicación recibe la instrucción de abrir una ventana primero debe crear el dataset que conectará a la base de datos, y antes de abrir uno de los datasets mencionados verifica si existe un dataset que tenga el mismo nombre de la tabla (más el prefijo '''T''') y el sufijo '''_implemented'''. Si existe lo usa, sino usa el dataset genérico.
<pre>
$(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
</pre>


===Package output directory===
Estos datasets implementados han resultado prácticos para incorporar funcionalidad específica que excede las posibilidades de las herramientas específicas.
Debe contener:
<pre>
C:\DevelopPrx\xe\exe
</pre>


===DCP output directory===
*La categoría [[:Category:DATASETS/IMPLEMENTADOS|Datasets implementados]] describe a los datasets implementados.
También debe contener:
 
<pre>
<div style="border: 1px solid red; background-color: #ffcccc; padding: 1px;">
C:\DevelopPrx\xe\exe
<strong>  Advertencia:</strong><br>
</pre>
  - Hay que agregar TprxADOClientDM en alguna parte de los datasets.
</div>


=AYUDA EN LÍNEA SOBRE DELPHI=
==CONTROLES==
Para acceder a ayuda en línea sobre Delphi se puede consultar [https://docwiki.embarcadero.com/RADStudio/Athens/en/Main_Page Documentación online de Delphi].
Los controles en Delphi son componentes que tienen una representación visual y permiten la interacción del usuario con la aplicación.


Aclaro que la ayuda de Delphi XE ya no está disponible en ese sitio, pero si de versiones posteriores.
[https://docwiki.embarcadero.com/Libraries/Sydney/en/Vcl.Controls.TWinControl TWinControl] es el componente que define la funcionalidad de casi todos los controles visuales.


=INTRODUCCIÓN AL DESARROLLO EN DELPHI=
Los controles pueden recibir el foco, es decir que podemos posicionar el cursor sobre ellos (por ejemplo: picar una pantalla para traerla al frente), y el control con el foco recibe eventos del teclado y del mouse.
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.
Algunos controles cambian de aspecto cuando reciben el foco, por ejemplo: los botones dibujan una caja en el contorno cuando reciben el foco.


Esta sección describe los más usados.
Un control puede ser contenedor para otros controles, los que se refiere como 'hijos'. Esta relación se define usando la propiedad '''Parent''' del control que indica sobre qué control se ubica el analizado.


==Clases==
[https://docwiki.embarcadero.com/Libraries/Sydney/en/Vcl.Controls.TWinControl Ayuda de Delphi sobre TWinControl.]
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.
===Controles de edición===
*En [[:Category:PRG DELPHI/CLASES|Definición de clases en Delphi]] se incluye una guía para comprender la definición y uso de una clase.
Los controles de edición son aquellos que pueden recibirla interacción directa de un usuario, por ejemplo: ingresando un texto en una caja de edición.
*En [[:Category:PRG DELPHI/ELEMENTOS CLASES|Elementos comunes a las clases en Delphi]] se describen algunos elementos comunes a la mayoría de las clases.


==Componentes visuales==
*La categoría [[:Category:CONTROLES|Controles]] describe los controles más usados.
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.
<div style="border: 1px solid red; background-color: #ffcccc; padding: 1px;">
<strong>  Advertencia:</strong><br>
  - Habría que describir prxcamposJER_RUNTIME_VISTA para mostrar cómo se define el control que usamos para cada campo de una clase.
</div>


==Forms==
===Forms===
Los forms permiten definir conjuntos visuales de controles (cajas de edición, botones, etc.) que se muestran al usuario como una pantalla.
Los forms permiten definir conjuntos visuales de controles (cajas de edición, botones, etc.) que se muestran al usuario como una pantalla.
*En [[:Category:PRG DELPHI/FORMS|Definición de forms en Delphi]] podemos conocer la funcionalidad de los forms usando un ejemplo sencillo.
*En [[:Category:PRG DELPHI/ELEMENTOS FORMS|Elementos comunes a los forms en Delphi]] se describen algunos elementos comunes a los forms.


==Frames==
*La categoría [[:Category:CONTROLES/FORMS|Forms]] describe los forms más usados.
 
[https://docwiki.embarcadero.com/Libraries/Sydney/en/Vcl.Forms.TForm Ayuda de Delphi sobre forms.]
 
===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.
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.
*En [[:Category:PRG DELPHI/FRAMES|Definición de frames en Delphi]] podemos conocer la funcionalidad de los frames usando un ejemplo similar al de los forms.
 
*En [[:Category:PRG DELPHI/ELEMENTOS FRAMES|Elementos comunes a los frames en Delphi]] se describen algunos elementos comunes a la mayoría de los frames.
*La categoría [[:Category:CONTROLES/FRAMES|Frames]] describe los frames más usados.
 
[https://docwiki.embarcadero.com/Libraries/Sydney/en/Vcl.Forms.TFrame Ayuda de Delphi sobre frames.]
 
<!--
DATASETS
DATASETS/CAMPOS
DATASETS/IMPLEMENTED
DATASETS/CONTROLES
DATASETS/GRILLAS
DATASETS/FRAMES
DATASETS/FORMS
 
COMPROBANTES DEBE IR EN DATASETS.
 
AGRUPAR OPCIONES DE MENÚ + FILTRADO.
 
OBJETOS/CATALOGO, CLASES, ENUMS, ETC.
 
EXPLORER
-->
 
<!--********************************************************************************-->
<!--********************************************************************************-->
<!--********************************************************************************-->
<!--********************************************************************************-->


=******* HASTA AQUÍ LLEGAMOS, LO QUE SIGUE ES MACHETE PARA USAR COMO GUÍA *******=
=******* HASTA AQUÍ LLEGAMOS, LO QUE SIGUE ES MACHETE PARA USAR COMO GUÍA *******=
<div style="border: 1px solid red; background-color: #ffcccc; padding: 1px;">
<div style="border: 1px solid red; background-color: #ffcccc; padding: 1px;">
<strong>  Advertencia:</strong><br>
<strong>  Advertencia:</strong><br>
   - Desde aquí para abajo es un machete para armar la documentación.
   - Desde aquí para abajo es un machete para armar la documentación.
   - Está copiado de la propuesta y cronograma de documentación.
   - Está copiado de la propuesta y cronograma de documentación.
   - La documentación real debería quedar arriba de este mensaje.
   - La documentación real es la que está arriba de este mensaje.
</div>
</div>



Revisión del 15:24 16 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.

ASPECTOS 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

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 sí de versiones posteriores.

Introducción al desarrollo en Delphi

Advertencia:

 - IR AL LINK PORQUE HAY QUE AGREGAR ALGO SOBRE COMPONENTCOUNT...

DOCUMENTACIÓN DE PRAGMA

DATASETS

Los datasets en Delphi son los componentes que se conectan a una base de datos, y a los objetos que éstas contienen tales como tablas, procedimientos y demás. Pragma deriva de estos componentes agregando funcionalidad específica.

Delphi incluye una variedad de componentes de conexión a datos, los elegidos para Pragma son aquellos que se conectan a través de ADO que es un conjunto de clases que proporcionan servicios de acceso a datos. Por ejemplo, desde Pragma a un servidor SQL SERVER.

Conexión a la base de datos

Esta sección incluye componentes que, si bien no son datasets, tienen que ver con la conexión a la base de datos.

Queries

Los queries (que literalmente se traducen como consultas) son componentes que pueden usarse para ejecutar sentencias de SQL, normalmente de lectura, pero también de ejecución. Derivan de un componente de Delphi denominado TADOQuery y agregan funcionalidad propia. Se usan habitualmente para consultar datos o aplicar sentencias SQL a la base de datos, pero no se usan con controles de edición de datos de tablas.

  • La categoría Queries describe a los queries.

Datasets

Los Datasets normalmente representan datos (de una base de datos, u otro origen como Excel) en forma de filas (llamadas registros) y columnas (llamadas campos). Introducen la funcionalidad básica para trabajar con esta información facilitando la edición de esos datos. No se usan para hacer consultas.

Los TADODatasets derivan de los Datasets y conectan con los orígenes de datos exclusivamente a través de una conexión ADO.

  • La categoría Datasets describe a los datasets.

Datasets implementados

Los datasets implementados derivan de alguno de los datasets ya mencionados e implementan funcionalidad específica a alguna de las tablas del sistema.

Por ejemplo, el dataset implementado denominado Cabecera de factura de ventas FVCAB (TFVCAB_implemented) implementa funcionalidad específica a la tabla Facturación a clientes (FVCAB). Cuando la aplicación recibe la instrucción de abrir una ventana primero debe crear el dataset que conectará a la base de datos, y antes de abrir uno de los datasets mencionados verifica si existe un dataset que tenga el mismo nombre de la tabla (más el prefijo T) y el sufijo _implemented. Si existe lo usa, sino usa el dataset genérico.

Estos datasets implementados han resultado prácticos para incorporar funcionalidad específica que excede las posibilidades de las herramientas específicas.

Advertencia:

 - Hay que agregar TprxADOClientDM en alguna parte de los datasets.

CONTROLES

Los controles en Delphi son componentes que tienen una representación visual y permiten la interacción del usuario con la aplicación.

TWinControl es el componente que define la funcionalidad de casi todos los controles visuales.

Los controles pueden recibir el foco, es decir que podemos posicionar el cursor sobre ellos (por ejemplo: picar una pantalla para traerla al frente), y el control con el foco recibe eventos del teclado y del mouse.

Algunos controles cambian de aspecto cuando reciben el foco, por ejemplo: los botones dibujan una caja en el contorno cuando reciben el foco.

Un control puede ser contenedor para otros controles, los que se refiere como 'hijos'. Esta relación se define usando la propiedad Parent del control que indica sobre qué control se ubica el analizado.

Ayuda de Delphi sobre TWinControl.

Controles de edición

Los controles de edición son aquellos que pueden recibirla interacción directa de un usuario, por ejemplo: ingresando un texto en una caja de edición.

  • La categoría Controles describe los controles más usados.

Advertencia:

 - Habría que describir prxcamposJER_RUNTIME_VISTA para mostrar cómo se define el control que usamos para cada campo de una clase.

Forms

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

  • La categoría Forms describe los forms más usados.

Ayuda de Delphi sobre forms.

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.

  • La categoría Frames describe los frames más usados.

Ayuda de Delphi sobre frames.


******* 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.