Вы находитесь на странице: 1из 308

1: Introduccin al IDE de PowerBuilder

PowerBuilder Developer v10.0

Mdulo 1: Introduccin al IDE PowerBuilder

Preguntas
1. Qu es un IDE? 2. PowerBuilder es frecuentemente usado para crear Aplicaciones Cliente/Servidor. Cules son algunas de las caractersticas de las aplicaciones Cliente/Servidor? 3. PowerBuilder es frecuentemente usado para crear Aplicaciones n-Tier. Qu hacen las aplicaciones n-Tier? 4. PowerBuilder es frecuentemente usado para crear Aplicaciones Web. Que esperara Ud. de un ambiente de desarrollo de aplicaciones Web?

1-2

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1-1
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Objetivos
Al finalizar este mdulo, ser capaz de:
Crear un Workspace PowerBuilder Crear un nuevo PowerScript Target Modificar el library search path para incluir otras libreras PowerBuilder Abrir el Objeto Application e identificar los Eventos y Propiedades del Application Navegar en las Libreras de PowerBuilder y manipular los objetos a travs del Library Painter Usar el primer tab en el System Tree para realizar operaciones

1-3

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

IDE para la Siguiente Generacin


Extender las Aplicaciones Cliente/Servidor Tener xito con las Arquitecturas n-Tier y Web Prepararse para Microsoft .Net y J2EE (el Estndar de la Industria) Resultados Superiores con la Integracin del Desarrollo y Diseo PowerBuilder Document Object Model APIs. El XML DataWindow RAD Java Server Pages El Web Services Wizard

1-4

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1-2
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

La Arquitectura Cliente/Servidor

El Ambiente Cliente Servidor


Cliente

Cliente

Red

Servidor

Cliente
1-5
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Arquitectura n-Tier

Arquitectura n-Tier
Cliente Application Server Servidor de la Base de datos

Interfaz de Usuario Alguna lgica de negocio (reducida)

Lgica de Negocio Caching Administracin de Transacciones Transparencia de la ubicacin de los datos Balanceo de carga

Administracin de los datos

1-6

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1-3
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Programacin Orientada a Objetos


Los programas consisten de objetos que interactan recprocamente y hacen demandas a otros Un estilo de programacin disciplinada Incorpora polimorfismo, herencia y encapsulacin

1-7

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Objetos

Los conceptos importantes del Objeto son:


Herencia la herencia permite la generalizacin de comportamientos y propiedades de objetos, e incorpora estas generalizaciones en las definiciones de la clase. Encapsulacin una tcnica para ligar las propiedades y mtodos de los objetos. Oculta datos desde los accesos desautorizados. Polimorfismo la habilidad para ocultar las implementaciones diferentes del objeto detrs de una interfaz comn

* Los Objetos y otros conceptos de OO son cubiertos en detalle en los siguientes mdulos
1-8
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1-4
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Propiedades y Eventos

Propiedades: Un conjunto de definiciones de caractersticas:


Por ejemplo, define la apariencia de un objeto

Poner propiedades que no cambian


Pero los valores de las propiedades cambian

Eventos: una accin en un objeto o control que puede disparar un script. Un Evento puede ser disparado por una accin de usuario (como un click a un objeto o control o ingresar datos) o por ejecucin de una sentencia en un script.
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1-9

PowerBuilder Workspaces
Workspace es un contenedor que puede almacenar un nmero de targets (applications) Las propiedades del Workspace define la forma y el orden de despligue para los targets Las propiedades del Workspace definen el source control

1 - 10

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1-5
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Creando un Nuevo Workspace


Tab WorkSpace Seleccionado

1 - 11

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Application Target
Un workspace puede contener uno o ms aplicaciones o targets Existen dos tipos de Targets: PowerScript Target y Web Target Los desarrolladores pueden trabajar simultneamente objetos en mltiples Targets El PowerScript Target puede consistir de uno o ms libreras (*.pbl) Un Web Target contiene todos los elementos requeridos para crear un Web sitearchivos HTML, scripts, imgenes, etc

1 - 12

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1-6
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Application Targets y Web Targets


Los PowerScript Targets pueden incluir el objeto application, EAServer component, COM/MTS/COM+ Component, etc Los Web targets incluyen Web Site, JSP Target y Source Controlled Web Target

1 - 13

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Creando un Application Target


Creando un PowerScript Target: New Application Target Wizard

1 - 14

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1-7
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Configurando el Library Search Path


Target Properties Especificar un library path

* Las Libreras sern cubiertas despus


1 - 15
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

El Objeto Application
El objeto Application es el punto de entrada a las aplicaciones El Application es una coleccin de windows PowerBuilder y objetos que proporcionan funcionalidad para las actividades de los usuarios Ejecutando una aplicacin activa el Evento Open y el script inicia toda la actividad en la aplicacin Otros Eventos incluidos son close, idle y systemerror Las propiedades y variables del Application pueden ser puestas en el Painter del Application

1 - 16

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1-8
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Painter del Application


Objeto Application Eventos Propiedades

1 - 17

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Libreras PowerBuilder y Objetos


Una Librera es una coleccin de definicin de objetos compilados y objetos origen almacenados en la misma ubicacin Los siguientes objetos son almacenados en una librera: applications, datawindows, functions, menus, pipelines, projects, proxies, queries, structures, user objects, y windows

ORDENTRY.PBL Window Window Object Object


1 - 18

Window Window Object Object

Menu Menu Window Window

Menu Menu

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1-9
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Operaciones en los Objectos


Operaciones posibles en objetos almacenados en libreras


Edit Edit source Run/preview Copy Move

Delete Export Regenerate Search Print


1 - 19

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Operaciones Context-Sensitive

Operacin Context sensitive

1 - 20

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 10
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Trabajando con Painters


Es un editor de objetos usado para construir objetos o herramienta usado para manejar los datos y libreras.

1 - 21

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Abriendo un Objeto

Los objetos PowerBuilder que pueden ser abiertos en sus painters

1 - 22

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 11
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

El Painter del Window

1 - 23

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

El Painter del Menu

1 - 24

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 12
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

El Painter del Data Pipeline

1 - 25

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

El Painter del Database


Database Tablas En base de datos conectada Estructura de tabla Customer

Datos de la tabla customer

1 - 26

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 13
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Painter del Debug

Break Point

Objetos en Memora

Objeto Concurrente

1 - 27

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Painter del Project

1 - 28

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 14
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Painter del Library

1 - 29

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

El System Tree
El System Tree proporciona un recurso activo de informacin de programacin que ayuda a los procesos de desarrollo El System Tree proporciona al desarrollador la habilidad para arrastrar a los objetos a los views del painter. El System Tree tiene cuatro tabs: Workspace, Page, Language, y Components

1 - 30

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 15
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Tab Workspace - System Tree


Sirve como el centro de control del ambiente de desarrollo

1 - 31

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Resumen
PowerBuilder es una herramienta de desarrollo RAD PowerBuilder workspace maneja el ambiente de desarrollo PowerScript Target representa una aplicacin Todos los objetos PowerBuilder son almacenados en la librera .pbl Un objeto Application es el punto de entrada para cualquier aplicacin El System Tree proporciona un tree view representando a workspace, targets, y Objetos PowerBuilder

1 - 32

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 16
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Laboratorio 1
Lab 1-1: Crear el Ambiente de Desarrollo de PowerBuilder Lab 1-2: Creacin de los targets de la Aplicacin Lab 1-3: Creacin de las Libreras de Desarrollo

1 - 33

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

PowerBuilder Developer v10.0

Mdulo 2: Creando la Interfaz de Usuario

1 - 17
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Preguntas
1. Qu es un GUI? 2. Liste algunas estructuras familiares de GUI

1 - 35

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Objetivos
Al finalizar este mdulo, ser capaz de:
Explicar un GUI Crear un window Adicionar controles a las interfaces de usuario Identificar los tipos de Windows y el tipo correcto para usarlo en una situacin especfica Identificar las propiedades de los controles para usarlos con datos mostrados o la capacidad de actualizacin Controlar la navegacin del usuario en un window a travs del tab order apropiado Alinear y Redimencionar los controles
1 - 36
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 18
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Objetivos
Modificar el font, colores y backgrounds de los windows y controles Listar 3 propiedades y 3 eventos de los windows o cualquier control por lo menos

1 - 37

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

MD1

Qu es un Window
Un objeto visual que es la principal interfaz entre el usuario y una aplicacin PowerBuilder Propsito:

Para mostrar informacin Para requerir informacin del usuario Para responder a una accin del mouse o ingreso por teclado

1 - 38

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 19
Derechos Reservados de TechEra e-Learning

Diapositiva 38 MD1
Mahesh Dixit, 29/04/2003

Insert a Window Snap Shot

1: Introduccin al IDE de PowerBuilder

Creando un nuevo Window


1. Seleccionar File New Object 2. Seleccionar New 3. Seleccionar PB Object Tab -> Window
Tab PB Object seleccionado

Objeto Window Seleccionado

1 - 39

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

El Painter del Window


Controles Window

Objeto Window

1 - 40

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 20
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Tipos de Windows
Main Response MDI frame with MicroHelp Child Popup MDI frame

Window Types

1 - 41

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Window Main

Autnomo: opera independientemente de los otros windows

1 - 42

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 21
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

MD2

Window Response
Muestra mensajes o requiere informacin Est activo hasta cerrarlo Application modal window Cuando el window est activo, los usuarios no pueden navegar por otros windows en la misma aplicacin No puede ser minimizado, maximizado o redimensionado

1 - 43

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Window MDI Frame


Opcin Menu

MDI Frame

MicroHelp

1 - 44

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 22
Derechos Reservados de TechEra e-Learning

Diapositiva 43 MD2
Mahesh Dixit, 29/04/2003

Different Image with similar control

1: Introduccin al IDE de PowerBuilder

Window Child
Siempre subordinado a su window padre Solo puede existir dentro de su padre; cerrado cuando su padre es cerrado Nunca est activo Se corta cuando un usuario trata de moverlo ms all de su padre Se mueve con su padre Minimizado cuando su padre es minimizado (UNIX y Windows)

1 - 45

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Window Child
Parent Window Child Window

1 - 46

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 23
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Window Popup
Usado como el window en el PowerBuilder online Help Tiene un padre window Nunca est oculto detrs de su padre Puede mostrarse fuera del padre Cuando es minimizado, aparece como un icono fuera del window padre Minimizado con su padre cuando el padre es minimizado

1 - 47

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Window Popup

Popup Window

1 - 48

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 24
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Tipos de Control por Funcin


Funcin Invocar acciones Mostrar o aceptar datos Los Controles incluyen CommandButtons, PictureButtons, PictureHyperLinks, StaticHyperLinks, Tabs, User Objects ListBoxes, PictureListBoxes, DropDownListBoxes, DropDownPictureListBoxes, DataWindow controls, StaticText, ListViews, TreeViews, RichTextEdit, Graphs, Pictures, ProgressBars, ScrollBars, SingleLineEdits, MultiLineEdits, EditMasks, Tabs, User Objects, OLE controls RadioButtons, CheckBoxes (se puede agrupar estos controles en un GroupBox), TrackBars Line, Rectangle, RoundRectangle, Oval

Indicar las opciones Decorativa


1 - 49

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Adicionando un Control a un Window


Usando el mouse:
1. Click a la opcin Insert en la Barra de Menu 2. Seleccionar el control 3. Click en la ubicacin deseada en el Area del Painter

1 - 50

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 25
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Adicionando un Control a un Window

CommandButton

Propiedades
1 - 51
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Tipos de Control
TreeView RadioButton GroupBox CheckBox Picture Command Button

SingleLine Edit MultilineEdit

EditMask SpinControl ListBox Graph

DataWindow
1 - 52
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 26
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Actuando en Mltiples Controles


Se puede actuar en todos los mltiples controles como una unidad Para seleccionar mltiples controles:

En el Layout o Control List view, click al primer control y entonces presionar la tecla Ctrl y click a los controles adicionales En el view Layout, presionar el botn izquierdo del mouse, arrastrar el mouse sobre los controles que se desea seleccionar, y liberar el botn del mouse.

Para seleccionar los mltiples controles cercanos:


1 - 53

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Poner Mltiples Propiedades de Control

Poner format Para mltiples controles

Poner propiedades Para mtiples controles

1 - 54

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 27
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Tab Sequence

El valor tab por defecto es automticamente puesto para cada control Click al botn Tab Order Click en cualquier valor tab Cambiar el valor del tab Click al botn Tab Order otra vez y grabar los valores del tab

1 - 55

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Navegacin del Usuario usando el Tab Order

1 - 56

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 28
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Alineando y Dimensionando Controles


Usando el mouse:
1. Click al control 2. Apuntar a un lado o esquina y click izquierdo del botn del mouse 3. Arrastrar al corner

Usando el Teclado:
1. Seleccionar el control 2. Presionar SHIFT una tecla flecla

1 - 57

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Ordenando Mltiples Controles

Align controls Space controls Size controls

1 - 58

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 29
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Alineando Controles
1. Seleccionar el control para alinear 2. Presionar y mantener la tecla CTRL y click a los controles que se desea alinear con el primero. 3. Seleccionar Format>Align desde la barra de men. o 1. Seleccionar el Layout dropdown toolbar en el PainterBar 2. Seleccionar la dimensin como se desea alinear a los controles. 3. PowerBuilder alinea todos los controles seleccionados con el primero.

1 - 59

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Propiedades del Window


Window Title Menu Name

Window type Background Color Window Icon


1 - 60
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 30
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

MD3

Eventos Window

Los Eventos a nivel Window

1 - 61

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Eventos a Nivel Control


Lista de Eventos para el Command Button

1 - 62

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 31
Derechos Reservados de TechEra e-Learning

Diapositiva 61 MD3
Mahesh Dixit, 29/04/2003

Notes for these

1: Introduccin al IDE de PowerBuilder

Resumen
Los Windows forman la interfaz entre el usuario y una aplicacin PowerBuilder Los Windows consisten de propiedades que definen la apariencia del windows y su comportamiento Los Windows tienen eventos como otros objetos PowerBuilder El Tab Order controla la navegacin en el Window Los Controles ubicados en el window tienen sus respectivos eventos y propiedades

1 - 63

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Laboratorio 2

Lab 2-1: Creacin de la clase window para la Aplicacin

1 - 64

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 32
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Preguntas
Indicar que tipo de window se debera usar para lograr el comportamiento.
a. Autnomo; opera independientemente de los otros windows b. Activado hasta ser cerrado; application modal

T/F: se puede modificar las propiedades de solo un control en un window en un momento. Qu es el tab order y porque es importante? Puede el tab order forzar el orden de ingreso de datos? Qu es un tab order en 0?

1 - 65

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

PowerBuilder Developer v10.0

Mdulo 3: Programando con PowerScript

1 - 33
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Preguntas
1. Cuando se usa una sentencia CASE? 2. Qu es una variable local? Una variable global? 3. Qu es una funcin? Cules son las partes de una funcin (signature)

1 - 67

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Objetivos
Al finalizar est mdulo, ser capaz de:
Declarar las variables con el alcance apropiado Modificar a travs de programa las propiedades de objetos Llamar mtodos del objeto Usar pronombres en lugar de las referencias hard-coded a los objetos Usar los argumentos en un script de un evento Poner los breakpoints y examinar lo datos en el debugger

1 - 68

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 34
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Construyendo los Objetos de Interfaz


[Anterior Mdulo] Crear Windows [Anterior Mdulo] Ubicar Controles en Windows [Este Mdulo] Escribir el comportamiento del Window

1 - 69

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Qu es un Script?

Un Script es un conjunto de instrucciones para un evento Clicked para cb_close


Close(w_win) Close(w_win)

1 - 70

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 35
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Tipos de Declaraciones en Scripts


Declaracin de Variable Llamada a funciones Las declaraciones de asignacin Sentencias Flow-of-control Sentencias SQL Embedded

1 - 71

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Comentarios

Comentarios

Comentarios Single-line
// declaracin de variable Local dec {2} ldc_Rate // Rate for salaries

Comentarios Multiline
/* Script para el evento clicked del command button "Raise" */

1 - 72

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 36
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Continuacin de Lnea
Ampersand (&) Debe ser el ltimo caracter en la lnea para ser continuado Ejemplo: IF Employee_District = "Eastern United States y "& +" Eastern Canada" THEN ... No puede dividir el nombre de una variable No existe caracter de continuacin en sentencias SQL embedded

Sentencias SQL inician con un verbo SQL y finaliza con un punto y coma (;)

1 - 73

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Identificadores PowerScript (Nombres)


