Está en la página 1de 26

GUPTA TEAM DEVELOPER

Instructor: Ing. Fausto Lupercio.

Gupta incluye SQL Windows Herramienta de desarrollo Team object Manager Manejo de Versiones de Cdigo, Repositorio de Objetos, Manejo de Documentacin. CDK Permite escribir cdigo sobre libreras de clases, Simplifica Tareas de Desarrollo repetitivas, Crea propios libreras usando C++ Object Nationalizer Para Internacionalizar la aplicacin Report Builder Reporteador, trabaja directamente sobre la BD. WEB Developer Para despliegue de Aplicaciones Web Ruteador Nativo hacia Base de Datos La conexin hacia la BD no es mediante ODBC, ya que es una capa superior menos eficiente para obtencin de datos. El ruteador nativo es mucho ms eficiente que un ODBC porque trabaja directamente con los dlls de los motores de Base de Datos.

SQL Window Ambiente de Desarrollo Es un lenguaje de 4ta generacin (SAL) Orientado a Objetos Sofisticado para Reporteria Despliegue Flexible en Windows y Web Conexiona BD Nativas Conexin a Monitores Transaccionales

Conectividad Ruteo Nativo a: Oracle, SQL Server, Sybase, Informix, SQLBase, DB2 ODBC a todos los dems

Iniciando el Desarrollo

Configuracin del Entorno

Estructura de la Aplicacin

Internal Functions. Es en donde se ubican todas las funciones que sern programadas. Estn categorizadas como globales, es decir se puede acceder desde cualquier formulario.

En su forma ms bsica tenemos las siguientes aplicaciones

Se recomienda usar la nomenclatura o estndar propia manejada por el IDE Dlg Dialog Mdi MDI Window Tbl Table Window (Formulario en Forma de tabla) Frm Form Window En la pestaa layout se visualiza el componente

Un formulario es similar a una funcin, es decir puede envirsele parmetros de los tipos de datos q se necesite. Un formulario est estructurado de la siguiente manera:

Las principales herramientas dentro del TEAM DEVELOPER son:

Controls

Inspector de Atributos (ALT + 3). Obtiene o setea las propiedades de los objetos

SETEAR DATOS EN TIEMPO DE DISEO

Los objetos que pueden contener datos en forma de diseo son: Picture File Name: Muestra la ruta de donde debe tomar la imagen. File Storage: Muestra el modo en q se guardara la imagen En caso de ser external, la imagen podr ser cambiada sin necesidad de compilacin En caso de ser internal la imagen se compilara internamente con la aplicacin

Programa Bsico

Empezando a Programar Para comentar se usa el signo de admiracin (!) Con la tecla INSERT se abre una lnea para iniciar la programacin. Team Developer usa la identacion para identificar los procesos y subprocesos. ALT+ Flecha Arriba: Permite mover bloque de cdigo hacia arriba ALT+ Flecha Izquierda: Permite mover bloque de cdigo hacia la izquierda. ALT+ Flecha Derecha: Permite mover bloque de cdigo hacia la derecha. SHIFT + Clic Izquierdo Mouse sobre el objeto, permite editar la propiedad caption del mismo.

Como Interactuar con los Objetos: Para interactuar con los objetos, se los realiza a travs de la programacin. Todos los objetos se manejan a travs de mensajes. Hay q saber diferenciar entre evento y accin: Evento: Un evento genera una accin Accin: Dentro de la accin le indico que quiero q haga mi objeto.

SQL Window posee alrededor de 800 funciones SAL que podemos utilizarlas segn nuestras necesidades. Mensajes Para crear un mensaje que sea reconocido por todos los objetos de la aplicacin, este primero debe ser declarado de la siguiente manera:

Posteriormente en el evento del componente que se desea q envi el mensaje a los dems componentes se ubica la siguiente lnea de cdigo

Window Handle: hWndForm, representar el contenedor o forma activa. Estas lneas de cdigo indican que al ejecutarse el evento clic del botn limpiar, se enva el mensaje PAM_Limpiar a todos los hijos del handle window (formulario activo), adems puede enviarse dos parmetros, que posteriormente pueden ser capturadas en la implementacin del mensaje en cada hijo. El primer parmetro se setea en la Variable del sistema: wParam El segundo parmetro se setea en la variable: lParam

Posteriormente se programa el mensaje para cada componente hijo.

Para que el formulario no se invoque automticamente cuando se ejecuta la aplicacin se setea la propiedad Automatically Create en NO

Y se incluye las siguientes lneas de cdigo en Aplication Actions

hWndNull Indica que el formulario no tiene Padre

Ejemplo 2. Reutilizacin de Cdigo Para reutilizar cdigo CENTURA permite crear libreras, para lo cual se crean como un nuevo proyecto, y se lo guarda con extensin .apl

Posteriormente estas pueden ser invocadas desde la aplicacin de la siguiente manera:

Una librera tiene la misma estructura de una aplicacin pero la diferencia es q esta tiene una extensin *.apl y por tanto puede ser invocada desde una aplicacin principal. Cuando se inserta la librera dentro del proyecto, automticamente se incluye el cdigo de la misma dentro del proyecto

Programacin Orientada a Objetos Clase: Es un concepto de agrupamiento. Categoriza un conjunto de objetos con las mismas caractersticas (atributos) y comportamiento (mtodos). Abstraccin de nuestra realidad a un agrupamiento, para poder mantener ordenados nuestros objetos. Persona Id Nombre Fecha Nacimiento Caminar Leer Escribir Objeto: Es una instancia de la clase. Instanciar significa que los atributos toman valores.