Un identificador:
Debe iniciar con una letra, underscore (_), signo de dlar ($), signo de porcentaje (%), o signo de nmero (#) Puede contener de 1 a 40 caracteres No puede contener espacios No puede ser una palabra clave en PowerScript No es case sensitive

Identificadores Vlidos ABC_Code pay-before%deductions$ response35


1 - 74

Identificadores Invlidos 2nd-quantity ABC Code Child'sId

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 37
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Ejemplos de Key Words de PowerBuilder


AND NOT UNTIL THEN LOOP

IF ELSE DO OR WHILE

1 - 75

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Tipos de datos Standard


Blob Boolean Char Date DateTime Double Decimal

Integer Long Real String Time Unsigned integer Unsigned long


1 - 76

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 38
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Tipos de datos Enumerated


Tiene un conjunto fijos de valores definidos por PowerBuilder Usos:

Como argumentos en funciones Para especificar los valores de propiedades de un objeto


Siempre es finalizado con signo de exclamacin (!) Nunca es cerrado en comillas No son case-sensitive

1 - 77

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Ejemplo de Tipos Enumerated

1 - 78

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 39
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Ejemplo de Tipos Enumerated

Propiedades Enumerated Tipos Enumerated


1 - 79
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Variables
Una ubicacin de almacenamiento nombrado que puede contener datos que son modificados durante la ejecucin de un programa Los valores pueden ser:

Ingresados por el usuario Calculados por la aplicacin Recuperados desde la base de datos

1 - 80

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 40
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Declarando Variables
Setencia de Declaracin Asignando un nombre y un tipo de dato Se puede declarar:

Una sola variable: integer li_return_code Mltiples variables: long ll_x,ll_y,ll_z Una variable decimal: decimal {2} ldc_balance

1 - 81

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

El alcance de las Variables


Local Instance

Shared Global

1 - 82

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 41
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Variables Locales
Integer Integer li_count li_count Alcance de una variable local

1 - 83

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Variables de Instancia

ii_patient_id=10014 ii_patient_id=10014

ii_patient_id=10012 ii_patient_id=10012

1 - 84

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 42
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Variables Shared
Evento Open: si_open++ Evento Open: si_open++

si_open si_open = =2 2
1 - 85
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Variable Global
MD4

Global variable (X)

Script Script 1 1

Script Script 2 2

Script Script 3 3

Script Script 4 4 Script Script 5 5

1 - 86

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 43
Derechos Reservados de TechEra e-Learning

Diapositiva 86 MD4
Mahesh Dixit, 06/05/2003

Example of variable

1: Introduccin al IDE de PowerBuilder

Programando las Estructuras


Expresiones Flujo de Control Las asignaciones

1 - 87

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Expresiones
Una expresin es cualquier combinacin de variables, valores literales o llamada de funciones Los componentes son separados por operadores que son evaluados en tiempo de ejecucin Use las expresiones:

En sentencias de asignamiento En sentencias de flujo de control Como argumentos en llamadas de la funcin


1 - 88

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 44
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Flujo de Control

If li_Pos > 1 Then sentencia End if

Condicin evaluada
true

false

sentencia

Proceso de Sistema
1 - 89
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Asignamientos
Asigna valores a las variables o propiedades de objetos o referencias de objetos de variables Sintaxis

variablename = expresin

Para asignar un valor a una variable en cualquier parte de un script, use el signo igual (=)

Ejemplo :

Nombrecompania = Blue Cross" taxRate = .08

1 - 90

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 45
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Tipos de Datos Modelo


date ld_my_date IF IsDate(sle_start_date.Text) THEN ld_my_date = Date(sle_start_date.Text) Convierte el Dato ELSE a Tipo Date MessageBox("Error", Esta fecha es invalida: " & + sle_start_date.Text) END IF

1 - 91

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Sentencias CHOOSE CASE


La ejecucin de programa directo basado en el valor de una expresin de prueba Tipos de expresiones

Un solo valor Rango de valores Lista de valores Relacional Combinacin de esos


1 - 92

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 46
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Sentencias CHOOSE CASE


int li_referral_count CHOOSE CASE li_referral_count CASE IS <=3 . . . CASE 4 . . . CASE 5 . . . CASE 6 TO 10 . . . CASE 11, 12, 13, 14 . . . CASE ELSE END CHOOSE

1 - 93

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Looping Constructs
For .. Next For .. Next .. Step Do Until Do While Do Loop Until Do Loop While

1 - 94

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 47
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Sintaxis de Sentencias Pasting


1. 2. 3. 4. Posicione el cursor Click al botn Paste Statement Click a la sentencia Click OK

1 - 95

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Trabajando con Objetos


Qu es un Objeto?

Window

Menu DataWindow

Button

1 - 96

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 48
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Trabajando con Objetos


Notacin de punto para acceder a las Propiedades Object_Name.Property=value Notacin de punto para acceder a los Mtodos del Objeto

Object_name.function_name(argument1, ..) W_window.Title=My Window cb_print.Text=Print cb_close.text=Close

1 - 97

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Objeto Browser
Muestra informacin sobre los objetos de sistema y objetos en su aplicacin, como propiedades, eventos, funciones y variables globales. Te permite abrir el objeto en el painter, obtener ayuda contextsensitive, copiar, exportar, o imprimir informacin.

1 - 98

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 49
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Objeto Browser

1 - 99

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Propiedad Pasting y Sintaxis de Funcin


1. 2. Active el Browser Click a un tab para seleccionar el tipo de objeto Click a un objeto para mostrar su contenido Click derecho a un objeto y seleccionar Copy Click en el cdigo y pegar

3. 4.

5.

1 - 100

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 50
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Pronombres
Los pronombres PowerScript permiten referencias generales a un objeto o control Las referencias Objeto son correctas siempre si el nombre del objeto o control cambia Los pronombres PowerBuilder :

this Parent Super


1 - 101

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Pronombre this

this.x this.x= =this.x this.x+ + 500 500

1 - 102

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 51
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Pronombre Parent

Close(Parent) Close(Parent)

1 - 103

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Pronombre Super

Click Clickscript script

Super::EVENT Super::EVENTClicked() Clicked()

1 - 104

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 52
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Funciones Globales
No son asociados con cualquier objeto en particular y son pblicos Pueden ser llamados desde cualquier parte dentro de la aplicacin. Puede ser cdigo PowerScript o cdigo C

1 - 105

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Funciones PowerScript Predefinidas


Open( ) MessageBox( ) Timer( ) Integer( ) String( )

1 - 106

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 53
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Funcin PowerScript MessageBox


Muestra un Messagebox de sistema, con el ttulo, texto, icono, y botones que se especifique. Sintaxis

MessageBox ( title, text {, icon {, button {, default } } } )

1 - 107

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Declarando Funciones Globales


Function Name Return Type

Arguments Script

1 - 108

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 54
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Funciones de Objeto y el Alcance


La funcin a nivel Objeto puede ser definido para un window, menu y user object. Son diferentes a funciones globales, Las funciones a nivel objeto pueden ser definidos con niveles de acceso public, private, o protected

1 - 109

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Funciones de Objeto y Alcance


Funciones Public: pueden ser llamadas desde cualquier parte dentro de la aplicacin Funciones Private: pueden solo ser llamadas desde los eventos definidos en el mismo objeto como la funcin. Las funciones Private no pueden ser llamados desde descendientes del objeto Funciones Protected: trabaja de modo similar como las funciones private, con la excepcin de que ellos pueden ser llamados desde los descendientes del objeto para la funcin que fue definida

1 - 110

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 55
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Declarando Funciones a Nivel Objeto

1 - 111

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Declarando Funciones a Nivel Objeto

1 - 112

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 56
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Eventos y Argumentos Predefinidos


PowerBuilder opera dentro de un modelo manejado por eventos. Eventos de sistema predefinidos son creado en todos los objetos Cada Objeto PowerBuilder tiene sus propios eventos de sistema predefinidos

1 - 113

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Eventos y Argumentos Predefinidos

Eventos de Sistema Predefinidos del List Box constructor deconstructor rbuttondown Etc.

Eventos de Sistema Predefinidos del Radio Button constructor deconstructor clicked Etc.

1 - 114

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 57
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Eventos y Argumentos Predefinidos

1 - 115

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Creando Eventos User-Defined


Los eventos User-defined tienen un ID


Argumentos predefinidos No puede ser cambiado

Eventos User-defined que no tienen un ID


Tienen que definir argumentos y valores de retorno

Sintaxis de valor de Retorno:


RC=SLE_1.EVENT UE_TESTEVENT(<arg1,<arg2>,.>)

1 - 116

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 58
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Eventos direccionados a un ID

Ejemplo:

No hay un evento predefinido para detectar la tecla enter. Sin embargo, hay un event-id asociado con la tecla enter: pbm-dwnprocessenter

1 - 117

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Eventos Unmapped
Deja el Event ID en (none) Uno o ms argumentos pueden ser especificados El retorno de tipo de dato puede ser escogido Puede activar exceptions
Throw Exception

Event ID left (None)

1 - 118

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 59
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Llamando Eventos de Usuario


Use la funcin TriggerEvent()

Sncrono

Use la funcin PostEvent() Asncrono El TriggerEvent y PostEvent toman el argumento string.


Se debe tener cuidado al evaluar el string para validar el evento. Si un nombre de evento es mal deletreado, por ejemplo, no existe error de compilacin Se puede pasar una variable de tipo string a estas funciones o hardcode al nombre del evento

1 - 119

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

TriggerEvent
Dispara un evento asociado con el objeto especificado Sintaxis:

Rc=objectname.TriggerEvent(event)

Valores de Retorno:
1 El Evento existe y existe un script para l -1 Evento no vlido para ObjectName o no hay script para el evento en el ObjectName

1 - 120

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 60
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

PostEvent
Adiciona un evento al final de la cola del evento para el objeto Sintaxis:

Rc=Objectname.PostEvent(event)

Valores de Retorno:
TRUE Existe un evento con un script FALSE Evento no vlido para el objeto, o no hay un script para el evento

1 - 121

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Opciones de Programa

Durante el desarrollo, un window puede probarse sin ejecutar la aplicacin completa. Algunas de las funciones que pueden realizar durante este modo:

Disparar eventos Abrir otros windows Conectarse a la base de datos

1 - 122

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 61
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Opciones de Programa

Para Ejecutar un Window Preview


Seleccionar File -> Run/Preview

1 - 123

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Compilando un Script

Haga cualquiera de lo siguiente para compilar un script:


Click al botn Compile Presionar CTRL+L Seleccionar Edit | Compile Script

1 - 124

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 62
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Corrigiendo Errores de Codificacin


Mostrar errores Encontrar la lnea de error Tipos de mensajes:

Errors Warnings Obsolete Information


1 - 125

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Solucionando Problemas con el Debugger


1. Abrir el debugger 2. Poner los breakpoints en el lugar de la aplicacin donde se tiene el problema 3. Ejecutar la aplicacin en el modo debug 4. Cuando la ejecucin es suspendida en el breakpoint, mirar los valores de las variables, examinar las propiedades de los objetos en memoria y llame al stack, o cambie los valores de las variables

1 - 126

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 63
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Solucionando Problemas con el Debugger


5. Camine a travs de la lnea de cdigo por lnea 6. Como sea necesario, adicionar o modificar breakpoints cuando ejecute la aplicacin 7. Cuando se descubre un problema, solucione el cdigo y ejecute el depurador otra vez

1 - 127

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Debugger

Solucionando Problemas
Debug Objetos y funciones

Start Debug

Break Point

1 - 128

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 64
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Resumen

Un script define el proceso que toma el lugar cuando ocurre un evento Los Scripts son escritos en el lenguaje PowerScript Las Variables son identificadores para almacenar ubicaciones y alojar valores Las Variables deben ser declaradas antes de que sean referenciadas Se puede especificar un valor inicial para una variable Las variables Locales son definidas dentro de un script en particular Las variables a menudo son combinadas con operadores para expresiones de formularios Una expresin es evaluada en tiempo de ejecucin

1 - 129

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Resumen
Una sentencia de asignamiento ubica un valor en una ubicacin de almacenamiento en particular. Use estructuras IF...THEN...ELSE y CHOOSE CASE para procesos condicionales Las funciones son llamadas especificando sus nombres y lista de argumentos. Use el painter PowerScript para codificar y compilar scripts

1 - 130

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 65
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Laboratorio 3

Lab 3-1: Creacin de la ventana de Operacin, para realizar clculos

1 - 131

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

PowerBuilder Developer v10.0

Mdulo 4: Usando Menus

1 - 66
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Objetivos
Al finalizar este mdulo, ser capaz de: Crear un men con cascading menuitems, accelerator keys y toolbar items Crear mens descendientes que implementan correctamente los estndares GUI Asociar un men con un window Abrir y cerrar windows desde un men Reconozca el pronombre apropiado para usar cuando se comunican un men y un window Llamar eventos o funciones en un window desde un script menuitem

1 - 133
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Los Elementos Bsicos de un Men


Los mens son usados como interfaz estndar entre el usuario y la aplicacin Items de Menu

Proporciona acceso a ciertas tareas Tiene propiedades y eventos


Dropdown menu Barra de Men Painter del Menu La definicin es almacenada en una PBL

1 - 134

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 67
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Elementos Bsicos de un Men


Las propiedades del Men determinan:


Mostrar el Style del men Shortcut keys, accelerator keys, lneas separadoras etc.

Objetos de Men

Items de Menu

1 - 135

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Mostrar el Men

Pop Up Menu

Cascading Menu Drop Down Menu

1 - 136

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 68
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Men Dropdown

1 - 137

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Men Cascading

1 - 138

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 69
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Men Popup

1 - 139

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Estilos de Men
Shortcuts y accelerator keys Lneas Separadoras Ellipses Checkmarks Toolbars

1 - 140

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 70
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Estilos de Men

Tecla Shortcut
Una sola tecla o combinacin de teclas El item de Men no tiene que ser visible

Accelerator Key

Tecla Accelerator
Caracter Underlined en el nombre del item de men El item de men debe ser visible en el desktop

Shortcut Key
1 - 141
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Creando un Nuevo Objeto Men


Click en File Click en New Seleccionar PB Object Seleccionar Menu

PB Object Seleccionado

Menu Object Seleccionado

1 - 142

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 71
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Familiarizndose con el Painter del Men

Preview View Properties View Script View

1 - 143

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Poblando un Men

Click en Insert

Seleccionar esta opcin para insertar un menuitem Seleccionar esta opcin Para insertar un menuitem al final Seleccionar esta opcin Para insertar un Submenu menuitem

1 - 144

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 72
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Propiedades de Men
Propiedad Name Text MicroHelp Datatype String String String Descripcin Este es el nombre del objeto usado en el script para referenciar al objeto. Este es el texto mostrado durante el runtime. Este es el mismo como el tool tip. Esto es mostrado siempre que el mouse est sobre el objeto y es mostrado durante runtime. Este puede almacenar cualquier texto que se desea asociar con el objeto.

Tag

String

1 - 145

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Propiedades de Men
Propiedad Datatype Visible Boolean Descripcin Esta propiedad es usado para hacer visible al men. Esto puede ser puesto durante el diseo y puede ser modificado en tiempo de ejecucin. Esta propiedad se usa para hacer enabled al men. Esto puede ser durante el tiempo de diseo y puede ser modificado durante el tiempo de ejecucin. Esta propiedad especifica si el objeto es seleccionado. El estado de la propiedad checked es reflejado en el botn del toolbar.

Enabled

Boolean

Checked

Boolean

1 - 146

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 73
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Propiedades de Men
Propiedad Default ShiftToRight ShortcutKey Datatype Boolean Boolean Integer Descripcin Esta propiedad se usa para ser un objeto men predefinido. Esta propiedad le permite a uno insertar un menuitem entre el menuitem heredado. Esta propiedad puede ser puesta solo en tiempo de diseo y no es disponible en tiempo de ejecucin. Esto le permite al usuario acceder a cualquier item del men con el Altkey.

1 - 147

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Propiedades Toolbar de Men


Propiedad ToolbarItemText ToolbarItemName Datatype String String Uso El texto asociado con el item del toolbar. Nombre de los bitmap del item del toolbar o pictures por defecto. Nombre del bitmap del toolbar referenciado cuando el toolbar es down.

ToolbarItemDownName

String

1 - 148

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 74
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Propiedades del Toolbar de Men


Propiedad ToolbarItemDown Datatype Boolean Uso Crea indentacin 3-D para mostrar el item que es presionado. Pone el item del toolbar a visible o invisible. Un integer de la cantidad de espacio delante del item del toolbar (en PB units). El nmero de item dentro del toolbar (0 99).

ToolbarItemVisible ToolbarItemSpace

Boolean Integer

ToolbarItemOrder

Integer

1 - 149

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Propiedades del Toolbar de Men


Propiedad ToolbarItemBarIndex Datatype Integer Uso Especifica el nmero del toolbar en donde se desea que el botn del toolbar aparezca. Indica el nmero de columnas que se desea mostrar en el toolbar cascading

Columns

Integer

1 - 150

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 75
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Funciones de Men
Function Check Uncheck Disable Enable Return Datatype Integer Integer Integer Integer Descripcin Muestra una marca check al lado del objeto Men y hace la propiedad Checked TRUE. Remueve la marca ckeck al lado del objeto Men y hace la propiedad Checked FALSE. Desactiva el objeto Men y hace la propiedad Enabled FALSE. Activa el objeto Men y hace la propiedad Enabled TRUE.

1 - 151

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Funciones de Men
Function GetParent Hide Show PopMenu TriggerEvent Return Datatype PowerObject Integer Integer Integer Integer Descripcin Retorna una referencia al nombre del objeto padre. Oculta el objeto men. Muestra el objeto men. Muestra el objeto men en la ubicacin especificada. Dispara una evento especificado en el objeto Men y ejecuta el script para el evento.

1 - 152

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 76
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Eventos de Men
Evento Clicked Selected Descripcin Este evento es disparado cuando el usuario hace click en el objeto men Este evento es disparado al seleccionar el objeto men (un objeto men es seleccionado cuando el usuario mueve el foco al objeto men usando el keyboard o un mouse) Este evento es disparado presionando la tecla F1 arrastrando el botn de ayuda (question mark) desde la barra de ttulo a un item de men.

Help

1 - 153

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Creando MenuItem Cascading


Click Add a menuitem Ir a Property View y seleccionar Object Type como MenuCascade Seleccionar el image para el menuitem en ToolbaritemName Seleccionar el image para el menuitem en ToolbaritemdownName Ingresar el texto para el menuitem en ToolbaritemText

Imagen para El Men

Men Cascade
1 - 154
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 77
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Creando un Men Descendiente


Click en File Click en Inherit Seleccionar el objeto men ancestro desde donde se desea heredar

Cuando se usa herencia para construir un men, todo el men ancestro es heredado en todos sus descendientes

1 - 155

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Manipulaciones Vlidas en el Men Descendiente


Los items de Men pueden ser adicionados al final del men Inserte los items de men en un men ancestro (con algunas restricciones) Modificar items de men ancestro Construir scripts para items de men que no tienen scripts en el men ancestro Extender o sustituir scripts heredados Declarar funciones, estructuras, y variables para el men

1 - 156

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 78
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Restricciones en el Men Descendiente


El orden de los items del men ancestro no pueden cambiarse Un item de men ancestro no puede ser borrado. Insertando items de men entre items de men ancestro que no tienen la propiedad ShiftToRight puesta en TRUE no es permitido El nombre del item de men ancestro no puede ser cambiado El tipo de item de men ancestro no puede ser cambiado

1 - 157

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Scripting

El Script para el men debe ser escrito en el view script. El view script puede ser abierto haciendo:
Doble click en el item de men Click derecho en el item de men y entonces seleccionar la opcin de script

El Script adiciona funcionalidad al men El Script define un grupo de acciones para realizar cuando el usuario selecciona un item de men

1 - 158

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 79
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Ejemplo de codificacin de Men


Ejemplo 1: Abriendo un window a travs del Men:


open(w_window_name)

Ejemplo 2: Cerrando un window a travs del Men:


close(ParentWindow)

Ejemplo 3: disparando un evento de window:


ParentWindow.TriggerEvent(ue_userevent_name)

1 - 159

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Asociando el Men a un Window usando el Painter Window


Accesar al painter del window Abrir el window Mostrar las propiedades de sheet del Window Ingresar o buscar el nombre del men

Esto asocia un men a un window

1 - 160

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 80
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Asociando un Men a un Window a travs de PowerScript


Un men puede ser asociado a un window en tiempo de ejecucin usando la funcin PowerScript ChangeMenu()

Sintaxis: windowname.ChangeMenu ( menuname {,position } )


Ejemplo: w_cliente.ChangeMenu(m_main)

1 - 161

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Refirindose al Window
Un men puede ser asociado con uno o ms windows Tres maneras para referenciar un window:

Referenciar al nombre del window directamente Referenciar al window usando la propiedad ParentWindow Referenciar al window usando una funcin PowerScript

Mientras hay muchas ms maneras para referenciar a un window desde un men, ellos no son iguales! El uso de una tcnica inapropiada puede afectar la reusabilidad!

1 - 162

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 81
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Referenciando al Window Directamente


Control y/o su propiedad debe calificarse totalmente


window_reference.control_name.Property = Value

El men solo til para ese window


<ref_to_w_custdata_instance>.of_insert( )

Este mtodo, mientras tcnicamente es correcto, puede llevar a los problemas en la reusabilidad! Este mtodo no es recomendado y es solo incluido aqui para la integridad

1 - 163

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Referenciando al Window con la Propiedad ParentWindow


Close(ParentWindow)

Close(ParentWindow)

ParentWindow.ArrangeSheets(Tile!)

1 - 164

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 82
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Restricciones ParentWindow

w_custdata.of_print( )

Directamente referenciar al window afecta la reusabilidad de este men. Esto no es recomendado. ParentWindow.of_print( )

Esto no trabajar. Por qu? Qu es el tipo de dato ParentWindow? : Use el browser.

1 - 165

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Men de Contexto

Los men de contexto no son nada ms que los men Popup. Los Mens Popup pueden ser invocados desde un item de men en una barra de men o si un usuario selecciona objetos o texto dentro del rea de trabajo y hace click al botn derecho del mouse.

Ejemplo : esto muestra el men popup m_file cuando el usuario hace click dentro de un single line edit usando el botn derecho del mouse:
m_stdmnu.m_file.PopMenu(xpos, ypos)

1 - 166

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 83
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Men de Control

El Men Control o men de sistema es un ejemplo de men Popup Los comandos por defecto dentro de un men de control incluyen:

Restore Move Size Minimize Maximize Close

Todos los tipos de window PowerBuilder pueden ser asociados con el men de Control excepto los window tipo Response

1 - 167

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Resumen
Los mens son usados como interfaz estndar entre el usuario y la aplicacin La definicin es almacenada en una PBL El Script para el men debe ser escrito en el view script Un men puede ser asociado a un window en tiempo de ejecucin usando la funcin PowerScript ChangeMenu()

1 - 168

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 84
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Laboratorio 4
4-1: Creacin del Objeto Men Base de la Aplicacin 4-2: Creacin de las Subclases del Objeto Men
m_ancestro

Heredar!
m_main

Heredar!

m_sheet
1 - 169

m_preliminar

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

PowerBuilder Developer v10.0

Mdulo 5: Programacin Orientada a Objetos en PowerBuilder

1 - 85
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Preguntas
1. Cules son las caractersticas de un lenguaje orientado a Objetos? 2. En qu Lenguajes ha programado previamente? 3. Qu es una clase?

1 - 171

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Objetivos

Al finalizar este mdulo, ser capaz de:


Crear una jerarqua de clases window Crear una jerarqua de clases visuales (i.e. command button, multiline-edit, etc) Dar un ejemplo de polimorfismo usando una jerarqua de clase window Mostrar una jerarqua en el Objeto Browser

1 - 172

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 86
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Orientacin a Objeto
Cules son las caractersticas de un lenguaje orientado a Objetos? Un lenguaje OO tiene herencia, polimorfismo y capacidades de encapsulacin

1 - 173

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Herencia
Los objetos pueden ser derivados de los objetos existentes, con acceso a sus componentes visuales, datos y cdigo La herencia ahorra tiempo de codificacin, maximiza el reuso de cdigo, y refuerza la consistencia

1 - 174

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 87
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Herencia Bsica
A B C D

1 - 175

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Herencia en Objetos
Reusa la funcionalidad La funcionalidad puede ser definida para objetos ancestros y ser heredado por sus descendientes

1 - 176

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 88
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Heredando un Window

1 - 177

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Heredando un Window

Window Ancestro

Window Title Employee Data

of_getfile() (List Employee files) Drop_down List

1 - 178

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 89
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Heredando un Window

Window Descendiente
Drop-down list

Title Customer Data (Overridden property) of_getfile() (List customer files) (Overridden method) Delete Button (Overridden Control)
1 - 179
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Variables de Instancia en Descendientes

Variable de Instancia

1 - 180

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 90
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Qu puede heredarse en PowerBuilder?


Visual
Windows Controls - Custom Visual Menus

Non-Visual
System Objects - Standard Class User-defined objects - Custom Class

1 - 181

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Que no puede ser heredado en PowerBuilder


Applications Objetos Datawindow Funciones Global Structures

1 - 182

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 91
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Crear un Descendiente

Objeto Ancestro

1 - 183

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Heredando el Objeto Menu


Menu Ancestro Menu Descendiente

Menu Items Sub Menu Items

Overridden Sub Menu Items

1 - 184

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 92
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Ventajas de Usar Herencia


Reusabilidad de Cdigo Compartir Cdigo La consistencia de la interfaz Mantenimiento de Cdigo

1 - 185

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Qu es una clase Base?


Contiene un conjunto de atributos y comportamientos reusables por los objetos descendientes


Clase Base

1 - 186

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 93
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Clase Base

Window Ancestro (w_anc_policy)


Drop Down List Box for Policy Type Command Buttons

1 - 187

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Heredando Windows

1 - 188

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 94
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Heredando Windows

Window Descendiente (w_policy_hospital )

1 - 189

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Heredando Windows

w_policy_vision

1 - 190

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 95
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Viendo la Jerarqua de Clases

1 - 191

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Las Clases de lo Abstracto


Los Objetos que son usados solo como ancestros Nunca es fsicamente instanciado Son usados puramente como repositorios para almacenar los mtodos y propiedades comunes de sus clases descendientes Previene la duplicacin de las propiedades y mtodos entre los mltiples objetos

1 - 192

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 96
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

La Clase Concreto
Son clases de objetos que son fsicamente instanciados Heredarn todas las propiedades y mtodos comunes de una clase ancestro Enve su propia funcionalidad y propiedades adicionales encima de lo que recibe de su ancestro

1 - 193

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Standard Visual User Object

1 - 194

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 97
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Seleccionando el Tipo de Objeto Visual

Seleccione un Tipo Standard para subclase

1 - 195

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Subclase de un DataWindow

1 - 196

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 98
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Heredando un Objeto Visual

1 - 197

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Propiedades en el Descendiente

El nuevo objeto heredado contiene todos los atributos del objeto padre u_anc_dw.

1 - 198

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 99
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Eventos en el Descendiente

El usuario define el evento ue_delete() que tambin es heredado desde el ancestro

1 - 199

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Sustituir los Atributos Heredados

1 - 200

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 100
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Polimorfismo
Funciones con el mismo nombre tienen diferente comportamiento dependiendo del objeto referenciado Tipos de Polimorfismo:

Polimorfismo Operacional Polimorfismo de Inclusin


1 - 201

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Polimorfismo Operacional
Objetos no relacionados definen funciones con el mismo nombre Cada funcin realiza los procesos apropiados para su tipo de objeto:

Los dos objetos contienen una funcin of_GetParentWindow

u_em of_GetParentWindow()

u_mle of_GetParentWindow()

1 - 202

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 101
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Polimorfismo Inclusional
Varios objetos en una cadena de herencia definen funciones con el mismo nombre pero diferentes argumentos PowerBuilder determina que versin de una funcin para ejecutar, basado en donde el objeto concurrente encaja en la jerarqua de herencia

u_sort() of_sort() u_sort_dw of_sort()


1 - 203

Esta funcin Sustituye u_sort.of_sort()

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Function Overloading

En funcin overloading, la funcin descendiente (o una funcin identicamente nombrada en el mismo objeto) tiene diferentes argumentos o tipos de datos. PowerBuilder determina que versin de una funcin ejecutar, basado en los argumentos y tipos de datos de argumentos especificados en la funcin llamada:

U_sort of_sort u_sort_dw of_sort() of_sort(integer) of_soft(string)


1 - 204

PowerBuilder Ejecuta la funcin apropiada Basado en el nmero de parmetros pasados y sus tipos de datos

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 102
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Function Overriding

Una funcin en un objeto descendiente que reemplaza a una funcin del mismo nombre en su objeto ancestro. Las dos funciones tienen la misma lista de argumentos u_sort_dw of_sort(integer)
u_descendent_sort_dw of_sort(integer)

Esta funcin sustituye el mismo u_sort.of_sort con la misma lista de argumentos

1 - 205

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Encapsulacin
Un objeto contiene sus propios datos y cdigo, permitiendo el acceso apropiado; este principio tambin es llamado ocultacin de informacin La Encapsulacin permite aislar los datos del objeto, mientras restringe el acceso declarando variables de instancia como privadas o protegidas

1 - 206

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 103
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Encapsulacin

Un acercamiento al proceso de encapsulacin es como sigue:

Define variables de instancia como pblicas, privadas o protegidas,

dependiendo del grado deseado de acceso externo. Para asegurar la encapsulacin completa, definir variables de instancias como privadas o protegidas Definir las funciones de objetos para realizar los procesos y proveer acceso a los datos del objeto

1 - 207

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Encapsulacin

Otro acercamiento al proceso de encapsulacin y datos es para proporcionar un solo punto de entrada, donde el desarrollador especifica la accin para ser realizada:
Define variables de instancia como privadas o protegidas, dependiendo del grado deseado para el acceso externo Define funciones de objetos privada o protegidas para realizar los procesos Define una sola funcin pblica cuyos argumentos indican el tipo de procesamiento a realizar

1 - 208

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 104
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Alcance de Variables

Global

Accesible en cualquier parte de la Aplicacin. Es independiente de cualquier definicin del objeto Pertenece a una definicin de un objeto y existe entre todas las instancias de objetos. Las variables Shared retienen su valor cuando un objeto es cerrado y abierto otra vez Pertene a un objeto y es asociado con una instancia del objeto, las variables de instancia tienen acceso a nivel del objeto por todos los eventos. Pueden pertener a un objeto application, un window, o un user object o un men Es accesibe solo en el script donde se define, cuando el script finaliza, la variable constante deja de existir
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Shared

Instance

Local

1 - 209

Nivel de Acceso
Public: Variables de Instancia y funciones pueden ser llamadas y referenciadas por objetos y funciones externas de este objeto Private: Variables de Instancia y funciones pueden solo ser llamadas y referenciadas por los procesos dentro de este objeto Protected: Objetos y procesos externos no pueden usar variables y funciones protegidas, pero descendientes de esta clase tendrn acceso a estos y ser disponibles para ser llamados y referenciados cuando sean requeridos

1 - 210

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 105
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Ejecutando Funciones

Al llamar a una funcin, PowerBuilder busca hasta encontrar una funcin y lo ejecuta al final de esto

1 - 211

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Ejecutando Funciones

Los nombres de la funcin inhbiles: si no se tiene calificado el nombre de una funcin con un objeto, PowerBuilder busca para la funcin y ejecuta el primero que es encontrado que encaja con el nombre y argumentos. Busca para emparejar en el siguiente orden:
1. Una funcin externa global 2. Una funcin global 3. Una funcin objeto y funcin externa local. Si el objeto es un descendiente, PowerBuilder busca hacia arriba a travs de la jerarqua para encontrar una pareja para la funcin prototipo 4. Una funcin de sistema

1 - 212

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 106
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Calificando Nombres de Funciones


Se puede calificar una funcin del objeto que usa una notacin de punto para asegurarse que la funcin del objeto correcto es encontrado dentro de la jerarqua
w_employee.of_process_list() versus this.of_process_list()

1 - 213

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Similitudes: Funciones y Eventos


Las funciones y eventos tienen argumentos y retornan valores Se puede llamar a funciones de objetos y eventos dinmicamente o estticamente Se puede anunciar o disparar una funcin o llamar a un evento

1 - 214

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 107
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Diferencias: Funciones y Eventos


Las Funciones pueden ser globales o parte de una definicin de objeto. Los Eventos son asociados solo con objetos PowerBuilder usa rdenes de bsqueda diferentes cuando busca evento y funciones Una llamada a una funcin no definida envia un error. Una llamada a un evento no definido no enva error Las funciones a nivel Objeto puede ser recargadas. Los Eventos (y funciones globales) no pueden cargarse excesivamente Una funcin puede tener niveles de accesos restringidos mientras que los eventos siempre son pblicos
1 - 215
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Resumen
Encapsulacin es el concepto de empaquetar un conjunto de atributos y comportamientos en un objeto Polimorfismo es la habilidad de una funcin para comportarse diferentemente, dependiendo del contexto donde es llamado Herencia es el mecanismo que permite a un objeto obtener sus atribustos desde otros objetos Ejecutar Eventos y Funciones en PowerBuilder es basado en un Search Order Las Funciones pueden ser globales o parte de una definicin de objeto Los Eventos son asociados solo con objetos

1 - 216
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 108
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Laboratorio 5
5-1: Creacin de SubClases Windows
w_ancestro (main)

Heredar!

w_mto (main)

w_cab_det (main)

w_buscar (response)

w_preview (main)

w_login (response)

w_mdi (mdi)

w_sheet (main)

1 - 217

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

PowerBuilder Developer v10.0

Mdulo 6: Custom Classes User Object Non-Visual

1 - 109
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Preguntas
1. Describe la herencia en PowerBuilder (se puede usar un window como ejemplo) 2. Usando el ejemplo anterior, dar un ejemplo de polimorfismo 3. Describe la ocultacin de informacin

1 - 219

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Objetivos
Al finalizar este mdulo, ser capaz de:
Crear una jerarqua custom class Demostrar el polimorfismo dentro de la jerarqua Crear una instancia del custom class

1 - 220

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 110
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Tipos de User Object PowerBuilder


Las categoras de User Object PowerBuilder:


Standard Class (Nonvisual) Custom Class (Nonvisual) Custom Class (Visual) Standard Class (Visual)

1 - 221

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Custom Class User Object (CCUO)


Qu es un Custom Class User Object?


Una clase PowerBuilder Tambin conocido como non-visual object (NVO) Permite que definas y encapsules propiedades y mtodos personalizados (funciones y eventos)

Ejemplo: patient_object patient_ID patient_fname of_CheckStatus ue_Retrieve Class Name Related Properties (Variables de Instancia) Methods (Funciones y Eventos)

1 - 222

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 111
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Creando un Custom Class User Object(CCUO)


1. 2. 3. 4. Click al botn New Seleccionar Object Custom Class Especificar cualquier variable de instancia Declarar y escribir cualquier funcin o evento (Custom class user objects tienen eventos constructor y destructor) 5. Click al botn Save

1 - 223

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Creando un CCUO en el Painter del User Object

1 - 224

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 112
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Atributos y Mtodos en un CCUO


Mostrar las Functions / Declare New Functions Declarar variables

1 - 225

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Atributos en un CCUO
Variables de Instancia Public Variables de Instancia Protected Variables de Instancia Private

1 - 226

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 113
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Mtodos en un CCUO

Object Methods Inherited Object Methods Overriden

Object Methods

1 - 227

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Creando una Jerarqua


1. 2. 3. 4. 5. 6. 7. Click al botn Inherit en el PowerBar, o seleccionar File>Inherit desde la barra de men Seleccionar User Objects desde el Objects Type drop-down list Seleccionar el target como la librera o libreras que se desea observar Seleccionar el user object que se desea usar para crear el descendiente, y click OK El objeto seleccionado mostrado en el painter del User Object y el ttulo de la barra indican que el objeto es un descendiente Hacer cualquier cambio que se desea al user object Grabar el user object con un nuevo nombre

1 - 228

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 114
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Creando una Jerarqua Continua


Seleccionar Library Para usar User Objects Heredar desde este Object

1 - 229

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Polimorfismo: CCUO

Funciones:

Cuando las funciones son heredadas, se puede escoger, sobrecargar o anular la definicin de la funcin. Cuando los eventos son heredados, los scripts para estos eventos son extendidos por defecto. Se puede escoger, extender o anular el script.

Eventos:

1 - 230

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 115
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Polimorfismo: CCUO ...Continuado


n_anc_coverage n_anc_coverage ld_amount ld_amount = =0 0

of_getCoverage of_getCoverage

n_basic_coverage n_basic_coverage ld_amount ld_amount = = adc_amount adc_amount *.7 *.7

n_premium_coverage n_premium_coverage ld_amount ld_amount = = adc_amount adc_amount *.9 *.9

1 - 231

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Operaciones Vlidas: Objeto Descendiente


Se puede hacer lo siguiente en un user objet descendiente:


Cambiar los valores de las propiedades Crear scripts para eventos que no tienen scripts en el ancestro Extender o anular los scripts heredados Referenciar a las funciones y eventos del ancestro Referenciar a los structures del ancestro si el ancestro contiene variables de intancia del tipo de dato structure Acceder a las propiedades del ancestro, como una variable de instancia, si el alcance de la propiedad es pblica o protegida

1 - 232

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 116
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Instanciacin
La Instanciacin es el proceso de crear una instancia en tiempo de ejecucin Usa la sentencia PowerScript CREATE La sentencia CREATE retorna una instancia de objeto que puede ser almacenada en una variable del mismo tipo.

1 - 233

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Creando una Instancia en Tiempo de Ejecucin


Declare una variable del tipo CCUO n_cst_patient inv_patient Instancie al Objeto inv_patient = CREATE n_cst_patient Use el Objeto (llamar a mtodos, etc) Destruir el objeto n_cst_patient DESTROY inv_patient

inv_patient

long il_patientid string is_insurance_name boolean ib_newros

1 - 234

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 117
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Autoinstantiation

Create y Destroy automticamente

1 - 235

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Accediendo a Mtodos y Atributos


inv_patient.is_insurance_name=Blue Cross inv_patient.il_patientid = ll_id

Advertencia: La manipulacin Directa de propiedades desde el cliente al custom class Viola la encapsulacin. En la Programacin OO, la manipulacin de propiedades debe ser realizada Desde dentro del objeto

1 - 236

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 118
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Asignacin Objeto a Objeto Variables de Referencia


n_cst_patient lnv_temppatient inv_patient = CREATE n_cst_patient lnv_temppatient = inv_patient // both point to same instance inv_patient.il_patientid = 201 // lnv_temppatient tambin cambia el valor patient id a 201 lnv_temppatient Pointer inv_patient long il_patientid 201 201 string is_insurance_name boolean ib_newrow

1 - 237

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Asignacin Propiedad a Propiedad


Valor copiado (este no es un indicador) n_cst_patient inv_temppatient inv_temppatient = CREATE n_cst_patient inv_patient.il_patientid=201 inv_temppatient.il_patientid=inv_patient.il_patientid
inv_temppatient 201 long il_patientid 201 string is_insurance_name boolean ib_newrow inv_patient 201 long il_patientid 201 string is_insurance_name boolean ib_newrow

1 - 238

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 119
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Propiedades Encapsuladas

La propiedad es declarada private o protected:


private long il_patient_id

Rutinas Get y Set son provedas para manipular las propiedades


of_getPatient_id( ) returns long of_setPatient_id(al_id) returns long // retorna estatus

1 - 239

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Porqu Usar Rutinas Get / Set?


Puede controlar los efectos laterales Puede validar la configuracin Puede hacer al Get o Set private, protected o public para permitir el acceso a las propiedades Puede pensar en otras cosas?

1 - 240

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 120
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Resumen
Un custom class user object (CCUO) consiste de propiedades y mtodos personalizados Los CCUOs proporcionan una manera conveniente para referirse a mltiples valores usando una sola referencia de variable Los CCUOs son definidos usando el painter User Object Las propiedades del CCUO no son referenciados con notacin Un CCUO puede ser usado para pasar mltiples valores a funciones con un solo argumento Las propiedades en el custom class debe ser encapsulados para prevenir la manipulacin de los clientes

1 - 241

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Preguntas

Qu es instanciacin? Como debe instanciar un custom class nombrado n_invoice

1 - 242

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 121
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Laboratorio 6
Lab 6-1: creacin de Objetos User Object de la aplicacin

1 - 243

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

PowerBuilder Developer v10.0

Mdulo 7: Trabajando con Aplicaciones MDI

1 - 122
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Preguntas
1. Qu es un SDI (single document interface)? Dar algunos ejemplos 2. Qu es un MDI (multiple document interface)? Dar algunos ejemplos

1 - 245

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Objetivos
Al finalizar este mdulo, ser capaz de:
Diferenciar entre frames y sheets Abrir un window sheet dentro de un frame Redimensionar un control DataWindow en un Sheet que es realizado por el usuario

1 - 246

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 123
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Application MDI

Hay dos categoras bsicas de MDI para considerar:


Single Task Multiple Task

1 - 247

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

MDI Single Task


Los MDIs Single Task consisten de un window frame con mltiples sheets

Ejemplo:

MS Excel Document 1 Document 2 Document 3

1 - 248

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 124
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Multiple Task application


Multiple Task MDI applications consiste de un frame window Muchas instancias diferentes de windows abiertas para realizar diferentes tareas

Ejemplo: PowerBuilder IDE

1 - 249

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Multiple Task application

1 - 250

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 125
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Componentes de un MDI
Title Bar Menu bar Toolbar

Client area Status bar

1 - 251

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Toolbars
Toolbars con botones proporciona shortcut para escoger los items del men Un toolbar puede ser asociado con el MDI frame y con el sheet activo

1 - 252

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 126
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Area del cliente


Ocupa todo el espacio libre desde el bottom de la barra de men o toolbar al top del estado de la barra Es donde los sheets abiertos aparecen Tiene nombres por defecto para el rea del cliente: mdi_1, mdi_2, mdi_n

1 - 253

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Frame
El MDI frame es el area externa del window MDI que contiene el rea del cliente Hay dos tipos de MDI frames:

Standard

El rea del cliente contiene solo sheets abiertos El rea del cliente contiene solo sheets abiertos como otros objetos, como botones y StaticText

Custom

1 - 254

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 127
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Sheets
Son windows abiertos dentro del frame Representa mdulos o sub aplicaciones dentro de la aplicacin Puede tener menu propio Puede ser llamado usando cada funcin OpenSheet o OpenSheetWithParm

1 - 255

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Tipos de Window para MDI Applications


MDI frame MDI frame with MicroHelp

1 - 256

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 128
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Construyendo un MDI frame window


PowerBuilder tiene un window por defecto de tipo Main Select mdi! o mdihelp! En la propiedad General para cambiar el window a un window MDI frame

1 - 257

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

MDI Frame Windows


Habilita mltiples sheets para ser abiertos dentro del frame Puede contener mltiples instancias del mismo tipo de window o diferente Permite al usuario hacer cualquier sheet activo

1 - 258

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 129
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

MDI Frame with MicroHelp


Muestra mensaje de ayuda en el estado de barra en el bottom del frame Puede mostrar el MicroHelp para un feedback con los usuarios

1 - 259

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Abriendo Sheets

Los Sheets pueden ser abiertos usando cada funcin OpenSheet o OpenSheetWithParm

Abre un sheet dentro de un MDI (multiple document interface) frame window y crea un item de men para seleccionar el sheet en el men especificado

Sintaxis OpenSheet ( sheetrefvar {, windowtype }, mdiframe {, position {, arrangeopen } } )

1 - 260

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 130
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Abriendo Sheets

OpenSheetWithParm:
Abre un sheet dentro de un MDI (multiple document interface) frame window y crea un item de men para seleccionar el sheet en el men especificado Tambin almacena un parmetro en el objeto de sistema Message para que sea accesible al sheet abierto

Sintaxis OpenSheetWithParm ( sheetrefvar, parameter {, windowtype }, mdiframe {, position {, arrangeopen } } )

1 - 261

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Activacin del Objeto


Todos los ingresos desde el teclado o mouse es direccionado hacia una aplicacin en particular o window dentro de una aplicacin Solo una aplicacin puede ser activada en un tiempo en el desktop El window activo es el window concurrente que recibe la entrada

1 - 262

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 131
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Resizing Controles en un Sheet


Este trmino se refiere a darle tamao a los controles en el Window


La mayora de los controles ubicados en un Window pueden ser modificados en tamao. Procedimiento:

Arrastrando a travs de las reas permitidas Resizing es permitido en ocho lugares en un control

Diagonal Stretching (At four corners) Horizontal Stretching (On horizontal lines) Vertical Stretching (On vertical lines)

1 - 263

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Resizing Controles
Antes del Resizing

Despus del Resizing

1 - 264

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 132
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Menus en un MDI Application


Un men es asociado con un frame y puede ser usado por todos los sheets dentro del frame Los sheets que aparecen dentro de un frame pueden tener su propio men Los sheets sin un men asociado usa el men del frame

1 - 265

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Menu en MDI Applications


Frame window Men del Frame

Sheet window Men del Sheet

1 - 266

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 133
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Asociando un Men con un window


1. 2. 3. 4. Acceder al painter del Window Abrir el window Mostrar las propiedades del sheet window Ingrese o busque el nombre del men

Menu Name

1 - 267

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Resumen
El MDI es un estilo de aplicacin usado para manejar mltiples windows mains dentro de un solo window Los componentes MDI incluyen el frame, barra de ttulo, barra de men, rea del cliente, y barra de estado El MDI frame windows puede ser definido con o sin MicroHelp Los MDI frames siempre tienen asociado un menu Los Sheets sin un men usan el men del frame

1 - 268

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 134
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Laboratorio 7

Lab 7-1: Creacin de la Aplicacin MDI

1 - 269

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

PowerBuilder Developer v10.0

Mdulo 8: Comunicacin entre Windows

1 - 135
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Objetivos
Al finalizar este mdulo, ser capaz de:
Abrir una hoja y pasar datos al nuevo sheet abierto El estado de la propiedad del Message es usado para especificar el tipo de dato a ser pasado Acceder a los datos pasados desde el sheet receptor

1 - 271

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Objetos Message
Son objetos globales PowerBuilder predefinidos (similar a los objetos Transaction SQLCA y Error) Son usados en scripts para procesos de eventos Microsoft Windows que no son eventos definidos en PowerBuilder

1 - 272

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 136
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Objetos Message : Funcionalidad


Los Objetos Message son usados para:


Comunicar los parmetros entre windows cuando son abiertos y cerrados Pasar informacin a un evento si los parmetros opcionales son usados en TriggerEvent o PostEvent

1 - 273

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Objetos Message
Puede personalizar el objeto global Message usado en una aplicacin definiendo un standard class user object heredado desde el objeto Message En el user object, adicionar propiedades (variables de instancia) y funciones Las propiedades y funciones definidas por usuario puede ser publicadas y pueden ser llamadas como sean requeridas en una aplicacin

1 - 274

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 137
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Propiedades del Objeto Message


Propiedad Handle Number WordParm LongParm Datatype Integer Integer UnsignedInt Long Descripcin Para manejar el window o control El nmero que identifica el evento El parmetro word para el evento El parmetro long para el evento

1 - 275

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Propiedades del Objeto Message


Propiedad DoubleParm StringParm PowerObjectParm Processed Datatype Double String PowerObject Boolean Descripcin Una variable numrica Una variable string Cualquier tipo de objeto PowerBuilder Un valor boolean puesto en el script para el evento userdefined

1 - 276

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 138
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Propiedades del Objeto Message


Propiedad ReturnValue Datatype Long Descripcin Cuando Message.Processed es TRUE, especifica el valor que se desea retornar a los Windows Esta propiedad es ignorada cuando Message.Processed es FALSE

1 - 277

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Comunicando a los Sheets


Los Objetos Message pueden ser usados para comunicar parmetros entre windows usando las siguientes funciones PowerScript.

OpenWithParm OpenSheetWithParm CloseWithReturn

1 - 278

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 139
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

OpenSheetWithParm
Abre un Window y almacena el parmetro en el objeto Message del sistema. Ejemplo:

OpenSheetWithParm(w_patient, 10001") . En el script del Evento Open de w_ patient se puede acceder a la propiedad del objeto Message como se muestra abajo String li_ patientid li_ patientid = Message.StringParm

1 - 279

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Comunicando a los Sheets


CloseWithReturn Sintaxis: CloseWithReturn ( windowname, returnvalue )

Ejemplo:
CloseWithReturn(Parent, li_status)

1 - 280

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 140
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Abriendo los Detalles del Paciente

OpenSheetWithParm(lw_patient, ii_patientid, w_frame)

1 - 281

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Abiendo los Detalles del Paciente los detalles


El usuario resalta el paciente seleccionado (Usando SelectRow) El evento doubleclick es usado para abrir los detalles del paciente seleccionado.

Evento Doubleclick tiene un argumento para la fila (Nota: si este hubiera sido un evento de usuario: Use una funcin para obtener la fila) Obtener la columna patient id usando las funciones DataWindow GetItemxxx o usando la notacin objeto y pasando la informacin de la fila Llamar a la funcin OpenSheet pasando la informacin del patient id en la ubicacin del parmetro

OpenSheetWithParm(lw_patient, ll_patientid, w_frame)


1 - 282
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 141
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

El Window Detalle de Paciente


El Script del Evento Open (o el constructor del DataWindow) Declare una variable para almacenar el patient id Recuperar el DataWindow pasando la variable

integer ii_patient_id // variables de instancia ii_patient_id = Message.DoubleParm dw_data.SetTransObject (SQLCA) dw_data.Retrieve(ii_patient_id)

1 - 283

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Usando un Custom Class para Pasar Datos


Porqu?
Los datos pueden ser encapsulados con todas las ventajas que este ofrece La estructura del custom class puede ser cambiado para reunir los nuevos requisitos sin que el cliente tenga que modificar el cdigo

Cmo? (detalles en los siguientes slides)


Enviar y recibir ambos debe ser en una instancia del custom class El Enviador debe instanciar en orden para publicar esto El Receptor recoger la referencia desde el Message.PowerObjectParm

1 - 284

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 142
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Usando CCUOs para Comunicar Windows


Enviador:

OpenSheetWithParm ( sheetrefvar, parameter {, windowtype }, mdiframe {, position {, arrangeopen } } ) Numeric PowerObject String

Receptor:
Message.DoubleParm Message.PowerObjectParm Message.StringParm

1 - 285

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Pasando un CCUO a otro window


n_emp in_emp determine el tipo in_emp = create & n_salaried_emp hacer algo opensheetWithParm (w_report, in_emp, & . Etc)
Salaried Employee pasado

n_emp in_passed_emp in_passed_emp = & message.PowerObjectParm in_passed_emp.of_calc_vac() in_passed_emp.of_calc_vac()

Salaried Vacation Rules


1 - 286
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 143
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Resumen
Los Objetos Message son objetos globales PowerBuilder predefinidos y usados para procesar eventos Microsoft window Los Objetos Message son usados para comunicar sheets y objetos en una aplicacin PowerBuilder

1 - 287

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

PowerBuilder Developer v10.0

Mdulo 9: Creando Mltiples Instancias de Window

1 - 144
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Preguntas
1. 2. 3. 4. Qu es una clase? Cules son algunas clases que se han creado en este curso? Qu son atributos? Qu son mtodos?

1 - 289

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Objetivos
Al finalizar este mdulo, ser capaz de:

Abrir mltiples instancias de algunas clases window

1 - 290

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 145
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Instancias Mltiples del Window


Ejemplo:
Se tiene creado la clase w_paciente Se desea mostrar ms que un solo paciente simultneamente

1 - 291

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Almacenando la Definicin del Window


Cuando un window es grabado, PowerBuilder genera dos entidades en la librera:


Un nuevo tipo de dato


El nombre del tipo de dato es el mismo como el nombre del window El nombre de la variable global es el mismo como el nombre del window

Una nueva variable global del nuevo tipo de dato


1 - 292

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 146
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Abriendo un Window

Para abrir un window, se usa la funcin Open, como:


Open(w_paciente)

Cuando se abre un window que ya est abierto, PowerBuilder simplemente activa el window existente

Ejemplo:
//Considere este script para el evento Clicked del CommandButton Open(w_paciente)

1 - 293

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Declarando Instancias de Window


Window es un tipo de dato


Variables de este tipo de dato pueden ser declarados Ejemplos:


//Declare nombre de variable lw_ paciente de tipo w_ paciente. w_ paciente lw_ paciente /* Declare un arreglo nombrado lwa_ paciente, que contiene cinco instancias del tipo window w_ paciente*/. w_paciente lwa_ paciente[5]

Variables de tipo window pueden ser referenciados en un script


1 - 294

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 147
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Abriendo Instancias de Window


Para abrir una Instancia de un window, pasar la variable de instancia a la funcin Open()

Ejemplo:
//Considere este script para un evento Clicked del CommandButton

w_ paciente lw_paciente Open(lw_ patient)

1 - 295

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Abriendo Instancias de Window

1 - 296

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 148
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Cerrando una Instancia


Para cerrar una instancia de un window, se usa la funcin Close() de PowerScript


Ejemplo:
/*Considere este script para un evento Clicked del CommandButton*/ //es el window w_paciente Close(Parent)

1 - 297

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Abriendo un arreglo de Instancias Window


Para abrir una instancia de un window en un arreglo, use la funcin Open() y pase el indice del array

Ejemplo:
//Declare un arreglo que contiene cinco indices w_paciente lwa_ paciente[5] // Abrir la primera instancia. Open(lwa_ paciente[1]) // Abrir la segunda instancia Open(lwa_ paciente[2])

1 - 298

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 149
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Arreglo Window

Las Instancias particulares pueden ser manipuladas usando el indice del arreglo

Ejemplos:
//Poner el ttulo de la primera instancia de w_paciente lwa_ paciente[1].Title = Paciente - 1 /*llamar a la funcin window de la segunda instancia de w_paciente*/ lwa_ paciente[1].wf_myfunction()

1 - 299

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Abriendo Mltiples Windows


Para abrir o cerrar un nmero largo de instancias de Window, use cualquier estructura de loop (For...Next, DoWhile, etc.)

Ejemplo:
//Este script abre cinco instancias del window w_paciente w_ paciente lwa_ paciente[5] Integer i For i = 1 to 5 Open(lwa_ paciente[i]) Next

1 - 300

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 150
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Creando el Arreglo Mixto de Windows


Pueden crear arreglos de tipo mixto de Windows


Una variable de tipo window puede referenciar cualquier tipo de window Ejemplo:

window lwa_win[3] string win_name[3] Integer I win _name[1] = "w_paciente win _name[2] = "w_paciente_report win _name[3] = "w_paciente_master_detail
For i = 1 to 3 Open(lwa_win[i], win _name[i]) Next
1 - 301
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Arreglo vs Variables de Referencia


Item Arreglo Ventajas Se puede referir a instancias particulares. Desventajas Los arreglos son ms dificultosos para usar porque se tiene que rastrear a todas las instancias No se pue puede manipular una instancia particular de un window creado usando variables de referencia

Variables de Fcil de usar Referencia

1 - 302

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 151
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Accesando a Entidades Window Descendientes


Una variable de tipo Window puede referenciar cualquier entidad definida en el Window, pero no en uno de sus descendientes

Ejemplo 1:
w_paciente lw_paciente Open(lw_paciente) // la siguiente sentencia es vlida si w_paciente tiene una // funcin window nombrado of_checkStatus() lw_paciente.off_checkStatus()

1 - 303

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Accediendo a Entidades Window Descendientes


Ejemplo 2:
Window my_window Open(my_window, w_paciente) //la siguiente sentencia es invlida como el tipo de objeto window //no tiene una funcin window para el nombre of_checkStatus() my_window.of_checkStatus( )

1 - 304

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 152
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Accediendo a Entidades Window Descendientes


Ejemplo 3:
Window my_window w_paciente lw_paciente String ls_win_name = " w_paciente Open(my_window, ls_win_name ) lw_paciente = my_window //la siguiente sentencia es vlida como el tipo de objeto w_paciente // tiene una funcin window para el nombre of_checkStatus() lw_paciente.of_checkStatus()

1 - 305

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Resumen
Las instancias Window son usados para mostrar windows de estructura identica conteniendo diferentes datos Las instancias Window pueden ser manejados usando Arreglos Una instancia Window puede ser abierta usando la funcin Open() Una instancia Window puede ser cerrada usando la funcin close()

1 - 306

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 153
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

PowerBuilder Developer v10.0

Mdulo 10: Usando el Painter Database

Preguntas
1. Que es la validacin del lado del cliente? Porqu es importante? 2. Qu tipos de ingresos deben ser puestos a los radio buttons? 3. Que tipos de ingresos debe ser puestos en un checkbox?

1 - 308

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 154
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Objetivos
Al finalizar este mdulo, ser capaz de:
Crear un PowerBuilder Database Profile Explicar la conveniencia de Atributos Extendidos Crear Atributos Extendidos

Mostrar Atributos Edit Masks Validation

1 - 309

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Drivers de Conexin

Drivers Native:
Use la interfaz del driver del Vendedor Ejemplos: SYC-Sybase ASE, O84 - Oracle 8.4

Open Database Connectivity(ODBC):


Usa la interfaz de base de datos Estndar de Microsoft Vendor & 3rd Party Drivers para conectarse a varios orgenes de datos Windows ODBC Administrator crea los perfiles

1 - 310

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 155
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Open Database Connectivity (ODBC)


Sybase ODBC Microsoft ODBC Manager Oracle ODBC dBASE ODBC

PowerBuilder ODBC Interface

Sybase

Oracle

dBASE

1 - 311

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Ventajas / Desventajas de ODBC


ODBC le permite a tu aplicacin conectarse a muchas base de datos a travs de una interfaz estndar Cualquier base de datos que tiene un driver ODBC puede ser accesado a travs de una aplicacin PowerBuilder No todas las caractersticas de las bases de datos son implementadas La performance de acceso a los datos puede degradarse

1 - 312

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 156
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Creando un Database Profile


1. Click al botn Database Profile en el PowerBar 2. Resaltar un nombre de interface y click a New 3. En el tab page Connection, ingresar el nombre del profile e ingresar los valores para cualquier otro parmetro bsico que la interfaz requiere para conectarse

1 - 313

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Ventana de Dilogo del Database Profiles


Click al botn Database Profile en el PowerBar

Botn Database Profile

1 - 314

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 157
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Creando un Database Profile

1 - 315

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Creando un Database Profile Continua

Puede copiar al clipboar para despus pegarlo en cdigo


1 - 316
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 158
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Overview del Database Painter


Acciones posibles a realizar en el Database Painter:


Crear nuevas tablas y vistas de la base de datos Modificar o borrar tablas existentes Adicionar o borrar indeces Adicionar o borrar llaves primarias o forneas Ejecutar sentencias SQL Definir los atributos de columna extendida

1 - 317

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Trabajando con Tablas


Viendo las tablas en el Object layout View Trabajando con los Datos

1 - 318

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 159
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Viendo Tablas

1 - 319

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Object Layout View


Index

Primary Key

Foreign Key

1 - 320

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 160
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Trabajando con los Datos


Los datos pueden ser mostrados en formato Grid, Tabular o Freeform

1 - 321

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Operaciones en el Data Display


Retrieve Save Insert Row Delete Row Navigation Print

1 - 322

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 161
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Atributos Extendidos
Estandariza la apariencia de las etiquetas de los datos y las cabeceras del objeto DataWindow Elimina la necesidad de especificar las caractersticas cada vez que se crea el objeto DataWindow Proporciona una manera fcil para estandarizar la validacin, formateo, etc en las aplicaciones DataWindow ad-hoc

1 - 323

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Niveles de Atributos Extendidos


Propiedades a nivel Tabla Caractersticas a nivel Columna

1 - 324

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 162
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Propiedades a Nivel Tabla


Acciones posibles en propiedades a nivel Tabla:


Hacer comentarios sobre la tabla Definir Fonts para los datos, headings y labels Definir Indexs, primary keys, y foreign keys

Para acceder a las propiedades a nivel Tabla, seleccionar la tabla y click al botn properties

1 - 325

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Propiedades de Columna

1 - 326

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 163
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Atributos de la Columna Extendida


Elimina la necesidad de repetir la configuracin de propiedades de las columnas en un DataWindow til en aplicaciones ad-hoc cuando un DataWindow es creado dinmicamente basado en criterios en tiempo de ejecucin Consiste de:

Display Formats Edit Styles Validation rules


1 - 327

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Display Format
Es una mascara que determina como los datos en una base de datos sern formateados para mostrarlos. Puede ser usado por cualquier columna del tipo de dato apropiado en la base de datos. Puede ser definido por el desarrollador

1 - 328

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 164
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Formatos String
Sintaxis: Formato String; Formato Null Ejemplo un nmero de telfono puede ser formateado

(@@@) @@@-@@@@ ; [RED]unlisted number

1 - 329

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Formatos Date
Sintaxis: Formato Date; Formato Null Ejemplos: para Sept 5 , 2004

Formato mmm-d-yyyy dddd dd-mmmm-yyyy ddd mmm dd, yy

Resultado Sep-5-2004 Wednesday 05-September-2004 Wed Sep 05, 04

1 - 330

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 165
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Formatos Predefinidos
Algunos formatos usados comnmente son predefinidos El desarrollador lo puede personalizar si es necesario

1 - 331

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Creando un User-Defined Display Format


@@@-@@@-@@@@; Unlisted

1 - 332

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 166
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Aplicando Display Formats a Columnas


Un Display Format puede ser asignado a una columna en cualquier tabla donde el formato es apropiado Por ejemplo, el display PhoneNumber sera apropiado para los celulares, beepers, telfonos, etc donde quiera que ellos aparezcan en una tabla

1 - 333

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Aplicando Display Formats a Columnas


1. Seleccionar la columna a aplicar el formato (double-click) 2. Especificar Format en el tabpage Display de las propiedades
2

1 - 334

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 167
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Edit Styles
Especificar como el dato de la columna es presentado en un objeto DataWindow Suministra un GUI Afecta a ambos a la muestra y a la manera como el usuario interacta con el dato

1 - 335

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Tipos de Edit Styles


Edit Checkbox Radio button Edit mask Dropdown list box Dropdown DataWindow

1 - 336

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 168
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Radio Button Edit Styles


Usado para nmeros pequeo de posibles valores de los datos Ejemplo: Estado de la Poliza de Seguro puede ser:

1 - Activo 2 - Inactivo

1 - 337

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Definiendo un Style Radio Button

1 - 338

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 169
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Aplicando el Edit Style a una Columna

1 - 339

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

El Nuevo Style Mostrado

1 - 340

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 170
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Style Drop-Down List Box


Tiene ms opciones que un Style Radio Button

1 - 341

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Usando el Style Drop Down List Box

1 - 342

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 171
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Validation Rules
Validation Rules son expresiones que PowerBuilder usa para verificar los datos ingresados por el usuario PowerBuilder automticamente verifica los datos ingresados en las columnas cuando las reglas de validacin son aplicadas Los Atributos Extendidos para validation rules proporcionan validacin client-side

1 - 343

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Validacin Server-Side
Requiere un Application Server A menudo usa los mtodos server-specific proprietario Puede invocar otros componentes server-side: EJB, CORBA, etc Adiciona un nivel adicional de seguridad desde que el cdigo no es cdigo de origen y no puede ser visto desde el cliente Requiere un round-trip al servidor

El Feedback no es inmediato Requiere un recarga de pgina despus del round-trip


1 - 344

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 172
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Validacin Client-Side
Escrito en JavaScript, JScript, etc Posibles validaciones limitadas

No puede invocar componentes server-side No puede realizar verificaciones cross-table No puede realizar validacin compleja

No requiere un round-trip al servidor


El usuario obtiene inmediatamente un feekback en problemas con el ingreso de datos El feedback es rpidamente

1 - 345

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Creando un Validation Rule


@col retorna el dato ingresado como un string El desarrollador debe lanzar la cadena al tipo de dato apropiado La expresin debe retornar un boolean; True = passes validation Ejemplo:

Date (@col) <= Today()

1 - 346

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 173
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Creando un Validation Rule

1 - 347

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Asociando una Columna con el Rule

1 - 348

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 174
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Resumen
ODBC le permite a tu aplicacin conectarse con muchas base de datos a travs de una interfaz estndar En el painter del Database, se puede:

Grficamente mostrar objetos de la base de datos Crear, Modificar, y Borrar objetos de la base de datos sin sentencias de codificacin Crear, Modificar y Borrar atributos extendidos para columnas y tablas Poner atributos extendidos a columnas

1 - 349

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Resumen

Usar el Data Output View para mostrar datos, adicionar o borrar filas, y cambiar valores existentes Usar el ISQL View para codificar y ejecutar comandos SQL

1 - 350

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 175
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Laboratorio 10
Lab 10-1: Creacin de la Base de datos Lab 10-2: Creacin de las Tablas de la Aplicacin

1 - 351

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

PowerBuilder Developer v10.0

Mdulo 11: Programando la Conexin a la Base de datos

1 - 176
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Objetivos
Al finalizar este mdulo, ser capaz de:
Describir para que un Objeto Transaction es usado Listar 3 maneras para asignar valores a las propiedades del objeto Transaction Codificar la conexin y desconexin en PowerScript

1 - 353

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Definicin:

Objeto Transaction

Un objeto especial no visual usado en PowerScript que sirve para comunicarse entre una aplicacin PowerBuilder y una base de datos Conectarse a la base de datos desde una aplicacin PowerBuilder Identificar el nombre de la base de datos y otros parmetros relevantes Almacenar estados de informacin para actividades recientes de la base de datos

Es usado para:

Nota: Cada conexin necesita un nico objeto Transaction


TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 354

1 - 177
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Objetos Transaction
Application
SQLCA SQLCA
Access Accessinfo info Status Statusinfo info

Sybase

Mytrans Mytrans

Access Accessinfo info Status Statusinfo info

Oracle

1 - 355

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Estableciendo Conexiones a la Base de datos


Comunicaciones de la Base de datos
Application

Transaction Object

Vendor database interface

PowerBuilder database interface

1 - 356

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 178
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Propiedades Principales de un Objeto Transaction


Propiedad SQLCode DataType Long Descripcin El cdigo de satisfactorio o falla de la operacin ms reciente. Cdigo de Retorno: 0 Success, 100 - Not found, -1 - Error (use SQLDBCode o SQLErrText para obtenerel detalle) Mensaje de Error de la base de datos Database Specific Parameters Ex: SQLCA.DBParm = "ConnectString='DSN =EAS Demo DB V9;UID=mtek;PWD=sql'" Nombre de la Base de datos PowerBuilder vendor identifier.ODBC/OLEDB

SQLErrText DBParm

String String

Database DBMS

String String

1 - 357

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Propiedades del Objeto Transaction


Existen muchas maneras de llenar las propiedades de un objeto transaction :


Desde el prompt de un usuario Un archivo ini Un script

1 - 358

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 179
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Objetos Globales por Defecto


PowerBuilder proporciona cinco objetos globales que son predefinidos en todas las aplicaciones, SQLCA es uno de ellos
Objeto Global SQLCA SQLDA SQLSA Error Message Descripcin Objeto Transaction, usado para comunicarse con la base de datos (Area de comunicacin) DynamicDescriptionArea, usado en SQL dynamic DynamicStagingArea, usado en SQL dynamic Usado para reportar errores durante la ejecucin Usado para procesar mensajes que son definidos en Eventos para pasar parmetros entre windows

1 - 359

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Conectndose a una Base de datos

Application

Objeto Transaction

Database

1 - 360

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 180
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Propiedades de Conexin de la base de datos


DBMS Database UserID DBPass Lock LogID LogPass ServerName AutoCommit DBParm

1 - 361
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Return Status
SQLCode SQLNRows SQLDBCode SQLErrText SQLReturnData

1 - 362

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 181
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Conectndose a una Base de datos


La conexin a una base de datos es requerida en las fases de desarrollo y despliegue En desarrollo, la conexin a la base de datos es una base de datos especfica Para propsitos de despliegue, PowerBuilder puede conectarse a una base de datos usando uno de los siguientes:

Database Interfaces OLEDB Native Database Driver


1 - 363

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Conectndose a travs de ODBC


En la pantalla de PowerBuilder mostrada abajo, Click en Database Profile ODB ODBCNew DB Profile

Click on New

Seleccionar la interfaz database


1 - 364
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 182
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Configurando el Database Profile

1 - 365

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Database Profiles

Newly Created Profile

1 - 366

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 183
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Sentencia Connect

Cuando PowerBuilder encuentra la sentencia Connect, este automticamente usa los valores del objeto SQLCA
Sintaxis: Connect <using TransactionObjectName> Para conectarse a la base de datos usando un objeto transaction diferente, simplemente especifique el objeto transaction en la sentencia Connect

1 - 367

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Conectndose a una Base de datos (Script)


// Poner las propiedades del objeto Transaction por defecto. SQLCA.DBMS="ODBC" SQLCA.DBParm="ConnectString='DSN=SybHealth'" // Conectarse a la base de datos. CONNECT USING SQLCA; IF SQLCA.SQLCode < 0 THEN & MessageBox(Error de Conexin", SQLCA.SQLErrText,& Database Exclamation!)

1 - 368

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 184
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Pasos para Conectarse a una Base de Datos


Inicializar Inicializar el el objeto objeto Transaction Transaction Connect Connect using using transaction transaction object object

Verificar Verificar el el cdigo cdigo de de retorno retorno

1 - 369

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Desconectndose de una Base de datos


DISCONNECT USING <<transaction object>>;

Database

1 - 370

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 185
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Mltiples Conexiones a la Base de datos


PowerBuilder permite mltiples conexiones a la base de datos simultneamente dentro de una aplicacin Mltiples objetos transaction pueden ser creados y conectados a diferentes base de datos o cada DataWindow Esto se realiza usando los objetos Transaction Definidos por el Usuario

1 - 371

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Objetos Transaction Definidos por Usuario


User ID TJM Password TJMPASS Database Customer

Base de datos Cliente

User ID TJM Password TJMPASS Database Marketing


1 - 372

Base de datos Marketing

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 186
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Objetos Transaction Definidos por Usuario Ejemplo


Define una variable de tipo transaction


transaction dbcon_1

Crea el objeto transaction


dbcon_1 = CREATE transaction

Asignar valores a las propiedades del objeto transaction Emite la sentencia SQL connect
CONNECT USING dbcon_1;

Verificar el resultado del requerimiento Limpiar valores:


DISCONNECT USING dbcon_1; DESTROY dbcon_1;

1 - 373

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Resumen
El objeto Transaction es un objeto no visual especial usado en PowerScript que sirve para comunicarse entre una aplicacin PowerBuilder y una base de datos Use la sentencia SQL connect para establecer la conexin PowerBuilder proporciona un objeto transaction por defecto de nombre SQLCA

1 - 374

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 187
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Laboratorio 11

Lab 11-1: Conexin a la base de datos desde la Aplicacin

1 - 375

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

PowerBuilder Developer v10.0

Mdulo 12: Construyendo el Result Set

1 - 188
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Preguntas
Qu es una sentencia SQL Select? Qu debe contener? Como se debe delimitar la seleccin en una sentencia select para especificar criterios? Asume que se desea recuperar las columnas id, fname y lname desde la tabla customer y se desea ordenar el sorteo por lname. Cmo sera la sentencia SQL resultante?

1 - 377

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Objetivos
Al finalizar este mdulo, sers capaz de:
Explicar las diferencias entre un quick select source y un SQL Select Source Join tables Especificar sorting, grouping y clusulas where en un SQL Source Definir y usar retrieval arguments Listar las diferencias entre Computed Fields y Computed Columns

1 - 378

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 189
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Objeto DataWindow

Un objeto DataWindow es un objeto que se usa para recuperar, presentar, y manipular datos desde una base de datos relacional u otros orgenes de datos (como un Excel worksheet o archivo dBASE)

1 - 379

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Objeto DataWindow

Ventajas de un Datawindow:

Data Validation

Se tiene full acceso a las reglas de validacin para los datos Se puede usar cualquier display formats existente para presentar los datos, o crear uno propio Se puede usar cualquier edit styles existente, como un radio buttons y edit masks, para presentar los datos, o crear uno propio

Display Formats

Edit Styles

1 - 380

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 190
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Objeto DataWindow Display Formats

Date format Drop down Phone format Zip Code

1 - 381

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Data Sources

Relational
Select from tables Select from view Store procedure

Non-relational
Importado desde un archivo (por ejemplo, archivos sencuenciales) User input

1 - 382

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 191
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Creando un Objeto DataWindow


Tab DataWindow Seleccionado

1 - 383

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

DataWindow Tabular
Los datos de las columnas van en la pgina y las cabeceras van sobre cada columna El layout por defecto puede ser reorganizado por cualquier manera de personalizacin moviendo las columnas y el texto

1 - 384

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 192
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

DataWindow Freeform
Los datos de las columnas van debajo de la pgina y las etiquetas van al lado de cada columna Usado a menudo para los formularios de ingreso de datos

1 - 385

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

DataWindow Grid
Los datos mostrados en un formato row-and-column con lneas grid separando las filas y columnas Las lneas grid crean una estructura rgida de celdas

1 - 386

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 193
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

DataWindow Label

Muestra los datos como etiquetas

1 - 387

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

DataWindow N-Up

Presenta dos o ms filas de datos uno despus de la otra

1 - 388

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 194
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

DataWindow Group
Proporciona una manera fcil para crear objetos DataWindow agrupados Las filas son divididas en grupos, cada uno de los cuales puede tener clculos estadsticos
1 - 389
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

DataWindow Cross-tab
Es una tcnica til para analizar datos Cuando el dato es recuperado en un objeto DataWindow, el crosstab procesa todos los datos y presenta una informacin de resumen que ha sido definido para esto

1 - 390

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 195
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

DataWindow Graph

1 - 391

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Graphs

PowerBuilder proporciona muchos tipos de grficos para escoger

1 - 392

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 196
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Data Sources

Si el dato est en la base de datos


Quick Select SQL Select Query Stored Procedure

Si el dato no est en la base de datos


External

1 - 393

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Data Sources Continuacin

1 - 394

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 197
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Quick Select Data Source


El dato es de una sola tabla (o desde tablas que estn relacionadas a travs de foreign keys) y solo se necesita escoger las columnas, criterios de seleccin y sort Cuando se escoge Quick Select como data source, no se puede:

Especificar la agrupacin antes de que las filas sean recuperadas Incluir columnas computadas Especificar retrieval arguments para la sentencia SELECT que se proporciona durante la ejecucin

1 - 395

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

SQL Select Data Source


El SQL Select data source es generalmente usado para queries ms complejos, incluyendo aquellos conteniendo
Ms que una tabla Criterios de seleccin (clusula WHERE) Criterio Sorting (clusula ORDER BY) Criterio Grouping (clusulas GROUP BY y HAVING) Columnas Computed Uno o ms argumentos para ser proporcionados durante la ejecucin

1 - 396

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 198
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

External Data Source


External data source representa los datos que no son recuperados desde una base de datos.

1 - 397

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Stored Procedure Data Source


Se puede especificar un stored procedure como el data source para un objeto DataWindow si su DBMS soporta stored procedures

1 - 398

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 199
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Tablas Relacionadas Joining


Si se tiene seleccionado ms de una tabla, PowerBuilder une las columnas de acuerdo a la relacin de sus llaves:
Las Columnas con una llave primary/foreign relacionada son unidas automticamente. Las Columnas con una llave relacionada son unidas, si es posible, basado en nombres de columna comunes y tipos.

1 - 399

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Borrando un Join

Click al operador join que conecta a las tablas.


1. El dialog box Join es mostrado 2. Click Delete

1 - 400

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 200
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Creando un Nuevo Join


Para crear un Nuevo Join


1. Click al botn Join 2. Click a los nombres de las columnas 3. Click al botn Join en un segundo momento (salir del modo Join)

1 - 401

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

SQL Toolbox

Los Tabs en el SQL Toolbox:


Sort Where Group Having Compute Syntax

1 - 402

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 201
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Sorteando el Result Set


Se puede sortear las filas que son recuperadas en el objeto DataWindow especificando las columnas que corresponden en la clusula ORDER BY en la sentencia SELECT. El SORT en el SQL es realizado en el servidor por el DBMS para recuperar los datos

1 - 403

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Limitando el Result Set


Se puede limitar las filas que son recuperadas en el objeto DataWindow especificando los criterios de seleccin que corresponden a la clusula WHERE en la sentencia SELECT

1 - 404

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 202
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Como Operador para Emparejar los Modelos


Estos son:
_ Cualquier carcter solo % Cualquier cadena de cero o ms caracteres [ ] Cualquier caracter solo en un rango separado o conjunto [^] Cualquier carcter solo no en un rango especificado o conjunto

Ejemplo:

SELECT emp_lname, emp_fname FROM employee WHERE emp_lname LIKE 'br%'

Retorna:

1 - 405

emp_lname______ emp_fname Breault Robert TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines Braun Jane

Limitando el Result Set


SELECT "claims"."claim_code", "claims"."claim_id", "claims"."patient_id", "patient"."first_name", "patient"."last_name", "patient"."date_of_birth", "claims"."date_of_claim", "claims"."dr_charges", "claims"."amount_paid" FROM "claims", "patient" WHERE ( "patient"."patient_id" = "claims"."patient_id" ) and ( ( "claims"."date_of_claim" = '2003-02-01 00:00:00.000000' )) ORDER BY "patient"."first_name" ASC, "patient"."date_of_birth" DESC
1 - 406
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 203
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Agrupando el Result Set

1 - 407

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Agrupando el Result Set


Puede recuperar solo informacin estadsticas de las columnas agrupadas El cmputo es realizado en el servidor, solo los clculos resultantes son enviados sobre la red Mejora la performance en vez de traer el resultado entero y realizando el clculo en el cliente

1 - 408

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 204
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Agrupando el Result Set


SELECT "claim_reasons"."type", avg(dr_charges), avg(amount_paid), max(dr_charges), max(amount_paid) FROM "claims", "claim_reasons" WHERE ( "claims"."claim_code" = "claim_reasons"."claim_code" ) GROUP BY "claim_reasons"."type"

1 - 409

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Clusulas Where Dinmicas


Existe una necesidad a menudo de:


Pedir al usuario Responder mediante programa las condiciones en tiempo de ejecucin dinmicas

Hardcoding la clusula Where donde esta no es necesaria


Para muchas posibilidades Tedioso, an cuando es posible

Los Retrieval Arguments son usados en este caso

1 - 410

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 205
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Retrieval Argument
Pasa datos desde la aplicacin hasta la clusula Where Ejemplo de sintaxis SQL:

SELECT "patient"."patient_id", "patient"."first_name", "patient"."last_name FROM "patient" where "patient"."patient_id" = :p_id

1 - 411

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Especificando Retrieval Arguments

El tipo de dato debe ser igual a de la columa

1 - 412

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 206
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Poniendo el Retrieval Argument en SQL

Argumento

1 - 413

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Recuperando Datos en un DataWindow

Botn Preview

1 - 414

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 207
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Columnas Computed

Son columnas adicionales que pueden ser adicionadas a un DataWindow como parte de la sentencia SQL Select usado para recuperar los datos del DataWindow

Las columnas Computed pueden consistir de


Columnas Funciones DBMS (no funciones PowerScript) Operators Retrieval arguments

1 - 415

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Columnas Computed

Escenario:

Compute el dr_charges y amount_paid en el cdigo de demanda


Ingrese la expresin en el Tab compute Aggregate Function(Table.Column)Right Click

1 - 416

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 208
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Columnas Computed
Return

1 - 417

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Columnas Computed
DATAWINDOW PREVIEW SQL QUERY SELECT "claims"."claim_code", sum("claims"."dr_charges") as Doctor_Charges, sum("claims"."amount_paid") as Amount_Paid FROM "claims" GROUP BY "claims"."claim_code" ORDER BY "claims"."claim_code" ASC
1 - 418
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 209
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Campos Computed
Campos Computed son campos creados dinmicamente por PowerBuilder despus que la funcin Retrieve() del DataWindow que ha sido ejecutado Los campos Computed pueden ser usados dentro de todas las bandas del DataWindow y pueden ser cambiadas basados en el contenido del objeto DataWindow

1 - 419

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Defina - Campos Computed


Defina un campo computed en el painter DataWindow Design view:

1 - 420

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 210
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Columnas Computed
Son definidas como una columna computed en el painter Select Los valores son calculados por el DBMS cuando el dato es recuperado Los valores no cambian hasta que el dato ha sido recuperado o actualizado otra vez Todas las funciones aggregate pueden ser usados con Columnas Computed

1 - 421

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Columnas Computed vs Campos Computed


El valor de la columna Computed es calculado por el DBMS cuando el dato es recuperado. El valor de la columna computed no cambia hasta que el dato ha sido actualizado y recuperado otra vez Valor del campo Computed de la columna es calculado en el objeto DataWindow despus que el dato ha sido recuperado. El valor cambia dinmicamente como el dato del objeto DataWindow cambia

1 - 422

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 211
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Campo Computed vs Columnas Computed


Casos donde Columnas Computed deben ser usados:


Si los clculos tienen que ser realizados en un servidor de base de datos Si el valor aparecer en la banda de detalle de un Objeto DataWindow

Casos donde Campos Computed deben ser usados:


Si el valor aparecer en cualquier otra banda, de otra manera que en la banda detalle del DataWindow. Si el valor no puede ser computado usando el lenguaje RDBMS

1 - 423

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Performance de Campos Computed vs Columnas Computed


Columna Computed DB Campos Computed
Presentation PresentationLayer Layer Clculo hecho a //Front nivel de la FrontEnd End Presentacin Clculo hecho a nivel de la base de datos El proceso ms rpido Recomendado Menos tiempo para la Recuperacin Proceso dinmico Recomendado si la Funcin de la Base de datos no est disponible Ms tiempo para el Retrieval Proceso despes de la operacin de la base de datos Clculo del lado del Cliente

1 - 424

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 212
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

SQL Generado - Sort / Group / Where

1 - 425

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Resumen
Un Objeto DataWindow es un objeto que se usa para recuperar, presentar, y manipular datos desde una base de datos relacional u otro origen de datos (como un Excel worksheet o archivo dBASE) El painter Select provee un GUI y facilita el texto para definir retrieval arguments, clusulas, y mostrar la sentencia select Los DataWindows pueden reforzarse con el uso de columnas y campos computed Los Retrieval arguments son argumentos en las que se basa PowerBuilder para recuperar y presentar los datos en el Control DataWindow.

1 - 426

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 213
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Laboratorio 12
Lab 12-1: Programacin del Objeto Mantenimiento Lab 12-2: Creacin de Objetos DataWindows Lab 12-3: Habilitar la opcin de Bsqueda de datos

1 - 427

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

PowerBuilder Developer v10.0

Mdulo 13: Mejorando el Objeto DataWindow

1 - 214
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Objetivos
Al finalizar este mdulo, ser capaz de:
Alinear los objetos del reporte Crear bandas de reporte con headers y footers para el reporte, la pginas y los grupos Crear visualmente la apariencia de los reportes y entrada de datos a los forms usando radio buttons, checkboxes, drop down lists y otros formatos display Poner el Tab Order Adicionar validacin client-side a los forms Adicionar columnas computed a un reporte Sort o Filter en el cliente Adicionar un drop-down DataWindow a un form
1 - 429
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Reportando en un Objeto DataWindow


Design View

Preview View

Properties View Specify Validations, Initial values, etc

Export Template View


1 - 430

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 215
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

DataWindow Options

1 - 431

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Ordenando Mltiples Objetos

Align objects Space objects Size objects

1 - 432

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 216
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Alineando Mltiples Objetos

Figure 1

Figure 2

Figure 3
1 - 433
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Redimencionando Mltiples Objetos

Figure 1

Figure 2

Figure 3
1 - 434
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 217
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Trabajando con Headers y Footers


Un DataWindow consiste de cuatro bandas:


Header: es usado para mostrar informacin en el top de cada pantalla o pgina, como el nombre del reporte o fecha actual Detail: es usado para mostrar datos desde la base de datos u otros orgenes de datos Summary: muestra la informacin resumen como totales, cantidades y grupos de datos Footer: est en el bottom de cada pgina o pantalla. Muestra informacin como el nmero de pgina y cantidad de pgina

1 - 435

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

El Layout DataWindow
Header Detail Summary Footer

1 - 436

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 218
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Columnas Computed - Server Computation


Son definidas como una columna computed en el painter Select Los valores son calculados por el DBMS en el servidor cuando el conjunto de datos es recuperado Los valores no cambian hasta que los datos han sido actualizados y recuperados otra vez Todas las funciones aggregate pueden ser usados con las Columnas Computed

1 - 437

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Ejemplo de Columna Computed


SELECT "claims"."claim_code", sum("claims"."amount_paid") as amount_paid, sum("claims"."dr_charges") as charges FROM "claims" Columna Computed group by "claims"."claim_code"

1 - 438

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 219
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Campo Computed Computado en el Cliente


Campo Computed

1 - 439

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Ejemplos de Expresiones de Campos Computed


Para mostrar Fecha Current en el top de cada pgina Time Current al top de cada pgina Page Current al bottom de cada pgina Total de pginas al bottom de cada pgina Concatenacin de columnas Fname y Lname para cada fila Cuatro asteriscos si el valor de la columna Amount_paid es mayor que $50,000 Promedio de todas las filas recuperadas expresin Today() Now() Page() PageCount() Fname + " " + Lname IF(amount_paid> 50000, "****", "") Avg(amount_paid) Banda Header Header Footer Footer Detail Detail Summary Summary

Cantidad de filas recuperadas, asumiendo que Count(claim_code) cada fila contiene un valor para claim_code

1 - 440

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 220
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Display Formats

Son usados para personalizar el display de los datos de columna en un objeto DataWindow Tiene mascara en ciertos carateres que tienen un significado especial No significa para la entrada de datos

1 - 441

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Display Formats
Muestra los valores de dinero precedidos por un signo de dlar, muestra las fechas con el nombre del mes, y usa un color especial para nmeros negativos
Display Format

1 - 442

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 221
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Edit Styles
Los Edit styles especifican como los datos en la columna sern presentados en los objetos DataWindow Los Edit styles afectan como los usuarios interactan con lo datos en tiempo de ejecucin

1 - 443

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Tabla de Edit Styles Disponibles


EDIT STYLE Edit box (default) Dropdown List Box Check Box FUNCION Muestra un valor en el box. Para entrada de datos, tipee un valor Muestra un valor del drop-down list. Para entrada de datos, seleccionar o entrar un valor Muestra un check box seleccionado o limpiado. Para entrada de datos, seleccionar o limpiar el check box Muestra radio buttons, uno de los cuales es seleccionado. Para entrada de datos, seleccionar uno de los radio buttons Muestra datos formateados. Para entrada de datos, tipee un valor Muestra un valor desde un drop-down DataWindow. Para entrada de datos, seleccionar un valor. Ejemplo

Pacientes

Radio Buttons

Edit Mask DropDown Data Window


1 - 444

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 222
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Tabla de Cdigo - DropDown ListBox

1 - 445

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Drop Down DataWindow


Un DropDown DataWindow es un drop-down de una lista de seleccin donde el dato es proporcionado por los datos recuperados desde otro DataWindow existente Porque se debe usar esto?

Simplifica la entrada de datos. Limita la entrada de datos para validar valores de la base de datos

1 - 446

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 223
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Adicionando un Drop Down DataWindow a un Form

1 - 447

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Adicionando un Style Drop Down DataWindow


Abrir el DataWindow donde se desea ubicar el dropdown Seleccionar el column/field del DataWindow para ser asociado con el drop down En Properties Edit Tab Page Select Style Type as Drop Down Data Window Seleccionar un Data Window para un Drop Down Set Data Value Set Display Value

1 - 448

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 224
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Validacin de Datos
Los Rules son criterios que el objeto DataWindow usa para validar el ingreso de datos a una columna Es especificado en PowerBuilder y por lo tanto no fuerza a la base de datos Los Rules asignados en el painter Database son usados por defecto cuando las columnas son ubicadas en el objeto DataWindow Los Rules son expresiones que evalan para cada TRUE o FALSE

1 - 449

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Validacin de DatosContinua
Si la expresin emite un TRUE para una entrada en una columna, PowerBuilder acepta la entrada Si la expresin emite un FALSE, la entrada no es aceptada y el evento ItemError es disparado Por defecto, PowerBuilder muestra un mensaje para el usuario SetValidate es usado para cambiar las reglas de validacin para un item

1 - 450

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 225
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Trabajando con Validation Rules


El validation Rule: Date(GetText( )) <= Today( ) previene una fecha futura a ser ingresado para esta columna

1 - 451

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

MD5

Mecanismos de Filtracin

Los Filters pueden limitar las filas que se muestra en tiempo de ejecucin Los Filters pueden usar funciones de expresin del DataWindow (la funcin PowerScript no a nivel de objeto) o funciones definidas por usuario Los Filters no afectan el contenido de las filas recuperadas Los operadores filter con los datos recuperados, no vuelven a ejecutar la sentencia SELECT Los Filters pueden ser aplicados a travs de una sentencia SQL (clusula Where/ Having) o a travs del painter Las funciones SetFilter y Filter pueden ser usados en un script para modificar dinmicamente un filter, poner en el painter del DataWindow

1 - 452

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 226
Derechos Reservados de TechEra e-Learning

Diapositiva 452 MD5


Mahesh Dixit, 29/04/2003

Notes for these

1: Introduccin al IDE de PowerBuilder

Filtrando Datos a travs del Painter


Definiendo un Filter

1 - 453

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

MD6

Mecanismos de Sorteo
Una clsula ORDER BY en la sentencia SQL SELECT es usado para el objeto DataWindow para sortear los datos recuperados El DBMS no sortea los datos, estos son realizados por PowerBuilder Pueden ordenarse la filas explcitamente despus del proceso offloading de la base de datos a travs del painter de PowerBuilder.

1 - 454

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 227
Derechos Reservados de TechEra e-Learning

Diapositiva 454 MD6


Mahesh Dixit, 29/04/2003

Notes for these

1: Introduccin al IDE de PowerBuilder

Sorteando Datos a travs del Painter

1 - 455

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Suprimiendo Valores Repetidos

1 - 456

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 228
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Configurando el Tab Order


El Tab Order especifica el orden en que el control recibir el foco cuando el usuario se mueva a travs del tab dentro de un window

1 - 457

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Agrupando Filas
Cada grupo es definido por uno o ms columnas del objeto DataWindow Cada momento el valor en una columna del grupo cambia, un break ocurre y una nueva seccin se inicia Para cada grupo se puede:

Mostrar las filas en cada seccin Especificar la informacion que se desea mostrar al inicio y final de cada seccin Especificar los breaks de pginas despus de cada break en los datos Reestablecer el nmero de pginas despus de cada break
1 - 458
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 229
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Crear una Presentacin Group


Para crear un grupo bsico para el DataWindow se usa el estilo Group

1 - 459

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Agrupando Filas - Definicin

Ms de un item de expresin de grupo puede ser especificado para un grupo Un break ocurre siempre que el valor concatenado de cada columna/expresin cambia
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 460

1 - 230
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Agrupando Filas - Ejemplo


Ejemplo de un estilo Group

1 - 461

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Resumen
Un objeto reporte es un Objeto DataWindow Varios estilos de presencin de DataWindow estn disponibles en PowerBuilder Los valores de la Columna Computed son calculados por el DBMS cuando el dato es recuperado El Data Validation es especificado por PowerBuilder y no es forzado por la base de datos Los Filters limitan el nmero de filas desde la base de datos El Result set puede ser sorteado usando la clusula ORDER BY El Tab Order especifica el orden en que los controles recibirn el foco

1 - 462
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 231
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Laboratorio 13
Lab 13-1: Asociar el objeto w_preliminar al objeto w_mantenimiento Lab 13-2: Creacin de los otros mantenimientos de la Aplicacin de Ventas

1 - 463

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

PowerBuilder Developer v10.0

Mdulo 14: Usando el Control DataWindow

1 - 232
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Objetivos
Al finalizar este mdulo, ser capaz de:
Asociar el objeto DataWindow a un control DataWindow por propiedad Asociar el objeto DataWindow a un Control DataWindow a travs de programa Asociar el control DataWindow al Objeto Transaction Recuperar datos con o sin retrieval arguments

1 - 465

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Pasos para Mostrar Datos


Crear un objeto DataWindow usando el painter Ubicar un control DataWindow en un Window Asociar el objeto DataWindow al control DataWindow Poner el Objeto Transaction al control DataWindow Recuperar datos desde la base de datos

1 - 466

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 233
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

DataWindow Object (DWO)


Definicin del Objeto DataWindow:


Los objetos DataWindow permiten a los usuarios mostrar, manipular, y actualizar datos Los objetos DataWindow definen el origen de datos y el estilo de presentacin para los datos asociados Los objetos DataWindow tienen informacin pertinente de los datos que estn recuperando

Propiedades del Objeto DataWindow:


Formatos de despliegue, estilos de presentacin y todas las propiedades de datos necesarias para ser especificados apropiadamente
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 467

MD7

DataWindow Control (DWC)


Los Controles DataWindow son ubicados en Windows o Custom Visual User Objects

Control DataWindow

1 - 468

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 234
Derechos Reservados de TechEra e-Learning

Diapositiva 468 MD7


Mahesh Dixit, 29/04/2003

Insert a Window Snap Shot

1: Introduccin al IDE de PowerBuilder

MD8

Asignando el DWO al DWC


Mtodo 1: Usando las propiedades en el Painter

Especificar el Objeto DataWindow Listar los objetos DataWindow para escogerlos


1 - 469
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

MD9

Asignando el DWO al DWC


Mtodo: Asignando un Objeto DataWindow por programa


// dw_results es el nombre del control DataWindow // d_patient_list es el nombre del Objeto DataWindow dw_results.dataobject = d_patient_list

1 - 470

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 235
Derechos Reservados de TechEra e-Learning

Diapositiva 469 MD8


Mahesh Dixit, 29/04/2003

Insert a Window Snap Shot

Diapositiva 470 MD9


Mahesh Dixit, 29/04/2003

Insert a Window Snap Shot

1: Introduccin al IDE de PowerBuilder

MD10

SetTransObject

Configurando el Transaction usando el SetTransObject


// dw_results es el nombre del Control DataWindow // SQLCA es el Objeto Transaction por defecto int li_returnValue = dw_results.SetTransObject (SQLCA) Valor de Retorno es 1 si fue satisfactorio y -1 si ocurri un error

1 - 471

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

MD11

Recuperando Datos

El mtodo Retrieve recupera filas desde la base de datos para un control DataWindow o DataStore. Si argumentos son incluidos, los valores de los argumentos son usados para la sentencia SELECT asociados al objeto DataWindow.
// Sintaxis: // long dwcontrol.Retrieve ( {argument1, argument2, . . } ) // dw_results es el nombre del Control DataWindow // SQLCA es el Objeto Transaction por defecto long ll_rows = dw_patient.Retrieve () ll_rows : Valor de retorno es el nmero de filas mostradas si es satisfactorio y -1 si ocurre un error

1 - 472

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 236
Derechos Reservados de TechEra e-Learning

Diapositiva 471 MD10


Mahesh Dixit, 29/04/2003

Insert a Window Snap Shot

Diapositiva 472 MD11


Mahesh Dixit, 29/04/2003

Insert a Window Snap Shot

1: Introduccin al IDE de PowerBuilder

Recuperando datos con Argumentos


Ejemplo: Long ll_patient_id ll_patient_id = 10001 dw_patient_info.retrieve(ll_patient_id) Esto recuperar la informacin del paciente con el patient_id 10001

1 - 473

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

SelectRow

Propiedades:
Resalta o remueve el resultado de las filas en un control DataWindow o un DataStore Permite a los usuarios seleccionar uno o ms filas0 No cambia la fila actual del control DataWindow No selecciona las filas en la base de datos

Sintaxis:
integer dwcontrol.SelectRow ( long row, boolean select )
Retorna 1 si fue satisfactorio y -1 si ocurri un error

Ejemplo: seleccionar las quince filas en dw_patient:


dw_patient.SelectRow(15,True)
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 474

1 - 237
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

SetRow

Propiedades:
Es usado para poner la final actual en un control DataWindow o DataStore Este mtodo mueve el cursor a la fila actual pero no lo desplaza en el control DataWindow o DataStore Este mtodo puede disparar los eventos ItemChanged, ItemError, ItemFocusChanged o RowFocusChanged

Sintaxis:

integer dwcontrol.SetRow ( long row ) dw_patient.SetRow(15)


TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Ejemplo: poner la final actual en dw_patient a 15


1 - 475

SetRowFocusIndicator

Propiedades:
Especifica el indicador visual que identifica la fila actual en el control DataWindow La ubicacin del FocusIndicator puede ser especificado usando coordinates (xlocation, ylocation)

Sintaxis:

integer dwcontrol.SetRowFocusIndicator & ( RowFocusInd focusindicator {, integer xlocation & {, integer ylocation } } ) Ejemplo: dw_patient.SetRowFocusIndicator(Hand!)
1 - 476
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 238
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

GetRow

Propiedades:
GetRow retorna el nmero de fila del control DataWindow o DataStore La fila actual no es siempre una fila mostra en la pantalla

Sintaxis
long dwcontrol.GetRow ( )
Retorna 0 si no hay fila actual y -1 si ha ocurrido un error.

Ejemplo: retorna el nmero de la fila actual a ll_row


ll_row = dw_patient.GetRow()

1 - 477

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

DeletedCount

Propiedades:
Retorna el nmero de filas que han sido marcados para borrar Puede ser usado para encontrar cualquier fila en el buffer delete

Sintaxis:
long dwcontrol.DeletedCount ( )

Ejemplo: asumir que dos filas en dw_patient han sido borrados pero no han sido actualizados en la tabla asociada, esta sentencias pone ll_Del a 2:
Long ll_Del ll_Del = dw_patient.DeletedCount( )

1 - 478

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 239
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

DeleteRow

Propiedades:
Usado para borrar una fila de un control DataWindow, DataStore o un DataWindow child Borra las filas del buffer primary del DataWindow

Sintaxis:
integer dwcontrol.DeleteRow ( long row )

Retorna 1 si la fila es borrada satisfactoriamente y -1 si hay error Ejemplo: esta sentencia borra la fila actual de dw_patient: ll_status = dw_patient.DeleteRow(0)

1 - 479

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

InsertRow

Propiedades:
Usado para insertar una fila en un DataWindow o DataStore Una fila es inicializada con valores por defecto antes de ser mostrado, si valores iniciales no son especificados

Sintaxis:
long dwcontrol.InsertRow ( long row )

Ejemplo: Inserta una fila antes de la fila 7


dw_ patient.InsertRow(7)

Ejemplo: inserta una fila despus de la ltima fila


ll_newrow = dw_ patient.InsertRow(0)

1 - 480

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 240
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

RowCount

Propiedades:

Retorna el nmero de filas disponbles actualmente en el buffer primary

Sintaxis:
long RowCount ( ) Retorna el nmero de filas actualmente disponibles. Retorna 0 si no hay filas disponibles, y -1 si ha ocurrido un error.

Ejemplo: esta expresin en un campo computado retorna el nmero de filas o un warning si no existen datos:
If(RowCount() = 0, "No Data", String(RowCount()))

1 - 481

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

DataStores
Un control DataWindow no visual Se comparta exactamente como un control DataWindow excepto que no tiene caractersticas visuales asociados Tiene un objeto DataWindow asociado Usado cuando se necesita acceder a datos pero no se necesita la presentacin de un control DataWindow

1 - 482

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 241
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Propiedades del DataStores


Manipula filas de tablas sin usar sentencias SQL embedidas Realizar procesos internos de la base de datos sin tener que ocultar los controles DataWindow en un window Almacena datos para ser mostrados en mltiples vistas Realiza el acceso a base de datos en un Application Server

En una aplicacin multi-tier, los objetos en un servidor remoto pueden usar el DataStores para interactuar con la base de datos Los DataStores permiten realizar el proceso del lado del servidor sin tener que realizar las operaciones de la base de datos en cada cliente

1 - 483

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Mtodos DataStore

Mtodos Soportados por DataStore:


Retrieve Update InsertRow DeleteRow RowsCopy / RowsMove SetSort SetFilter

Mtodos no Soportados por DataStore:


GetClickedRow SetRowFocusIndicator

1 - 484

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 242
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Accesando a un DataStore

Si el DataStore es de una base de datos


Si los datos para el DataStore vienen de una base de datos, se necesita la comunicacin con la base de datos para obtener los datos Los pasos para realizar la comunicacin con la base de datos es igual como se hace con el control DataWindow Si el origen de datos fue definido como External en el painter del DataWindow, se puede usar los siguientes mtodos para importar datos al DataStore:

Si el DataStore no es de una base de datos


ImportClipboard ImportFile ImportString

1 - 485

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Trabajando con un DataStore


Cdigo Ejemplo datastore lds_datastore lds_datastore = CREATE datastore lds_datastore.DataObject = "d_all_claims lds_datastore.SetTransObject (SQLCA) lds_datastore.Retrieve()

1 - 486

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 243
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Manipulando un DataStore

Borrando una fila:


DeleteRow : borra la fila indicada desde el DataStore DbCancel : ids_datastore.DBCancel()

Cancelando una recuperacin de la base de datos:


1 - 487

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Resumen
El control DataWindow permite al usuario mostrar, manipular y actualizar los datos El objeto DataWindow define el origen de datos y estilos de presentacin asociados con los datos El mtodo Retrieve recupera filas desde la base de datos para un control DataWindow o DataStore Un DataStore se comparta exactamente como un control DataWindow excepto que no tiene cualquier caracterstica visual asociado con el control DataWindow

1 - 488

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 244
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

PowerBuilder Developer v10.0

Mdulo 15: DataWindow Internals

Objetivos
Al finalizar este mdulo, ser capaz de:
Responder a los cdigos de Retorno de los eventos del DataWindow Obtener y poner informacin en columnas y filas especficas de un control DataWindow Listar los buffers del DataWindow y el propsito de cada uno

1 - 490

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 245
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Buffers del DataWindow


Cuando la funcin Retrieve( ) es llamado, PowerBuilder recupera datos desde la base de datos y almacena esto en el buffer de la memora Los datos son ledos desde el buffer y mostrados en el control DataWindow Internamente PowerBuilder mantiene un Edit Control y cuatro buffers para cada control DataWindow

Original! Primary! Deleted! Filter!


1 - 491
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Mecanismo del Buffer


Siempre que los datos se recuperen desde la base de datos, usando la funcin Retrieve(), esto es recuperado en el buffer Primary
Buffer Primary

Patient 10001 10003 10005 10007

Patient Name John Emily Susannah Martin

Database

Buffer Original

Buffer Filtered Buffer Deleted

1 - 492

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 246
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

MD12

Mecanismo del Buffer Adicionando Filas


Funciones InsertRow(), ImportFile(), ImportString(), ImportClipboard(), todas adicionan filas al Buffer Primary, pero no tienen efectos en otros buffers
Buffer Primary Database

Patient 10001 10003 10005 10007 1009

Patient Name John Emily Susannah Martin William

1 - 493

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

MD13

Mecanismos del Buffer Borrando Filas


Cuando se borra una fila con la funcin DeleteRow(), la fila es transferida desde el buffer Primary al buffer Deleted
Buffer Primary

Database

Paciente 10001 10003 10005 10007

Nombre Paciente John Emily Susannah Martin

Buffer Deleted

Paciente 1009

Nombre Paciente William

1 - 494

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 247
Derechos Reservados de TechEra e-Learning

Diapositiva 493 MD12


Mahesh Dixit, 29/04/2003

Insert a Window Snap Shot

Diapositiva 494 MD13


Mahesh Dixit, 29/04/2003

Insert a Window Snap Shot

1: Introduccin al IDE de PowerBuilder

MD14

Mecanismo del Buffer Filtrando Filas


Cuando las filas son filtradas usando la funcin SetFilter(), las filas filtradas que residen en el buffer primary son movidas al buffer filter
Ejemplo: Filter Criteria : Patient_id <= 10003
Buffer Deleted Database Buffer Primary Paciente Nombre Paciente Paciente Nombre Paciente

1009
Paciente

William
Buffer Filtered Nombre Paciente

10001 10003

John Emily

10005 10007

Susannah Martin

1 - 495

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Mecanismos del Buffer Modificando Filas


Si se modifica una fila en el DataWindow, la fila en el Buffer Primary es modificada y el valor original es copiado en el Buffer Original
Buffer Primary Database Paciente Nombre Paciente Paciente Nombre Paciente

10001 10003

John Boswell
Buffer Original

1009

William
Buffer Filtered

Paciente

Nombre Paciente

Paciente

Nombre Paciente

10003
1 - 496

Emily

10005 10007

Susannah Martin

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 248
Derechos Reservados de TechEra e-Learning

Diapositiva 495 MD14


Mahesh Dixit, 29/04/2003

Insert a Window Snap Shot

1: Introduccin al IDE de PowerBuilder

Buffer del Edit Control


Propiedades:
El Edit Control contiene los datos de la columna actual Cada control DataWindow tiene un Edit Control Los datos en el Edit Control no implican los actuales datos en el buffer Primary de un control DataWindow Los datos ingresados son llevados al buffer necesario de acuerdo a la validacin en el nivel del edit control

1 - 497

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Buffers Row Status SQL


BUFFER Deleted Buffer Filter Buffer Primary Buffer (New Record with some data in it) Primary Buffer (Changed Rows) Primary Buffer (Changed Rows) Primary Buffer (Not Changed) ROW STATUS SQL DELETE -NONEINSERT -NONEUPDATE -NONE-

NewModified! New! DataModified! NotModified!

1 - 498

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 249
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Funciones y Eventos del Control DataWindow


El control DataWindow tiene funciones asociadas Las funciones realizan las tareas, como recuperacin de datos o resaltar filas para llevar la informacin Los controles DataWindow responden a eventos Cuando un evento se ejecuta, se asignan los argumentos de lo eventos con datos pertinentes

1 - 499

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Eventos RetrieveStart y RetrieveRow


Evento RetrieveStart

Este evento es disparado tan pronto como PowerBuilder obtiene la notificacin de la base de datos que dice Query is done and this is the result set you are waiting for

Ejemplo: // Evento RetreiveStart w_mdi_frame.SetMicroHelp ( Starting Retrieval)

Evento RetrieveRow

Este evento es disparado despus recuperar cada fila y antes de ser mostrado en la pantalla

Ejemplo: // Evento RetrieveRow w_mdi_frame.SetMicroHelp (Recuperando Filas + &String(row))

1 - 500

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 250
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Evento RetrieveEnd

Evento RetrieveEnd

Este evento es disparado cuando la recuperacin para el DataWindow es completada


Example: // Event RetrieveEnd w_mdi_frame.SetMicroHelp ( Rows Retrieved : + & String(RowCount) + & Query Executed)

1 - 501

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Eventos Print del DataWindow


Evento PrintStart

Este evento es disparado tan pronto como la impresin se iniciado por PowerBuilder

Ejemplo: // Evento PrintStart w_mdi_frame.SetMicroHelp (Inicializando Impresin..)

Evento PrintPage

Este evento es disparado cuando la impresin de un DataWindow o DataStore finaliza


Ejemplo: // Evento RetreiveEnd w_mdi_frame.SetMicroHelp(Imprimiendo Pgina# +&String(PageNumber))

Evento PrintEnd

Este evento es disparado tan pronto como la ltima pgina es impresa

1 - 502

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 251
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Evento ItemChanged del DataWindow


Evento ItemChanged
Este evento es disparado cuando el dato es cambiado y el campo actual pierde el foco (clicking en otro campo o en otro control, presionando tab etc.) Este evento debe ser usado para validar datos y disparar el evento ItemError, siempre que exista un error en los datos. Esto es uno de los eventos ms usados en el control DataWindow Este evento d el acceso a los datos anteriores (que se recupera de la base de datos), as como los nuevos datos (datos cambiados por el usuario)

1 - 503

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Evento ItemError DataWindow


Evento ItemError
Este evento es disparado cuando la regla de validacin falla. Si los datos no pasan las reglas de validacin o cuando este evento no retorna un cero Si no hay cdigo en este evento, por defecto, PowerBuilder muestra un mensaje de error en formato predeterminado

Cdigo de Retorno 0 1 2 3
1 - 504

Accin (default) Rechaza los valores de los datos y muestra el error Rechaza el valor del dato sin el message box Acepta el valor del dato Rechaza el valor del dato, pero permite el cambio de foco

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 252
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Evento ItemFocusChanged

Evento ItemFocusChanged

Este evento se activa siempre y cuando el campo actual pierda el foco, independiente si el dato fue cambiado o no.

1 - 505

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Eventos Error y SQL Preview


Evento Error

Este evento es disparado cuando:


El Objeto OLE DataWindow es usado y un error ocurre en el objeto OLE La mala expresin es usado mientras se accesa al DataWindow en notacin punto

Evento SQL Preview


Este evento es disparado inmediatamente antes de que una sentencia SQL es enviada a la base de datos Las funciones que disparan la actividad de la Base de datos son Retrieve, Update, y ReselectRow

1 - 506

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 253
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

AcceptText( )
Aplica el contenido de los edit control del DataWindow al item actual en el buffer de un control DataWindow o DataStore Valida el dato en el edit control antes de almacenarlo en la base de datos. Retorna 1 si es satisfactorio y -1 si falla

Sintaxis: integer dwcontrol.AcceptText ( )


Ejemplo : IF dw_patient.AcceptText() = 1 THEN dw_patient.Retrieve(dw_patient.GetItemNumber & (dw_patient.GetRow(), dw_patient.GetColumn())) END IF


TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 507

Filter( )
Las filas mostradas en un DataWindow que pasa el criterio filter especificado Retorna 1 si es satisfactorio y -1 si ocurre un error El Filter causa que todas las filas sean recuperadas y se aplica el criterio de filter

sintaxis: integer dwcontrol.Filter ( )


Ejemplo: dw_ patient.Filter( ) dw_patient.Retrieve( )

1 - 508

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 254
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

FilteredCount( )
Reporta el nmero de filas que no son mostradas en el DataWindow por el criterio de filter actual. Retorna 0 si todas las filas son mostradas y -1 si hay un error

Sintaxis: long dwcontrol.FilteredCount ( )


Ejemplo: dw_patient.SetFilter("Left(patient_name, 1)=J) dw_patient.Filter( )

1 - 509

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Reset( )

Limpia todos los datos de un control DataWindow o DataStore.


Sintaxis: integer dwcontrol.Reset ( )


Ejemplo: dw_patient.Reset()

1 - 510

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 255
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Retrieve( )
Recupera filas de la base de datos para un control DataWindow o DataStore. Si argumentos son incluidos, los valores del argumento son usados para el retrieval arguments en la sentencia SQL SELECT para el objeto DataWindow o child DataWindow.

Sintaxis: long dwcontrol.Retrieve ( { any argument, any argument . . . } )


Ejemplo: dw_patient.Retrieve()

1 - 511

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Scroll ( )

Desplaza el edit control de un DataWindow a un nmero especificado de lneas arriba o abajo


Sintaxis: long dwcontrol.Scroll ( long number ) ScrollNextPage:


Funciones asociados con Scroll:


Desplaza hacia la siguiente pgina del documento en un control DataWindow Desplaza el control DataWindow a la siguiente fila. Esto cambia la fila actual y no la columna actual

ScrollNextRow :

1 - 512

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 256
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Funciones Asociados con Scroll


ScrollPriorPage:

Desplaza a la pgina anterior del documento en un control DataWindow

ScrollPriorRow:
Desplaza a la fila anterior Cambia la fila actual del control DataWindow pero no cambia la fila actual.

ScrollToRow:
Permite desplazar a una fila especificada. Cambia la fila actual en un control DataWindow pero no cambia la columna actual

1 - 513

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Sort( )
Sortea las filas en un control DataWindow o DataStore usando el criterio de sorte del DataWindow Retorna 1 si es satisfactorio y -1 si ocurri un error

Sintaxis: integer dwcontrol.Sort ( )


Ejemplo: dw_patient.Sort( )

1 - 514

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 257
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Accediendo a los Valores de los Datos


Use funciones que manipulan los valores


SetItem( ) funcin que pone un valor en el buffer Una funcin GetItemx( ) sirve para recuperar un valor

Use las expresiones de los datos del DataWindow


Referido a items, columnas enteras, block de datos, datos seleccionados, o a un buffer del DataWindow

1 - 515

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

GetItemDate( )
Obtiene el dato desde el tipo de dato Date desde el buffer especificado de un control DataWindow o DataStore. Retorna el valor del dato de la fila y columna especificada

Sintaxis: date dwcontrol.GetItemDate ( long row, string column {, DWBuffer dwbuffer , boolean originalvalue } )

Ejemplo: esta sentencia obtiene el valor de la tercera fila del buffer primary desde la columna start_day de dw_insurance: Date ld_date ld_date = dw_insurance.GetItemDate(3, start_date")

1 - 516

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 258
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

GetItemDateTime( )
Obtiene el dato del tipo DateTime desde el buffer especificado de un control DataWindow o DataStore. Retorna el valor DateTime o Timestamp de la fila y columna especificada

Sintaxis: DateTime dwcontrol.GetItemDateTime ( long row, string column {, DWBuffer dwbuffer, boolean originalvalue } )

1 - 517

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

GetItemDecimal( )

Obtiene el dato del tipo decimal desde el buffer especificado de un control DataWindow o DataStore

Sintaxis : decimal dwcontrol.GetItemDecimal ( long row, integer column {, DWBuffer dwbuffer, boolean originalvalue } )

Ejemplo : decimal dr_chgs dr_chgs = dw_claims.dr_charges(4, dr_charges", Primary!, TRUE)

1 - 518

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 259
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

GetItemNumber( )

Obtiene el dato numrico desde el buffer especificado de un control DataWindow o DataStore.


Sintaxis : numeric dwcontrol.GetItemNumber ( long row, string column {, DWBuffer dwbuffer, boolean originalvalue } )

Ejemplo : integer p_id p_id = dw_patient.GetItemNumber(4, patient_id")

1 - 519

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

GetItemString( )

Obtiene el dato String desde el buffer especificado de un control DataWindow o DataStore.


Sintaxis : string dwcontrol.GetItemString ( long row, integer column {, DWBuffer dwbuffer, boolean originalvalue } )

Ejemplo : String fName fName = dw_patient.GetItemString(3, first_name")

1 - 520

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 260
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

GetRow ( )
Reporta el nmero de la fila actual en un control DataWindow o DataStore. Retorna 0 si no hay filas y -1 si ocurri un error.

Sintaxis : long dwcontrol.GetRow ( )


Ejemplo : dw_patient.GetRow()

1 - 521

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

SetItem( )

Pone el valor en una fila y columna en un control DataWindow o DataStore


Sintaxis :

integer dwcontrol.SetItem( long row, integer column, any value) integer dwcontrol.SetItem ( long row, string column, any value) Ejemplo : dw_patient.SetItem(3, first_name",Robil)

1 - 522

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 261
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

SetText( )

Reemplaza el texto en el edit control de la fila y columna actual en un control DataWindow o DataStore

Sintaxis : integer dwcontrol.SetText ( string text )


Ejemplo : dw_patient.SetText(Sebastian")

1 - 523

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

DataWindow Data Expression


Es una expresin en el cdigo que obtiene o pone datos en el DataWindow La propiedad Object del control DataWindow permite especificar expresiones que referencian directamente a los datos del objeto DataWindow en el control Sintaxis de expresin de datos, dividido en tres grupos

Datos en columnas o campos computados cuando el nombre se conoce Datos en columnas numeradas Filas enteras

1 - 524

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 262
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Accediendo a Datos usando el Nombre de la Columna


Accediendo a datos en columnas o campos computados: Uno o todos los items (si rownum es ausente, incluir cada buffer o datasource):

dwcontrol.Object.columnname {.buffer } {.datasource } { [ rownum ] } Retorna un solo valor (para un nmero de fila especifico) o cualquiera de los valores (cuando rownum es omitido) de la columna

dw_1.Object.patientname.Primary // All rows dw_1.Object.patientname[5] Array dw_1.Object.avg_cf[1] Computed Field

1 - 525

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Accediendo a Datos Usando el Nmero de Columna


Datos en columnas numeradas


Solo items 1) dwcontrol.Object.Data {.buffer } {.datasource } [ rownum, colnum ]


Retorna uno solo del tipo de dato de la columna

2) dwcontrol.Object.Data {.buffer } {.datasource } [ startrownum, startcolnum, endrownum, endcolnum ]


Retorna un arreglo de estructura u objetos de usuario

1 - 526

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 263
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Resumen
PowerBuilder mantiene un Edit Control y cuatro buffers para cada control DataWindow Los datos cuando son mostrados por primera vez en el control DataWindow estn en el buffer Primary Los datos de otros buffers no son visibles al usuario. Puede ser solo accedido a travs de cdigo de programa El DataWindow expression es una expresin en el cdigo para obtener o poner datos en el DataWindow

1 - 527

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

PowerBuilder Developer v10.0

Mdulo 16: Modificando, Insertando y Borrando Datos

1 - 264
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Objetivos
Al finalizar este mdulo, ser capaz de: Usar funciones y eventos del control DataWindow para adicionar, actualizar y borrar datos en los buffers del DataWindow Usar las funciones y Eventos del control DataWindow para responder a modificaciones de usuario de datos Listar los buffers del DataWindow e identificar el propsito de cada uno Describir el propsito y uso de los cdigos de retorno de los eventos del control DataWindow

1 - 529

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Revisando los Buffers del DataWindow


Internamente PowerBuilder mantiene un Edit control y cuatro buffers para cada control DataWindow
Original! Primary! Deleted! Filter!

1 - 530

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 265
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

El Mecanismo del Buffer


Retrieve( )

Siempre que el dato es recuperado desde la base de datos, usando la funcin Retrieve(), esto es recuperado en el buffer Primary Las funciones InsertRow( ), ImportFile( ), ImportString( ), ImportClipboard( ) adicionan fila(s) al Buffer Primary, pero no tiene efectos en otros buffers Cuando se borra una fila con la funcin DeleteRow(), la fila es transferida desde el buffer Primary al buffer Deleted

Adicionando Filas

Borrando Filas

1 - 531

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Mecanismo del Buffer


Filtrando Filas

Cuando las filas son filtradas usando la funcin SetFilter(), las filas filtradas residen en el primary buffer y las otras filas son movidas al buffer filter Si se modific una fila en el DataWindow, la fila en el Buffer Primary es modificada y el valor original es copiado al Buffer Original

Modificando Filas

1 - 532

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 266
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

El Rol del Edit Control


El Edit Control contiene los datos de las columnas concurrentes Cada control DataWindow tiene un Edit Control Los datos en el Edit Control no implican los datos reales en el buffer Primary de un control DataWindow

1 - 533

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Procesos de Validacin

Data Type

Any Changes?

Validation Rules

ItemChanged Event

Edit Control

1 - 534

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 267
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

AcceptText( )
dw_control.AcceptText( ) Evento Clicked para cb_print:

Print

IF dw_dr.AcceptText( )=1 THEN // if all is well dw_dr.Print( ) END IF

Dr ID 1 2

Dr

Name

Salary

Rubin Mentary $30,000 Jack Shaw $30,000

1 - 535

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Comprendiendo el Proceso de Validacin


Datos ingresados por el Usuario Tipo de Dato OK? Yes Reglas de Validacin True? Yes Evento ItemChanged Pasado? Yes Copiar desde el Edit Control al DW Buffer
1 - 536
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

No

No

Evento ItemError disparado

No

1 - 268
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Eventos Relacionados al Edit Control


Evento EditChanged ItemChanged ItemError ItemFocusChanged Ocurre Para cada pulsacin que el usuario tipea en el edit control Cuando una celda ha sido modificada y pierde el foco Cuando al nuevo dato le falta las reglas de validacin para la columna Cuando el item actual en el control cambia

1 - 537

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Ingresando y Modificando Datos en Columnas


Los datos pueden ser ingresados en columnas de la siguiente manera:


Haciendo visible a las Columnas y el tab order mayor que cero Usando la funcin del Control DataWindow:

SetItem()
Sintaxis: integer dwcontrol.SetItem ( long row, integer column, any value ) Ejemplo: dw_patient.SetItem(1, "gender", F)

1 - 538

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 269
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Insertando Filas

Para insertar filas en un DataWindow se usa


La funcin InsertRow()
Sintaxis: long dwcontrol.InsertRow ( long row ) Ejemplo: long ll_newrow Ll_nerow = dw_pateint.InsertRow(0) dw_pateint.ScrollToRow(ll_newrow)

1 - 539

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Borrando Filas

Para borrar filas en un DataWindow se usa


La funcin DeleteRow()

Sintaxis: integer dwcontrol.DeleteRow ( long row ) 1 Si es satisfactorio -1 Si ocurri un error

Retorna:

Ejemplo:
Integer li_stat li_stat = dw_patient.DeleteRow(0) If li_stat = -1 then ..
1 - 540
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 270
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

DeleteRow( )

1 - 541

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Resumen
Los Update Properties del DataWindow afecta la habilidad de actualizar el objeto DataWindow El control DataWindow es usado para adicionar, actualizar y borrar datos en los buffers del DataWindow El Edit Control proporciona el rea de trabajo al usuario para ingresar datos en el control DataWindow PowerBuilder tiene funciones para insertar o borrar filas PowerBuilder usa el cdigo de retorno para disparar eventos apropiados

1 - 542

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 271
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Laboratorio 16

Lab 16-1: Creacin y programacin del objeto Cabecera Detalle

1 - 543

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

PowerBuilder Developer v10.0

Mdulo 17: Grabando datos en la Base de datos

1 - 272
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Objetivos
Al finalizar este mdulo, ser capaz de:
Modificar las caractersticas Update del DataWindow para reflejar la habilidad deseada para actualizar Describir el Rol que el Tab Order tiene en la Interfaz de Usuario Codificar la actualizacin de un DataWindow Explicar el rol del rollback

1 - 545

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Objeto DataWindow: Update Properties


El DataWindow update properties nos permite especificar:


La Tabla que puede actualizarse o no El Nombre de la tabla para ser actualizada Clusula Where para el updates y deletes Key modification Updateable columns Unique key columns

1 - 546

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 273
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

DataWindow Update Property


DataWindow update property puede ser puesta a travs del painter de la siguiente manera:

En el Design Mode, Rows Update Properties


2

1 - 547

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Detalles del Update Properties


Especificar la Tabla para actualizar (si ms de uno es especificada) El Updates puede ser controlado para columnas especficas en PowerBuilder que incluye en la clusula WHERE en la sentencia UPDATE o DELETE usado para actualizar la base de datos

1 - 548

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 274
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Key Modification

Use Delete then Insert


Borra las filas con el modified key e inserta una nueva fila con el nuevo valor key Actualiza la fila con el modified key reemplazando el valor dentro de la columna key con el nuevo valor key

Use Update

1 - 549

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Key Columns Caso 1


Crea la clusula Where consistente de solo las tablas seleccionadas de los valores key Ejemplo: Key Column (Originally 10001)

Clsula Where: patient_id = 10001

UPDATE patient SET city=Irvine WHERE patient_id=1001


1 - 550
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 275
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Key and Updatable Columns Caso 2


Crea la clusula Where consistente de los valores key y los valores originales de cualquier columna identificada como updatable para la tabla seleccionada. Ejemplo: Key Column

Updatable Column UPDATE patient SET address1 = 550 Anne Street WHERE patient_id = 10001 AND address1 = 111 Address1 AND address2 = Address2 AND
1 - 551
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Key and Modified Columns Caso 3


Crea la clsula Where consistente de valores key y valores originales para cualquier columna que es modificada para la tabla seleccionada. Columna modificada Ejemplo: Key Column Originalmente111 Address 1

UPDATE patient SET address1 = 550 Anne Street WHERE patient_id = 10001 AND address1 = 111 Address1
1 - 552
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 276
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Update Properties Caso 1


UPDATE patient SET city=Irvine WHERE patient_id=1001

La sentencia update tendr xito sin tener en cuenta si otros usuarios han modificado la fila desde que su aplicacin recuper la fila.

1 - 553

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Update Properties Caso 2


UPDATE patient SET address1 = 550 Anne Street WHERE patient_id = 10001 AND address1 = 111 Address1 AND address2 = Address2 AND

La sentencia UPDATE verificara el valor original de la columna modificada en la clusula Where.

1 - 554

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 277
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Update Properties Caso 3


UPDATE patient SET address1 = 550 Anne Street WHERE patient_id = 10001 AND address1 = 111 Address1

La sentencia UPDATE esta verificando todas las columnas updatable en la clusula WHERE.

1 - 555

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Detalles de Update Properties


Updatable Columns:

Especifica las columnas updatable para la Tabla seleccionada Especifica que columnas son incluidas como parte de la llave para la Tabla seleccionada

Unique Key Columns:


1 - 556

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 278
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Codificando el Update Property


Sintaxis: dw_control.Object.columnname.Update Ejemplos:

dw_patient.Object.First_name.Update = "no"

dw_patient.Modify(first_name.Update=no")

1 - 557

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Actualizando la Base de datos con los Cambios de Datos


Los datos en el Edit Control de una base de datos son actualizados hasta que un UPDATE es disparado a la base de datos

Siempre que una nueva entrada es adicionada o los cambios son hechos en un control DataWindow, una actualizacin es necesaria para disparar los cambios hechos en la base de datos.

1 - 558

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 279
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Actualizando la Base de datos con Cambios de Datos


Una vez que el dato ha sido actualizado con la funcin Update(), las nuevas recuperaciones de la base de datos mostrarn el nuevo valor.

1 - 559

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Actualizando el DataWindow
La funcin Update( ) envia los cambios a la base de datos Sintaxis:

Integer dwcontrol.Update ( { boolean accept {, boolean resetflag } } )


Ejemplo:
li_stat = dw_patient.Update()

1 - 560

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 280
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Script para Grabar Datos


Ejemplo:
integer li_return CONNECT USING SQLCA; dw_patient.SetTransObject(SQLCA) li_return = dw_patient.Update()

1 - 561

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Evento DBError para Update


Existen muchos tipos de errores que pueden ocurrir cuando se procesa un Datawindow:
Items de datos que son invlidos Fallas cuando recupera o actualiza datos Los esfuerzos para acceder invlidos o propiedades no existentes de datos Cdigo de Retorno para el mtodo Update:

Cdigo de Retorno 1 -1

Significado Actualizacin satisfactoria. Falla la Actualizacin; evento DBError es disparado

1 - 562

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 281
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Evento DBError
Ejemplo: si se prueba insertar una fila que no tiene valores para todas las columnas que han sido definidos como no permitor NULL, el DBMS desecha y el evento DBError es disparado. Por defecto, el control DataWindow muestra un message box describiendo el mensaje de error desde el DBMS:

1 - 563

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

SQLDBCode y SQLErrtext
Esto es generado por el sistema y la base de datos especifica Estos cdigos de error son generados por la base de datos y pueden ser capturados en el script

Mensaje SQLDBCode Mensaje SQLErrText


1 - 564
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 282
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Sentencias de Administracin de Transaccin


Estas sentencias son usados con los objetos Transaction para manejar las conexiones y las transacciones.

Lista de Sentencias Transaction Management :


CONNECT {using transaction_object}; COMMIT {using transaction_object}; DISCONNECT {using transaction_object}; ROLLBACK {using transaction_object};

1 - 565

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Commit using {Transaction};


Todos los cambios hechos a la base de datos desde la ltima actualizacin emitido en la transaccin de la base de datos son hechos permanente Condicin: Si AutoCommit es FALSE

Un COMMIT TRANSACTION es emitido a la base de datos despus de que cada actualizacin se dispar. Explcito COMMIT es intil como todos los cambios a la base de datos previo estn ya automticamente guardados.

1 - 566

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 283
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Rollback using {transaction};


Deshace todos los cambios hechos a la base de datos antes del ltimo UPDATE emitido Condicin:

Si AutoCommit es TRUE

ROLLBACK no tiene efecto porque ya todos los cambios previos a la base de datos son guardados. Cuando un ROLLBACK es emitido, este ejecuta un BEGIN TRANSACTION para iniciar una nueva sesin o trabajar en la base de datos.

Si AutoCommit es FALSE

1 - 567

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Consideraciones de Diseo de Aplicacin


COMMIT previene las Conexiones por mucho tiempo


Admisible para tener COMMIT en intervalos regulares para seguridad y almacenar los datos procesados Debe ser emitido para liberar cualquier bloqueo que ha sido ubicado en las entidades de la base de datos

1 - 568

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 284
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Ejemplo de Script
// Poner las propiedades de conexin al SQLCA. SQLCA.DBMS = "ODBC" SQLCA.AutoCommit = False // AutoCommit es pueto a false SQLCA.DBParm = "ConnectString='DSN=sybhealth;UID=sybhealth;PWD=sybhealth'" Connect Using SQLCA; // Conectarse a la base de datos // Inserta una fila en la tabla patient. INSERT INTO PATIENT (patient_ID,fist_name,last_name) VALUES ( 1025,Christopher,Columbus ); if SQLCA.sqlcode = 0 then COMMIT using SQLCA; Else ROLLBACK USING SQLCA; end if // Commit cambia y desconecta desde la base de datos. DISCONNECT USING SQLCA;

1 - 569

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Resumen

Datawindow update property es usado para indentificar las columnas updatable El control DataWindow genera las sentencias SQL INSERT y UPDATE para las filas en el buffer Primary y/o Filter basado en el estado de la fila Rollback termina todos los cambios hechos a la base de datos antes del ltimo UPDATE emitido, si la propiedad AutoCommit es false

1 - 570

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 285
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

PowerBuilder Developer v10.0

Mdulo 18: Liberando la Aplicacin

Objetivos
Al finalizar este mdulo, ser capaz de: Crear un Project Application Listar las condiciones en que un archivo de recurso es necesario Diferenciar entre el uso PBDs en conjuncin con un EXE versus simplemente desplegar un EXE. Listar archivos auxiliares necesarios para desplegar a un cliente.

1 - 572

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 286
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Deployment
Determinar los Requerimiento de Distribucin Agregue los Materiales Externos Crear Ejecutables y DLLs/PBDs

EXE .BMP PBD DLL

DataWindow

1 - 573

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Componentes de Aplicaciones PowerBuilder


Componentes de Aplicacin
Bitmaps Bitmaps

Grficos

Icons Icons Help HelpFiles Files

Application Application Object Object Menus Menus Queries Queries

Windows Windows Structures Structures Global Global Functions Functions

Otros

Application Application INI INIFiles Files

DataWindow DataWindow Objects Objects

1 - 574

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 287
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Creando un Project Application

1 - 575

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Painter del Project


Archivos de Recursos Options Build Generacin de Cdigo Dynamic Libraries

1 - 576

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 288
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

PowerBuilder Dynamic Libraries (PBDs)

MYAPP.EXE

YOURAPP.EXE

MYAPP PBL

COMMON PBD

YOURAPP PBL

1 - 577

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Creando un PBD
1. 2. 3. 4. Crear un nuevo (vaco) PBL Mover objetos a la nueva PBL Adicionar nuevas PBLs al library search path Genere un PBD desde el PBL
1 New PBL 2 Original PBL 3 New PDB
1 - 578
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 289
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Creando un Runtime Library (PBD)


Acceder desde el men de contexto en el System Tree Seleccionar Build Runtime Library

1 - 579

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Agrupando Option 1 (Archivos PBD)


foldergr.ico SybHealth1.gif SybHealth.PBL Orders.PBL Products.PBL SybHealth.EXE SybHealth.PBD Orders.PBD Products.PBD

1 - 580

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 290
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Creando un PBR

1 - 581

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

PowerBuilder Resource Files (PBRs)


healthcare1.jpg healthcare2.jpg ambulance.jpg doctors.jpg medicine.jpg sybHealth.pbl(d_claims) sybHealth.pbl(d_patient_form) sybHealth.pbl(d_policy_info) sybHealth_report.pbl(d_rpt_claims) sybHealth_report.pbl(d_rpt_patient) sybHealth_screens.pbl(d_all_claims)
1 - 582
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 291
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Cuando usar un PBR


Siempre que los recursos externos sean asignados dinmicamente


Bitmaps
picture_control.PictureName = "bmp_or_rle_filename"

Icons
dw_control.Icon = "ico_filename"

1 - 583

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Cuando usar un PBR


Siempre que los recursos internos sean asignados dinmicamente, y se est compilando un EXE en lugar de PBD o DLL

DataWindows
dw_control.DataObject = "d_object_name"

Archivos de recursos no son necesarios para objetos DataWindow en PBD o DLL


Todos los objetos PowerBuilder en el source PBL son incluidos en el PBD o DLL resultante

1 - 584

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 292
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Opciones de Generacin de Cdigo: Machine Code


Machine Code compila DLLs Ventajas

Rpido para exprexiones matemticas complejas y looping constructs Ningn efecto en la velocidad de instanciacin de objetos, acceso a base de datos, o llamada de funciones DataWindow

Desventajas
Toma ms tiempo compilar Plataforma especfica El archivo ejecutable significativamente ms grande puede bajar lentamente la performance

1 - 585

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Opciones de Generacin de Cdigo: Pcode


Pcode compila PBDs Ventajas

Compila ms rpido bueno para propsitos de prueba Produce ejecutables ms pequeos Interpretado ejecuta en todas las plataformas soportadas por PowerBuilder

Desventajas

Interpretado Puede ejecutarse ms lentamente

1 - 586

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 293
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Machine Code o Pcode?


Se recomienda que pruebas de performance se realicen dentro de las condiciones actuales del usuario final para determinar el uso de machine code

1 - 587

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Runtime DLLs Necesarias


Para Ejecutar la Aplicacin Standalone, las siguientes DLLs son requeridas para estar en el mismo flder de la aplicacin o en el flder de Sistema para el Sistema Operativo
libjcc.dll pbvm90.dll pbodb90.dll ppdwe90.dll

1 - 588

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 294
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Desplegando a otros Ambientes


Lgica de Negocio encapsulada en objetos no visuales PowerBuilder puede ser necesaria para otras aplicaciones Desplegar lgica de negocio a un application server para permitir el acceso a mltiples frontends Reglas de negocio son fcilmente reusadas Alguna lgica de DataWindow puede ser necesario reescribirse si mltiples mquinas son involucradas

1 - 589

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

EAServer Component Support


PowerBuilder Java EJB C++ XML Web Services etc

1 - 590

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 295
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Arquitectura EAServer
Java COM

Browser HTTP

Web Server

EAServer

IIOP

PowerBuilder
1 - 591

CORBA

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Resumen
Los componentes de una aplicacin PowerBuilder incluyen objetos PowerBulider o items no PowerBuilder. Se puede incluir todos los objetos en el archivo Ejecutable (EXE). Se puede incluir algunos objetos en archivos ejecutables, y otros en PowerBuilder dynamic libraries (PBDs) o DLLs. Los PBDs contienen objetos PowerBuilder compilados.

1 - 592

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 296
Derechos Reservados de TechEra e-Learning

1: Introduccin al IDE de PowerBuilder

Resumen
Los PowerBuilder resource files (PBRs) listan los nombres de archivos de recursos dinmicamente asignados para propiedades de objetos. Los Objetos DataWindow dinmicamente asignados deben ser listados en un archivo PBR solo si ellos no estn compilados en PBDs o DLLs. El Application Project wizard configura un nuevo PowerBuilder application project. Se puede abrir un project en el painter Project. Use el painter Project para generar el EXE, PBDs, y DLLs.

1 - 593
TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

Laboratorio 18

Lab 18-1: Creacin de Ejecutable de la Aplicacin

1 - 594

TechEra e-Learning 2005 Derechos Reservados, este producto solo puede ser usado para uso personal y no para otros fines

1 - 297
Derechos Reservados de TechEra e-Learning

Вам также может понравиться