Persona Id Nombre

Fecha Nacimiento Caminar Leer Escribir

105035 Pedro 15 Ago. 1982

10568 Juan 12 Oct. 1980

Team Developer permite implementar herencia, herencia mltiple, polimorfismo, encapsulamiento, variables de clase, etc

Implementacin de POO en Team Developer Team Developer tiene predefinidas clases base de las cuales podemos heredar

Para implementar la herencia, se usa el bloque de Derived From, en donde se indica la Clase de la cual va a heredar nuestra Clase.

Toda clase heredada puede sobrecargar el mtodo de su clase padre con su propio comportamiento. Esto lo hace redefiniendo el mtodo con su propia programacin. Si se desea que la clase heredada tome el comportamiento de su padre, no se debe implementar el mtodo, o en su defecto si se implementa debe codificarse la siguiente lnea de cdigo Call SalSendClassMessage(MetodoSobrecargado) Si solo se encuentra esta lnea quiere decir que se le est enviando un mensaje a la clase hija para que tome el comportamiento de su padre, o bien puede estar posterior o antes a la programacin del comportamiento que se desee q tenga la clase hija.

Conexin a Base de Datos Para este propsito TEAM DEVELOPER maneja variables del sistema en donde en primer lugar se deben setear los valores necesarios para q la aplicacin pueda tener acceso a la BD SqlDataBase SqlUser SqlPassword Para indicar la configuracin de donde se encuentra el servidor de base de datos, TEAM DEVELOPER maneja un archivo.ini sql.ini

Posteriormente es necesario tener una variable que apunte a memoria, en donde vamos a trabajar con nuestros datos, esta variable es SqlHandle.

Practica El lugar en donde se setean las variables es el AppStarApp Set SqlDataBase = ISLAND Set SqlUser = sysadm Set SqlPassword = sysadm Nombre BD Usuario Administrador de la BD Password de la Cuenta

Dentro del bloque de Variables de la Aplicacin se setea el manejador de la BD. Esta variable es la que internamente manejara el conjunto de resultados de los querys enviados a la BD SqlHandle : sqlHConexion

Para ejecutar la conexin se usa la funcin SqlConnect(sqlHConexion), esta nos devuelve un tipo de dato boolean (TRUE, FALSE). True cuando la conexin fue exitosa, FALSE cuando la conexin fallo.

Para mejorar el performance de la aplicacin es necesario tomar en cuenta que debe realizarse la conexin siempre y cuando el usuario necesite interactuar con la BD. Para acceder a la informacin de la variable manejador de la BD se usan las siguientes funciones:

SqlFetchPrevious Se usa para que el apuntador recorra al registro anterior al q actualmente est ubicado. SqlFetchNext Se usa para que el apuntador recorra al registro siguiente al q actualmente est ubicado. Configuracion de la Base de Datos

En este aplicativo deben listarse todos los ruteadores nativos a los motores de BD, cualquier configuracin realizada se reflejara en el archivo sql.ini En el caso de que no se encuentren Para configurar manualmente abrimos el archivo .ini y realizamos los siguientes cambios: En la seccin [win32client.dll], descomentamos la seccin comdll=sqlodb32 En la seccin [odbcrtr], aadimos la siguiente lnea: remotedbname = ISLAND, DRIVER = {SQL Server}; SERVER= ECUIO012VS4; DATABASENAME = BDS Dentro del aplicativo existen mensajes que no son visibles al desarrollador, por lo que manualmente debemos programarlos para q sean visibles dentro del grupo de constantes de la aplicacin

Sintaxis
Select Case variable Case 1 ---------Break Case 2 ---------Break Default Break -----------

While condicion ------------------Break (Return)

Loop condicion --------Break

MDI FORM

Manejo de la Grilla Call SalTblDoInserts( hWndForm, sqlHConexion, TRUE) Almacena en la BD todos los registros que estn marcados para grabar, TRUE indica que los flags deben desmarcarse. Creacin de Reportes Un reporte tiene 5 secciones Cabecera del reporte Cabecera de Pagina Bloque de Detalle Pie de Pagina Pie del Reporte

Para declaracin de variables podemos realizaralas de la siguiente manera

Para invocar la informacin del reporte desde el aplicativo, usamos los siguientes mtodos: SalReportView -> Esta funcin instancia un reporte .qrp Parametro 1: hWndForm Parametro 2: hWndNull Parametro 3: Demo.qrp Nombre del Archivo

Parametro 4:df1, tblLibros.coldescripcion Lista de variables en un solo string, separado por comas

Parametro 5: au_id, cree Parametro 6 hubo un error en el reporte.

Lista de variables que

Receive

Number,

indica

si

SAM_ReportStart SAM_ReportFetchNext

Cuando queremos generar un reporte a partir de un SQL, el query debe programarse en el mensaje SAM_ReportStart de la forma SAM_ReportStart Call sqlPrepare(sqlHConexion, SELECT * FROM AUTOR where au_id = df_au_id into :n_id,: n_nombre) Se asigna a Variables que deben ser creadas previamente, y despues pasadas en el mensaje SalReportView SAM_FetchInit

SAM_ReportFetchNext Return sqlFetchNext(sqlHConexion, nRetorno)