Manual Power Builder JDiaz

Embed Size (px)

Citation preview

Manual de Power builderCarrera Profesional: Computacin e Informtica

Sybase PowerBuilderDefinicin. PowerBuilder es un entorno grfico de programacin que est compuesto de diferentes herramientas que permiten el desarrollo rpido de aplicaciones. Con estas herramientas se pueden desarrollar aplicaciones Cliente / Servidor a travs de ODBC (Open DataBase Connectivity) o Drivers Nativos para la Base de Datos. Una apliacin Cliente / Servidor pone en comunicacin una estacin de trabajo con un Servidor de Base de Datos Central. Este modelo consiste en utilizar una Base de Datos que reside en una mquina separada denominada Servidor. El Software de gestin de Base de Datos se ubica en las estaciones de trabajo remotas (Clientes). Las aplicaciones que se ejecutan en las estaciones cliente, acceden a los datos que se encuentran en el servidor.

Servidor (Base de Datos)

Estacin (Cliente)

Crear una nueva Librera (Proyecto) 1. Pulse sobre el icono New del PowerBar1

2. En la ventana de dialogo New, seleccionar la ficha Start Wizards y dentro de esta seleccionar Application, luego pulsar el botn OK 3. Seguidamente se activar una ventana en donde se tendr que ingresar el nombre de la Librera y Aplicacin con que se desea crear. Luego pulsar el botn Finish.

4. Al terminar se activar la una pantalla en donde se comenzar a trabajar y crear nuestro proyecto.

Prof. Johnny Daz

1

Manual de Power builderCarrera Profesional: Computacin e Informtica

Crear una nueva ventana (Formulario) 1. Pulse sobre el icono New del PowerBar1.

2. En la ventana de dilogo New, seleccionar la ficha Objects y dentro de esta seleccionar Window, luego pulsar el botn OK.

3. Luego se activar la siguiente venta de diseo.

Ventana creada.

Ventana de Propiedade

Ventana donde se crear el cdigo

Prof. Johnny Daz

2

Manual de Power builderCarrera Profesional: Computacin e Informtica

4. Para grabar la ventana, pulse sobre el icono de Diskette la ventana con que desea grabar y seleccione OK.

, luego ingrese el nombre de

Prof. Johnny Daz

3

Manual de Power builderCarrera Profesional: Computacin e Informtica

USO DE CONTROLES Los controles son objetos que se ubican dentro de una ventana. Loas controles muestran datos, aceptan datos o validan datos. Los controles responden a una accin del usuario como por ejemplo un clic de ratn. Los controles como cualquier otro objeto tiene sus propios atributos y eventos, alguno controles son objetos Estndar Windows, otros son particulares de PowerBuilder . Para activar e insertar un control, realizar un clic en la flecha.

Cuadro de Texto Esttico. Se utiliza para mostrar ttulos y mensajes, este control muestra un texto que el usuario solo podr seleccionar mas no modificar. Propieades. Aligment. Especifica el alineamiento del texto en el control. Los valores que puede seleccionar son: Left!, Center! Y Right!. BackColor. Especifica un valor numrico correspondiente al color de fondo. Text. Especifica el texto que se desea mostrar en el control. Editar Lnea Simple. Es una caja de texto, que el usuario puede utilizar para ingresar una lnea de texto o en todo caso para visualizar el contenido de un campo de una tabla de datos. Propiedades. Name. Especifica el nombre que se le desea dar a este control. BackColor. Especifica un valor numrico correspondiente al color de fondo. Border. Especifica si el control tiene un borde. Los valores son: True (Tiene borde) o False (No tiene borde) BorderStyle. Especifica el estilo del borde del control, los valores son: StyleBox! (Cuadro), StyleLowerred! (Cuadro 3d), StyleRaised! (3d con Sombra) Y StyleShadowBox (Cuadro con sombra). DisplayOnly. Especifica si el texto del control es solo de lectura y no permite realizar cambios por parte del usuario. Los valores son: True (El usuario no podr realizar cambios) y False (El usuario podr realizar cambios). Enabled. Especifica si el control est habilitado (Activado).Los valores son: True (El control est habilitado) y False (El control est dehabilitado).

Prof. Johnny Daz

4

Manual de Power builderCarrera Profesional: Computacin e Informtica

Limit. Especifica el mximo numero de caracteres (0 a 32,767) que se pueden ingresar en el control (0 es sin lmite) Text. Especifica el texto que contiene el control Password. Permite ocultar con una mascara los caracteres digitados. TextCase. Especifica el formato de ingreso de datos en el cuadro de texto. Los valores pueden ser: AnyCase! (Cualquier formato), Lower! (Letras minsculas) y Upper! (Letras maysculas). Muestra una imagen de mapa de bits.

Propieades. Name. Especifica el nombre que se le desea dar a este control. Border. Especifica si el control tiene un borde. Los valores son: True (Si tiene borde) o False (no tiene borde) PictureName. Especifica el nombre del archivo que contenga el grfico.

Ejemplo: Desarrollar una aplicacin que permita el ingreso del nombre de usuario y su respectiva clave de acceso. 1. Crear una nueva aplicacin dando un clic en el icono New del PowerBar1.

2. En la ventana de dilogo New, seleccionar la ficha Objects y dentro de esta seleccionar Window, luego pulsar el botn OK. 3. Ubicar en la ventana los siguientes controles y cambiar las propiedades respectivas. Tres Controles StaticText. Dos Controles SingleLineEdit Un Control Picture. Cambiar las propiedades siguientes. Control Window P_1 St_1 St_2 St_3 Sle_1 Propiedad Title Name PictureName Text Font Text Text Name Text Valor Seguridad de Sistema P_llave (buscar una imagen) Ingrese su Nombre y Contrasea 12, Bold &Usuario &Contrasea Sle_Usuario

Prof. Johnny Daz

5

Manual de Power builderCarrera Profesional: Computacin e Informtica

Sle_2

Name Text Limit Password

Sle_Clave 5 (Activado)

Al final el diseo tendr que ser el siguiente.

Para ejecutar la ventana ingresar a File de la barra de men y seleccione Run Preview, en la ventana de dialogo Run/Preview, seleccione el nombre de la ventana que desea ejecutar y seleccione el botn OK.

Si desea salir de la ventana realice un clic sobre el icono

USO DEL LENGUAJE Una Aplicacin PowerBuilder es una aplicacin dirigida por eventos. El usuario controla la aplicacin que se ejecuta provocando eventos. Por ejemplo: Cada accin que realiza el usuario como abrir una aplicacin provoca un evento. El lenguaje utilizado para escribir procedimientos se denomina PowerScript, que es un lenguaje simple y fcil de aprender. Uso de Comentarios. Si desea poner comentarios en el codigo de una aplicacin utilizar cualquiera de los dos siguientes smbolos. /* Indica el inicio de un comentario y */ indica el final de un comentario. // Indica comentario al final de una lnea.

Prof. Johnny Daz

6

Manual de Power builderCarrera Profesional: Computacin e Informtica

Tipos de Datos. Los identificadores en PowerScript, identifican objetos tales como variables, etiquetas, funciones, ventanas, controles y mens. Un identificador debe comenzar con una letra y utilizar como mximo cuarenta caracteres, tambin debe tenerse en cuenta lo siguiente. No debe contener espacios en blanco. Puede incluir algunos caracteres no alfabticos como: Subrayado _ Signo de Dlar $ Signo de Nmero # Signo de tanto por ciento % Los identificadores no diferencian las maysculas ni minsculas, el identificador Lib_nombre es igual a lib_nombre. Tipos de Datos Estandar. Cierto tipo de datos son intrnsicos al lenguaje PowerScript, pero la mayora son tipos de datos que son reconocidos en otros lenguajes de programacin. La siguiente tabla muestra los tipos de datos estndar. Tipo de Dato. Descripcin.

Blob (Binary Large Object) Datos sin formato, Por ejemplo una imagen o un prrafo. Boolean Char o Character Date DateTime Decimal True o False Un nico carcter. Fecha Combinacin de una fecha y una hora. Nmeros decimales con signo hasta una longitud de 18 dgitos, el punto decimal no se cuenta como dgito. Double Nmeros en como flotante, tiene hasta 15 dgitos de precisin y su rango va desde 2.2253-308 a 1.7976-308 Integer, Int Long Son enteros con signo de 16 bits. Son enteros con signo de 32 bits, el rango va desde 2,147,483,648 a +2,147,483,647 Real Nmeros en coma flotante con una precisin de hasta 6 dgitos. Rango desde 1.1754-38 a 3.4028+38 String Time Contiene desde 0 hasta 60000 caracteres ASCII Hora-

Declaracin de Variables. Para declarar una variable se requiere solamente de dos partes: El tipo de dato y El nombre de la variable.

Prof. Johnny Daz

7

Manual de Power builderCarrera Profesional: Computacin e Informtica

Inicializacin de Variables Literales. Se puede dar el valor inicial a la variable al declararla, por ejemplo: Int GranTotal=3, SubTotal=0 String Metodo=A34 Date Hoy=1998-11-15 Cada uno de los valores utilizados en la expresin anterior para inicializar una variable literal. Matrices. Un Array es una coleccin de elementos indexados de tipos de datos simples. Un Array puede tener uno o mas dimensiones, es una serie de valores con un nico nombre. Se especifica su tamao al declararla. Por ejemplo. Int A[5]={1,2,3,4,5} A los valores contenidos en la matriz se accede por medio del ndice. Matrices Multi-dimensionales. Las matrices pueden tener mltiples dimensiones.. Es utilizado para ejecutar una accin cuando el usuario de

un clic sobre el. Propieades. Text. Especifica el texto que se desea mostrar en este botn. Name. Especifica el nombre que se le desea dar a este control. Cancel. Especifica si el control es el botn Cancelar (El botn Cancelar dispara el evento Clicked, si el usuario pulsa la tecla ESC). Los valores son: True (El botn es el botn Cancelar) y False (El botn no es el botn cancelar) Ejemplo. Desarrollar una aplicacin que permita mostrar el nombre del usuario y su respectiva clave de acceso. La clave de acceso tendr una longitud de 5 caracteres, se debe mostrar asteriscos (*) cuando el usuario ingrese la clave de acceso. Abra una nueva ventana e inserte los siguientes controles. Tres Controles StaticText. Dos Controles SingleLineEdit Un Control Picture. Dos Botones de comando

Prof. Johnny Daz

8

Manual de Power builderCarrera Profesional: Computacin e Informtica

Cambiar las propiedades siguientes. Control Window P_1 Propiedad Title Name PictureName Text Font Text Text Name Text Name Text Limit Password Name Text Name Text Valor Seguridad de Sistema P_llave (buscar una imagen) Ingrese su Nombre y Contrasea 12, Bold &Usuario &Contrasea Sle_Usuario Sle_Clave 5 (Activado) cb_Aceptar Aceptar cb_Cancelar Cancelar

St_1

St_2 St_3 Sle_1

Sle_2

Cb_1

Cb_2

Al final el diseo tendr que ser el siguiente.

Codigo de la ventana Cb_Aceptar / Clicked MessageBox("Sistema de Seguridad","Gracias por su visita") Close(w_ventana_01) Cb_Cancelar / Clicked Close(w_ventana_01)

Prof. Johnny Daz

9

Manual de Power builderCarrera Profesional: Computacin e Informtica

Ejemplo Crear una apliacin que calcule el los descuentos de ley de un trabajador y el sueldo neto. El diseo tendr que quedar de la siguiente manera.

Los Controles sle_Haber, sle_Cts, sle_Afp, sle_Totd y sle_Neto tendrn que estar desactivados.

Codigo del formulario Cb_calcular / Clicked Real Haber,Cts,Essalud,Afp,Totd,Neto Haber=Real(sle_haber.Text) Essalud=Haber * 0.03 Cts=haber * 0.06 Afp=haber * 0.06 Totd=Essalud + Cts + Afp sle_Afp.text=String(Afp) sle_Cts.text=String(Cts) sle_Essalud.text=String(Essalud) sle_Totd.Text=String(totd) sle_neto.Text=String(Neto) Cb_Otro / Clicked sle_haber.Text="0" sle_Afp.text="0" sle_Cts.text="0" sle_Essalud.text="0" sle_Totd.Text="0" sle_neto.Text="0"

Prof. Johnny Daz

10

Manual de Power builderCarrera Profesional: Computacin e Informtica

Controladores de flujo de programa Las siguientes sentencias influyen en el flujo de control de un procedimiento que se est ejecutando. Estos son las sentencias que pueden controlar el orden de ejecucin de las sentencias de un procedimiento.

IF THEN ELSE. Una estructura de control utilizada en el Script, que ejecuta una accin si la condicin lgica es verdadera. Sintaxis 1 If condicin Then Bloque de instrucciones Else Bloque de instrucciones Endif En est sintaxis, primero se evala la condicin lgica, y si el resultado de la condicin es verdadera, se ejecutarn las instrucciones que se encuentren entre If y Else, y si el resultado es falso, se ejecutarn las instrucciones que se encuentren entre Else y Endif. Sintaxis 2 If condicin Then Bloque de instrucciones Endif En est sintaxis, primero se evala la condicin lgica, y si el resultado de la condicin es verdadera, se ejecutarn las instrucciones que se encuentren entre If y Endif. CHOOSE CASE. La estructura de control Cose Case, utiliza el valor de una expresin o de una variable para decidir entre una serie de opciones. El valor de la expresin determina que opcin seleccionar. Sintaxis: CHOOSE CASE Expresin. CASE opcin1 Bloque de Instrucciones. CASE opcin2 Bloque de Instrucciones.Prof. Johnny Daz 11

Manual de Power builderCarrera Profesional: Computacin e Informtica

CASE opcinn Bloque de Instrucciones. CASE ELSE Bloque de Instrucciones. END CHOSE. DO LOOP. Ejecuta un bloque de instrucciones hasta que se produzca una condicin de finalizacin. Sitaxis: 1. Hacer Mientras la condicin sea verdadera. DO WHILE condicin Instrucciones. LOOP 2. Hacer hasta que la condicin llegue a ser verdadera. DO UNTIL condicion Instrucciones. LOOP 3. Repetir mientras la condicin sea verdadera. DO Instrucciones. LOOP WHILE condicin 4. Repetir hasta que la condicin llegue a ser verdadera. DO Instrucciones. LOOP UNTIL condicion. FOR NEXT. La sentencia FOR NEXT ejecuta un bloque de sentencias en un determinado numero de veces, los argumentos que se especifican en la sentencia determina el numero de veces que se ejecuta el bloque Sintaxis: FOR nom_var=Inicial TO final STEP (Incremento) Bloque de Instrucciones NEXT.

Prof. Johnny Daz

12

Manual de Power builderCarrera Profesional: Computacin e Informtica

Permite crear un grupo de opciones en donde solo se podr seleccionar una opcin del grupo. Propiedades Checked. Retorna un valor lgico el cual especifica si el control se encuentra seleccionado o no. Si el valor devuelto es: Trae: significa que est seleccionado. False: significa que no est seleccionado. Enabled. Especifica un valor lgico, el cual indica si el control est activado o desactivado. Trae: Control Activado False: Control Desactivado Ejemplo Desarrolle una aplicacin que permita calcular el haber bsico de un trabajador de acuerdo a la categora seleccionada y calcular los descuentos respectivos. Inserte los siguientes controles. Control sle_1 sle_2 sle_3 sle_4 sle_5 sle_3 sle_3 rb_1 rb_2 rb_3 Cb_1 Cb_1 Cb_1 Propiedad Name Text Name Text Name Text Name Text Name Text Name Text Name Text Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Valor sle_empleado en blanco sle_haber en blanco sle_cts en blanco sle_afp en blanco sle_essalud en blanco sle_totald en blanco sle_neto en blanco rb_generente Gerente 2500 rb_administradoe Administrador 2000 rb_secretaria Secretaria 1500 cb_aceptar Aceptar cb_otro Otro cb_cerrar Cerrar

Prof. Johnny Daz

13

Manual de Power builderCarrera Profesional: Computacin e Informtica

El diseo del formulario tendr que quedar de la siguiente manera:

Controles desactivados

Cdigo de la aplicacin Cb_aceptar / Clicked Real haber,cts,afp,essalud,totd,neto If rb_gerente.checked=true then haber=2500 end if If rb_administrador.checked=true then haber=2000 end if If rb_secretaria.checked=true then haber=1500 end if cts=haber * 0.03 afp=haber * 0.06 essalud=haber * 0.06 totd=cts+afp+essalud neto=haber - totd sle_haber.text=string(haber) sle_afp.text=string(afp) sle_cts.text=string(cts) sle_essalud.text=string(essalud) sle_totald.text=string(totd) sle_neto.text=string(neto) Grabe la ventana con w_opciones y luego ejecute . cb_otro / Clicked sle_empleado.text="" sle_haber.text="0" sle_cts.text="0" sle_afp.text="0" sle_essalud.text="0" sle_totald.text="0" sle_neto.text="0"

Prof. Johnny Daz

14

Manual de Power builderCarrera Profesional: Computacin e Informtica

(Casilla de verificacin). cuales podrn ser activadas o desactivadas. Propiedades

Permite crear un grupo de opciones las

Checked. Retorna un valor lgico el cual especifica si el control se encuentra seleccionado o no. Si el valor devuelto es: Trae: significa que est seleccionado. False: significa que no est seleccionado. Enabled. Especifica un valor lgico, el cual indica si el control est activado o desactivado. Trae: Control Activado False: Control Desactivado Ejemplo Desarrolle una aplicacin que permita calcular el haber bsico de un trabajador de acuerdo a la categora seleccionada y calcular los descuentos respectivos (solo de los que se especifique). Nota : Para dar los nombres de los controles fjese el cdigo de la aplicacin y de acuerdo a eso ponga los nombres respectivos. Los nombres de los controles son los mismos que el ejemplo anterior y de los que se agregaron son: Control Propiedad Valor cbx_1 name cbx_cts caption CTS 3% cbx_1 name cbx_afp caption AFP 6% cbx_1 name cbx_essalud caption ESSALUD 3% El diseo del formulario tendr que quedar de la siguiente manera

Prof. Johnny Daz

15

Manual de Power builderCarrera Profesional: Computacin e Informtica

Cdigo del formulario cb_aceptar / clicked Real haber,cts,afp,essalud,totd,neto If rb_gerente.checked=true then haber=2500 If rb_administrador.checked=true then haber=2000 If rb_secretaria.checked=true then haber=1500 if cbx_cts.checked=true then cts=haber * 0.03 else cts=0 end if if cbx_afp.checked=true then afp=haber * 0.03 else afp=0 end if if cbx_essalud.checked=true then essalud=haber * 0.03 else essalud=0 end if totd=cts+afp+essalud neto=haber - totd sle_haber.text=string(haber) sle_afp.text=string(afp) sle_cts.text=string(cts) sle_essalud.text=string(essalud) sle_totald.text=string(totd) sle_neto.text=string(neto) Cb_otro / Clicked sle_empleado.text="" sle_haber.text="0" sle_cts.text="0" sle_afp.text="0" sle_essalud.text="0" sle_totald.text="0" sle_neto.text="0" cbx_cts.checked=false cbx_afp.checked=false cbx_essalud.checked=false

Cumple la misma funcin que el control SingleLineEdit, con la diferencia de que a este control se le puede definir mascaras de entrada y salida de datos. Propiedades. DisplaOnly. Especifica si el contenido del control podr ser modificado por el usuario. Mask. Permite especificar la mascara que se desea usar para el control. Numeros String Date : # : @ : Character d dd ddd dddd m Meaning Day number with no leading zero Day number with leading zero if appropriate Day name abbreviation Day name Month number with no leading zero Example 9 09 Mon Monday 6

Prof. Johnny Daz

16

Manual de Power builderCarrera Profesional: Computacin e Informtica

Time

mm mmm mmmm yy yyyy : Character h hh m mm s ss ffffff

Month number with leading zero if appropriate Month name abbreviation Month name Two-digit year Four-digit year Meaning

06 Jun June 97 1997

AM/PM am/pm A/P a/p

Hour with no leading zero (for example, 1) Hour with leading zero if appropriate (for example, 01) Minute with no leading zero (must follow h or hh) Minute with leading zero if appropriate (must follow h or hh) Second with no leading zero (must follow m or mm) Second with leading zero (must follow m or mm) Microseconds with no leading zeros. You can enter one to six f's; each f represents a fraction of a second (must follow s or ss) Two-character, upper-case abbreviation (AM or PM as appropriate) Two-character, lower-case abbreviation (am or pm as appropriate) One-character, upper-case abbreviation (A or P as appropriate) One-character, lower-case abbreviation (a or p as appropriate)

MaskDataType. Especifica el tipo de dato para el control, los valores pueden ser: DateMask!, DateTimeMask!, DecimalMask!, NumericMask!, StringMask!, TimeMask! Min. Especifica el valor mnimo que se podr ingresar en el control. Max. Especifica el valor mximo que se podr ingresar en el control. Spin. Especifica si se desea mostrar un scroll de tipo spinner en el control.

Ejemplo Realice una aplicacin en donde se ingrese los datos de los alumnos mas las notas respectivas del curso. Al momento de ingresar las notas, solo deber de aceptar nmeros. Adems deber calcular el promedio y la condicin. El diseo deber de quedar de la siguiente manera.

Prof. Johnny Daz

17

Manual de Power builderCarrera Profesional: Computacin e Informtica

Controles EditMaskControl em_nota1 y em_nota2 Propiedad (ficha mask) Mask = ## MaskDataType: numerickask! Spin = Activado Min = 0 Max = 20 Incremente = 1

Cdigo del Formulario. Cb_calcular / clicker Real Nota1,Nota2,Promedio Nota1=real(em_nota1.text) Nota2=real(em_nota2.text) promedio=(nota1+nota2)/2 if promedio>=11 then sle_condicion.text="Aprobado" else sle_condicion.text="Desaprobado" end if em_promedio.text=string(promedio) Grabe la ventana con w_editmask Ejecute la ventana, ingrese los datos respectivos y pulse calcular. cb_otro / Clicked sle_alumno.text="" sle_curso.text="" em_nota1.text="0" em_nota2.text="0" em_promedio.text="0"

Prof. Johnny Daz

18

Manual de Power builderCarrera Profesional: Computacin e Informtica

y

Se utilizan con la finalidad de

insertar un cuadro de lista o una lista desplegable, en donde el usuario podr seleccionar uno o mas elementos de la lista. Funciones Additem. Permite aadir un nuevo elemento dentro de un cuadro de lista o una lista desplegable. DeleteItem. Permite eliminar el elemento indicado de un cuadro de lista o una lista desplegable Reset. Borra todo los elementos de una lista o una lista desplegable. SelectedIndex. Retorna el nmero del elemento seleccionado de una lista. SelectedItem. Retorna el texto del elemento seleccionado. SelectItem. Retorna el elemento del nmero de elemento indicado. Text. Retorna el texto del elemento seleccionado. Ejemplo : Desarrolle una aplicacin en donde se agreguen nuevos elementos a una lista. El diseo del formulario tendr que quedar de la siguiente manera. Control Sle_1 Lb 1 Propiedad Name Text Name Valor sle_nuevo en blanco lb elementos

Cdigo del formulario. cb_agregar / Clicked. lb_elementos.additem(sle_nuevo.text) sle_nuevo.text="" cb_eliminar / clicked lb_elementos.DeleteItem(lb_elementos.SelectedIndex()) cb_borrar / clicked lb_elementos.reset()

Prof. Johnny Daz

19

Manual de Power builderCarrera Profesional: Computacin e Informtica

Ejemplo Desarrolle una aplicacin en donde se registren nuevos productos, se ingresen la cantidad y el precio, se calcule el subtotal y el total a pagar y esos se agreguen a unas listas. El diseo del formulario tendr que quedar de la siguiente manera. Control sle_1 ddlb_1 sle_2 em_1 em_2 lb_1 lb_2 lb_3 lb_4 sle_3 sle_4 sle_5 sle_6 Propiedad name name name name name name name name name name name name name valor sle_nuevop ddlb_productos sle_productos em_cantidad em_precio lb_productos lb_cantidades lb_precios lb_subtotales sle_totalc sle_totalp sle_totals sle_totalpagar

LA PROPIEDAD SORTED DE LOS LISTBOX, TENDRN QUE ESTAR DESACTIVADOS, PARA QUE LOS ELEMENTOS NO SE ORDENEN AL MOMENTO DE AGREFGAR

Nota : Los textos de color oscuro tendrn que estar desactivados

Codigo del formulario cb_agregar / clicked ddlb_productos.additem(sle_nuevop.text) sle_nuevop.text=""

Prof. Johnny Daz

20

Manual de Power builderCarrera Profesional: Computacin e Informtica

cb_aceptar / clicked sle_productos.text=ddlb_productos.text cb_agregar2 / clicked Real Cantidad,Precio,SubTotal,Total Cantidad=Real(em_cantidad.text) Precio=Real(em_precio.text) SubTotal=Cantidad * Precio Total=Real(sle_totalpagar.Text) Total=Total + SubTotal lb_productos.AddItem(sle_productos.Text) lb_cantidades.AddItem(em_cantidad.Text) lb_precios.AddItem(em_precio.Text) lb_subtotales.AddItem(String(SubTotal)) sle_totalpagar.Text=String(Total) sle_totalc.text=String(real(sle_totalc.text)+Cantidad) sle_totalp.text=String(real(sle_totalp.text)+Precio) sle_totals.text=String(real(sle_totals.text)+SubTotal) cb_eliminar / Clicked Integer Indice Real Cantidad,Precio,SubTotal,Total Indice=lb_productos.SelectedIndex() Cantidad=Real(lb_cantidades.text(Indice)) Precio=Real(lb_precios.text(Indice)) SubTotal=Real(lb_subtotales.text(Indice)) sle_totalc.text=String(real(sle_totalc.text) - Cantidad) sle_totalp.text=String(real(sle_totalp.text) - Precio) sle_totals.text=String(real(sle_totals.text) - SubTotal) sle_totalpagar.Text=sle_totals.text lb_productos.DeleteItem(Indice) lb_cantidades.DeleteItem(Indice) lb_precios.DeleteItem(Indice) lb_subtotales.DeleteItem(Indice) cb_limpiar / Clicked lb_productos.Reset() lb_cantidades.Reset() lb_precios.Reset() lb_subtotales.Reset() ddlb_productos.Reset() sle_productos.Text="" em_cantidad.Text="0" em_precio.Text="0" sle_totalc.Text="0" sle_totalp.Text="0" sle_totals.Text="0" sle_totalpagar.Text="0"

Prof. Johnny Daz

21

Manual de Power builderCarrera Profesional: Computacin e Informtica

Como trabajo prctico desarrolle la siguiente aplicacin. Agregar. Permite agregar nuevos empleados a la lista Aceptar. Muestra el empleado seleccionado de la lista en Empleado Seleccionado. Otro. Limpia todo los controles. Nota: Cada vez que se seleccione una categora deber de calcular el haber bsico, los descuentos y el sueldo neto. Cada vez que se active uno de los check (Descuentos), deber de volver a calcular todo.

Este otro ejemplo es similar al anterior, con la diferencia de que tendr que ir agregando en las listas e ir sumando los totales en la parte inferior.

Prof. Johnny Daz

22

Manual de Power builderCarrera Profesional: Computacin e Informtica

FUNCIONES DENTRO DE POWERBUILDER PowerBuilder posee una gran variedad de funciones que permiten al programador desarrollar sus aplicaciones de una manera fcil. 1. Funciones de Cadena Asc. Obtiene el cdigo ASCCII correspondiente al primer carcter de una cadena. Ejemplo : Asc ("A") Char. Retorna el carcter correspondiente al cdigo ASCII. Ejemplo : Char (42) Fill. Retorna una cadena con una longitud determinada del carcter especificado. Ejemplo : Fill ("*",20) Left. Retorna un nmero especificado de caracteres comenzando por la izquierda. Ejemplo : Left ("Henry Salcedo",4) LeftTrim. Retorna la misma cadena de caracteres sin los espacios en blanco del lado izquierdo de la cadena Ejemplo : LeftTrim (" Henry Salcedo") Len. Retorna la longitud de la cadena. Ejemplo : Longs_nombre s_nombre=Len(sle_Nombres.text) Lower. Retorna una copia de una cadena convertida a minsculas. Ejemplo : Lower("HENRY SALCEDO") Mid. Retorna una cadena que contiene un nmero especificado de caracteres, comenzando de una posicin indicada. Ejemplo : Mid("HENRY SALCEDO",5,5) Pos. Retorna la posicin donde se encuentra una cadena dentro de otra cadena Ejemplo : Pos("HENRY SALCEDO","SA") Reverse. Cambia el orden de los caracteres de una cadena. Ejemplo : Reverse ("HENRY SALCEDO") Right. Retorna un nmero especificado de caracteres, comenzando del lado derecho.. Ejemplo : Right ("HENRY SALCEDO",3) RightTrim. Retorna la misma cadena de caracteres sin los espacios en blanco del lado derecho de la cadena Ejemplo : RightTrim ("Henry Salcedo ")Prof. Johnny Daz 23

Manual de Power builderCarrera Profesional: Computacin e Informtica

Space. Retorna una cadena de longitud determinada, conteniendo espacios en blanco. Ejemplo : Name = Space (10) Trim. Retorna la misma cadena de caracteres sin los espacios en blanco del lado izquierdo y derecho de la cadena Ejemplo : Trim (" Henry Salcedo ") Upper. Retorna la misma cadena de caracteres convertidas a letras maysculas. Ejemplo : Upper (" Henry Salcedo") 2. Funciones de Fecha Day. Retorna el da del mes de una fecha indicada. Ejemplo : Day (1994-01-31) DayName. Retorna el nombre del da de la semana Ejemplo : string dayn Date fecha fecha=Date(em_1.text) dayn=dayName(Fecha) DayNumber. Retorna un nmero que representa el da de la semana. Ejemplo : Integer dayn Date fecha fecha=Date(em_1.text) dayn=dayNumber(Fecha) DaysAfter. Retorna el nmero de das de una fecha despus de la actual. Ejemplo : Integer dayn Date fecha fecha=Date(em_1.text) dayn=daysAfter(2001-02-19,Fecha) Hour. Retorna un entero que corresponde al nmero de horas de una fecha dada. Ejemplo : Integer Hora Hora=Hour(Now()) MessageBox("Hora",Hora)Prof. Johnny Daz 24

Manual de Power builderCarrera Profesional: Computacin e Informtica

Minute. Retorna un entero que corresponde a los minutos de una hora dada. Ejemplo : Integer Hora Hora=Minute(Now()) Now. Retorna la hora del sistema. Ejemplo : Time Hora Hora=Now() Second. Retorna el numero de segundos de una hora dada. Ejemplo : integer Hora Hora=Second(Now()) Today. Retorna la fecha actual del sistema Ejemplo : Date Fecha Fecha=Today() Year. Retorna el ao de una fecha dada Ejemplo : Integer Ao Ao=Year(Today()) 3. FUNCIONES NUMERICAS Abs. Obtiene el valor absoluto de un numero Ejemplo: i=4 num = Abs(i) num = Abs (4) num = Abs (+4) num = Abs (-4) Abs (-4.2) Esta sentencia retorna 4.2.

Prof. Johnny Daz

25

Manual de Power builderCarrera Profesional: Computacin e Informtica

Ceiling. Obtiene el menor nmero entero que es menor o igual al nmero especificado. Ejemplo: Dec = 4.8 Num = Ceiling (dec) Decimal num Num = ceiling (-4.2) Num = ceiling (-4.8) Esta sentencia retorna -4. Cos. Obtiene el coseno del ngulo debe estar en readianes. Ejemplo: Cos (0) Cos(1) Esta sentencia retorna -1. Cos(pi(1)) Esta sentencia retorna -1. Int. Obtiene el menor nmero entero que es menor o igual al nmero especificado. Ejemplo: Int(3.2) Int(3.8) Int(-3.2) Int(-3.8) La siguiente sentencia retorna -4.0. Max. Retorna el mayor de dos nmeros. Ejemplo: Max (4,7) Max (-4,-7) Esta expresin retorna -4. Min. Retorna el menor de dos nmeros. Ejemplo: Min (4,7) Min (-4,-7) Esta expresin retorna -7. Mod. Obtiene el modulo de dos nmeros (el resultado obtenido de la divisin del primer expresin con el segundo). Ejemplo: Integer Residuo Residuo=Mod(20,6)Prof. Johnny Daz 26

Manual de Power builderCarrera Profesional: Computacin e Informtica

Pi. Obtiene el valor de Pi Ejemplo: Pi( ) => 3.14159265358979323 Round. Obtiene un nmero redondeado a un nmero decimal elegido Ejemplo: Round (9.625,2) => 9.63 Round (9.6,3) => 9.600 Sign. Obtiene un nmero (-1, 0, o 1) indicando el signo de una expresin Ejemplo: Sign (0) => Retorna 0 por que 0 no tiene signo Sign (9) => Retorna 1 Sign (-9) => Retorna -1 Sqrt. Obtiene la raz cuadrada de un nmero dado. Ejemplo: Sqrt (4) => Retorna 2 Sign (3) => Retorna 1.7320 Truncate. Obtiene un nmero truncado a una determinada expresin decimal. Ejemplo: Truncate (9.22,1) => Retorna 9.2 Truncate (9.9,0) => Retorna 9 4. Funciones de Conversin Dec. Convierte el contenido de una cadena a un nmero decimal. Ejemplo : Real Numero Numero=Dec("14.25") Double. Convierte el contenido de una cadena a un nmero doble Ejemplo : Real Numero Numero=Double("14.25") Integer. Convierte el contenido de una cadena a un nmero entero Ejemplo : Integer Numero Numero=Integer("14")

Prof. Johnny Daz

27

Manual de Power builderCarrera Profesional: Computacin e Informtica

Real. Convierte el contenido de una cadena a un nmero real Ejemplo : Real Numero Numero=real("14.25") String. Convierte un nmero a un cadena de caracteres. Ejemplo : String Cadena Cadena=String(14.25) Date. Convierte una cadena a una fecha Ejemplo : Date Fecha Fecha=Date(10-05-2001) Ejemplo de una aplicacin Desarrolle una aplicacin que permita el ingreso de los datos personales de los alumnos. Se debe de ingresar los nombres, apellido paterno, apellido materno, direccin, especialidad, semestre, turno, sexo y fecha de registro. El cdigo deber de ser autogenerado de la siguiente manera: Tomar el primer carcter del apellido paterno mas un nmero consecutivo que tendr que ir generndose. El diseo del formulario deber de ser de la siguiente manera.

Control Edit Mask Tipo FechaPropiedad Item de: CmbSexo: Masculino Femenino Especialidad: Computacin e Informtica Secretariado Ejecutivo Enfermera Tcnica Semestre : del 1 al 6 Turno: Maana Tarde Noche

Prof. Johnny Daz

28

Manual de Power builderCarrera Profesional: Computacin e Informtica

Grabe la ventana con el nombre de : w_funciones CDIGO DEL FORMULARIO. Window / open Limpiar_Controles(); em_fecha.text=String(today()) cb_aceptar / Clicked Integer Nregs String Codigo Nregs=Lb_Alumnos.TotalItems()+1 Codigo=Left(sle_apepat.text,1)+Left(sle_apemat.text,1)+Trim(string(Nregs)) Codigo=Right("000"+trim(Codigo),3) Lb_Alumnos.AddItem(Sle_Apepat.text + " " + sle_apemat.text + ", sle_nombres.text) lb_codigos.AddItem(Codigo) sle_codigo.Text=Cdigo cb_nuevo / Clicked Realcelo ud. Ejecute su ventana, ingrese los datos respectivos

"

+

Pulse el botn Aceptar para generar el cdigo y agregar a la lista los datos.

Prof. Johnny Daz

29

Manual de Power builderCarrera Profesional: Computacin e Informtica

El cdigo ha sido generado con la primera letra del apellido paterno + la primera letra del apellido materno + un nmero correlativo.

Prof. Johnny Daz

30

Manual de Power builderCarrera Profesional: Computacin e Informtica

FUNCIONES DEFINIDAS POR EL USUARIO El lenguaje PowerScript tiene una gran variedad de funciones. Pero si en el proceso de desarrollo se necesita codificar u proceso que se repita mas de una vez entonces es necesario crear una funcin definida por el usuario. Una funcin definida por el usuario es una coleccin de sentencias que realizan algn proceso. Para construirla se realiza en el Function Painter, una vez construida se graba la funcin para su posterior uso. Tipos de Funcin. Funciones Globales. Las cuales no estn asociadas a ningn objeto de la aplicacin y son accesibles desde cualquier punto de la aplicacin. Funciones de nivel objeto. Estas funciones estn definidas por un tipo particular de ventana, men o objeto de usuario Nota : Las nombres de las funciones pueden tener hasta una longitud de 40 caracteres Crear una funcin que permita limpiar los controles del ejemplo anterior. Abra la ventana anterior (w_funciones) Abra el la ventana de script de la ventana Abra la lista de controles de la ventana de cdigos y seleccione (Functions)

Seguidamente se activar la siguiente ventana en donde se tendr que ingresar el nombre de la funcin que se desea crear y especificar si se desea que la funcin retorne un valor.

Alcance de la funcin

Indica si la funcin retornar valores

Nombre de la funcin a crear

Ventana en donde se escribir el cdigo de la funcin

Prof. Johnny Daz

31

Manual de Power builderCarrera Profesional: Computacin e Informtica

Luego de crear la funcin escriba el cdigo siguiente. sle_nombres.Text="" sle_apepat.Text="" sle_apemat.Text="" sle_direccion.Text="" ddlb_sexo.SelectItem(0) ddlb_especialidad.SelectItem(0) ddlb_semestre.SelectItem(0) ddlb_turno.SelectItem(0) Grabe la funcin grabando la ventana y cierre la ventana de la funcin. Agregue la siguiente lnea de cdigo a los siguientes eventos de controles. Window / open Limpiar_Controles(); em_fecha.text=String(today()) Cb_Aceptar / Clicked Integer Nregs String Codigo Nregs=Lb_Alumnos.TotalItems()+1 Codigo=Left(sle_apepat.text,1)+Left(sle_apemat.text,1)+Trim(string(Nregs)) Codigo=Right("000"+trim(Codigo),3) Lb_Alumnos.AddItem(Sle_Apepat.text + " " + sle_apemat.text + ", sle_nombres.text) lb_codigos.AddItem(Codigo) sle_codigo.Text=Codigo Limpiar_Controles(); Cb_nuevo / Clicked Limpiar_Controles(); Ejecute la ventana llene los datos respectivos y pulse el botn Cancelar, deber de limpiar los controles. Como trabajo prctico cree una funcin que permita Desactivar los controles: (f_desactivar) sle_codigo, em_fecha, sle_nombres, sle_apepat, sle_apemat, sle_direccion, ddlb_sexo, ddlb_especialidad, ddlb_semestre, ddlb_turno y cb_aceptar Activar los controles: (f_activar) sle_codigo, em_fecha, sle_nombres, sle_apepat, sle_apemat, sle_direccion, ddlb_sexo, ddlb_especialidad, ddlb_semestre, ddlb_turno y cb_aceptar Los controles tendrn que estar activados al momento de ejecutar la ventana, y cuando se pulse el botn nuevo tendrn que activarse con los controles en blanco. Cuando se pulse aceptar los controles tendrn que desactivarse nuevamente.

"

+

Prof. Johnny Daz

32

Manual de Power builderCarrera Profesional: Computacin e Informtica

Otro Ejemplo Realice una aplicacin que permita calcular el sueldo neto de un trabajador y ademas los descuentos respectivos. Los descuentos y el sueldo neto se tendrn que ir calculando cada vez que se cambie la categora o algn descuento (para calcular los descuentos y sueldo neto crear una funcin) El diseo del formulario es el siguiente: Para dar nombre a los controles como prctica tendr que fijarse el cdigo de la aplicacin y de acuerdo a eso poner los nombres respectivos.

Cdigo de la aplicacin. Crear una funcin con el nombre de Calcular Para crear la funcin, seleccione la opcin Insert de la barra de men, y dentro de esta seleccione Function.

Aqu se escribe el cdigo de la funcin

Seleccione (None)

Nombre de la funcin

Prof. Johnny Daz

33

Manual de Power builderCarrera Profesional: Computacin e Informtica

El cdigo de la funcin es el siguiente: REAL haber,cts,afp,essalud,totald,neto haber=REAL(sle_haber.Text) IF cbx_cts.CHECKED=TRUE then cts=haber*0.03 ELSE cts=0 end if if cbx_afp.checked=true then afp=haber*0.06 else afp=0 end if if cbx_essalud.checked=true then essalud=haber*0.06 else essalud=0 end if totald=cts+afp+essalud neto=haber - totald em_cts.Text=String(cts) em_afp.Text=String(afp) em_essalud.Text=String(essalud) em_totald.Text=String(totald) em_neto.Text=String(neto) return

Cb_agregar / Clicked ddlb_empleados.Additem(sle_nuevoe.Text) sle_nuevoe.Text="" cb_aceptar / Clicked sle_empleado.Text=ddlb_empleados.Text rb_gerente / Clicked sle_haber.text="2500" Calcular(); rb_administrador / Clicked sle_haber.text="2000" Calcular(); rb_secretaria / Clicked sle_haber.text="1000" Calcular(); cb_otro / clicked sle_empleado.Text="" sle_haber.Text="0" em_cts.Text="0" em_afp.Text="0" em_essalud.Text="0" em_totald.Text="0" em_neto.Text="0" cbx_cts.checked=False cbx_afp.checked=False cbx_essalud.checked=False

cbx_cts cbx_afp cbx_essalud / Clicked (en los tres poner el mismo cdigo) Calcular(); Ejecute la aplicacin e ingrese los datos para poder calcular.

Prof. Johnny Daz

34

Manual de Power builderCarrera Profesional: Computacin e Informtica

Este control contiene una serie de pginas donde cada pgina podr contener a su vez controles Propiedades. Aligment. Especifica la alineacin del texto en la etiqueta de cada pgina: Los valores son : Left!, Center!, Right!. BackColor. Especifica un valor numrico correspondiente al color del fondo. Enabled. Activa o Desactiva el control. Perpendicular Text. Especifica si el titulo de cada pgina se alinear en forma vertical. SelectedTab. Especifica cual de las paginas se encuentra seleccionada. Para insertar mas pginas dentro de este control, ubique el puntero del mouse en la parte superior de este control, realice un click con el botn contrario y seleccione la opcin InsertTabPage.

Para eliminar una pgina, realice un click contrario sobre la pgina que desee eliminar y seleccione la opcin Delete. (no se olvide que tendr que realizar click contrario dentro de la pgina)

Prof. Johnny Daz

35

Manual de Power builderCarrera Profesional: Computacin e Informtica

Ejemplo: Desarrollar una aplicacin que permita ingresar los datos de los trabajadores. Usar un control Tab con dos pginas. En la primera pgina se debe ingresar los datos generales del trabajador. En la segunda pgina se debe seleccionar la condicin del trabajador (Contratado o Nombrado). Si es Contratado, su haber bsico ser 1500 y si es nombrado 2000. Si es Nombrado realizar los descuentos de ley, de lo contrario es descuento ser 0. Nota: Para cambiar el nombre de la pgina dentro de un tab, realice un clic contrario dentro de la pgina que quiere cambiar el nombre, luego en la ventana de propiedades seleccione la propiedad name y ponga el nombre que desee. El diseo del formulario tendr que quedar de esta manera: (grabe con w_tabpage). Diseo de la primera pginaControl Tab_1 Propiedad Valor Name Tab_Trabajador Tabpg_datos Datos del Trabajador Tabpg_sueldo Sueldo del trabajador

tabpage_1 Name Caption tabpage_2 Name Caption

Dentro de Tabpg_datos va: Sle_1 Sle_2 Sle_3 Sle_4 Sle_5 em_1 cb_1 Name Name Name Name Name Name Name Caption sle_codigo sle_nombres sle_apellidos sle_direccion sle_dni em_fecha cb_aceptar Aceptar

Diseo de la segunda pginarb_1

Dentro de tab_pg_sueldo va: Name Caption rb_2 Name Caption Sle_6 Sle_7 Sle_8 Sle_9 Sle_10 Sle_11 cb_2 Name Name Name Name Name Name Name Caption cb_1 Name Caption rb_contratado Contratado rb_nombrado Nombrado sle_haber sle_afp sle_cts sle_essalud sle_totald sle_neto cb_otro Otro cb_cerrar Cerrar

Prof. Johnny Daz

36

Manual de Power builderCarrera Profesional: Computacin e Informtica

Crear una funcin con el nombre : Calcular Cdigo de la funcin. Real haber,afp,cts,essalud,neto,totd haber=real(tab_trabajador.tabpg_sueldo.sle_haber.text) cts=haber*0.03 afp=haber*0.06 essalud=haber*0.06 totd=cts+afp+essalud neto=haber - totd tab_trabajador.tabpg_sueldo.sle_afp.text=string(afp) tab_trabajador.tabpg_sueldo.sle_cts.text=string(cts) tab_trabajador.tabpg_sueldo.sle_essalud.text=string(essalud) tab_trabajador.tabpg_sueldo.sle_totald.text=string(totd) tab_trabajador.tabpg_sueldo.sle_neto.text=string(neto) Cdigo del formulario w_tabpage / Open Tab_Trabajador.Tabpg_sueldo.Enabled=False Tab_Trabajador.tabpg_datos.Sle_codigo.Setfocus() cb_aceptar / Clicked tab_trabajador.tabpg_datos.enabled=False tab_trabajador.tabpg_sueldo.enabled=true tab_trabajador.SelectedTab=2 rb_contratado / Clicked ztab_trabajador.tabpg_sueldo.sle_haber.text="1500" Calcular(); rb_nombrado / Clicked tab_trabajador.tabpg_sueldo.sle_haber.text="2000" Calcular(); Ejecute el formulario, ingrese los datos del trabajador, luego pulse el botn Aceptar para pasar a la siguiente pgina y seleccione la condicin del trabajador

Prof. Johnny Daz

37

Manual de Power builderCarrera Profesional: Computacin e Informtica

DISEO DE MENUS MENUS. Para aadir un men, primero es preciso crearlo y despus asociarlo a la ventana en que va a aparecer. Esta asociacin se realiza desde el Window Painter. Ejemplo Disear un men con las siguientes caractersticas. Alumnos Registro de nuevos alumnos Alt + R Matricula de alumnos Alt + M Consulta por seccin Alt + C Cursos Registro de nuevos cursos Actualizacin Alt + A Profesores Registro de nuevos profesores Alt + P Actualizacin de datos Salir Salir de la Aplicacin Solucin Seleccione el icono New del PowerBar1.

Dentro de la ventana New seleccionar la ficha Objects y dentro esta seleccionar el objeto Menu Seguidamente se activar la siguiente ventana.

WYSIWYG Menu View (Presentacin preliminar del men)

Tree Menu View (Estructura del men)

Propiedades

Ventana de Cdigo

Prof. Johnny Daz

38

Manual de Power builderCarrera Profesional: Computacin e Informtica

Seleccione untitled0 del TREE VIEW, realice un click con el botn contrario y seleccione la opcin Insert Sibmenu Item

Luego ingrese el ttulo para la primera opcin (en este caso escriba &Alumnos) Seleccione la opcin &Alumnos y realice un click con el botn contrario, en la ventana que se despliega seleccione la opcin Insert Submenu Item .

Escriba el ttulo para el nuevo submen (Escriba: &Registro de nuevos alumnos). Para activar el acceso con Alt + R a la opcin Registro de nuevos alumnos , en la ventana de propiedades busque la opcin Shortcut Key y dentro de esta seleccione la letra R, y active el check de Shortcut Alt

Prof. Johnny Daz

39

Manual de Power builderCarrera Profesional: Computacin e Informtica

Para crear el siguiente elemento de Alumnos. Seleccione &Alumnos del Tree View, realice un click con el botn contrario, en la ventana que se despliega seleccione la opcin Insert Submenu Item. Escriba el ttulo para el nuevo item. (&Matricula de alumnos).

Para activar el acceso con Alt + M a la opcin Matricula de alumnos , en la ventana de propiedades busque la opcin Shortcut Key y dentro de esta seleccione la letra M, y active el check de Shortcut Alt Para crear la opcin Consulta por seccin, siga el mismo procedimiento que utiliz para crear : Matricula de alumnos. Para crear la opcin &Cursos, seleccione untitled0 de la ventana de TREE VIEW. Realice un click con el botn contrario y seleccione la opcin Insert Submenu Item.

Escriba el ttulo para la nueva opcin (en este caso : &Cursos)

Prof. Johnny Daz

40

Manual de Power builderCarrera Profesional: Computacin e Informtica

Para crear los sub menus de Cursos, siga los mismos procedimientos realizados para los sub mens anteriores. Al final el diseo del men tendr que quedar de la siguiente manera.

Grabe el men con el nombre : m_principal. ENLAZAR UN MEN A UNA VENTANA Abra una nueva ventana (Window). En la ventana de propiedades seleccione la opcin MenuName, Realice un click sobre el botn .

En la ventana que se activa seleccione el men que desea asociar a la ventana (En este caso seleccione m_principal). Grabe la ventana con el nombre w_principal y cierre, ejecute la ventana. ESCRIBIR EL CODIGO DE UN MENU Abra el men que se ha creado anteriormente (m_principal). Seleccione la opcin dentro del men al cual desea asociar el cdigo. Realice un click con el botn secundario y seleccione la opcin Script.

Prof. Johnny Daz

41

Manual de Power builderCarrera Profesional: Computacin e Informtica

En la venta de cdigo escriba la ventana o accin que desee que realice el men. (en este caso escriba Open (Nombre_Ventana) El cdigo de la opcin cerrar es: Close(w_principal) De la misma manera escriba los cdigos de las dems opciones de men. Grabe el men y cierre. Ejecute la ventana w_principal.

CREAR UNA BARRA DE HERRAMIENTAS Para crear una barra de herramientas, es necesario que la ventana en donde se va a insertar la barra de herramientas sea del tipo MDI (Multiple Document Interface) Para nuestro ejemplo utilizaremos el men que se ha creado anteriormente. Abra el objeto men que se ha creado anteriormente (m_principal)

Seleccione el elemento de men al cual desea asociar un icono de la barra de herramientas (en este caso seleccione Registro de nuevos alumnos). En la ventan de propiedades seleccione active la ficha Toolbar, y en la opcin

ToolbarItemText (Texto del elemento de la barra de herramientas), escriba el texto que se desea mostrar al momento de ubicar el mouse sobre dicho icono ( en este caso escriba : Registro de nuevos alumnos) En la opcin ToolbarItemName, seleccione el icono que desea mostrar en la barra de barra de herramientas. En la opcin ToolbarItemDownName (es opcional), seleccione el icono que desea mostrar cuando se pulsa sobre este en la barra de herramientas.

Prof. Johnny Daz

42

Manual de Power builderCarrera Profesional: Computacin e Informtica

El diseo tendr que quedar de la siguiente manera.

Barra de Herramientas que se ha creado

Nota: No es necesario crear el cdigo para la barra de herramientas, esto se debe a que se los iconos de la barra de herramientas, se encentran enlazados a las opciones de men. Para crear los otros iconos de la barra de herramientas, siga los mismos procedimientos anteriores. Para cambiar el tipo de ventana a mdi, realice lo siguiente: Abra la ventana que desea modificar. En la ventana de propiedades, busque la opcin Window Type, y seleccione la opcin Mdi! Ejecute la ventana para ver el resultado.

Prof. Johnny Daz

43

Manual de Power builderCarrera Profesional: Computacin e Informtica

Si desea que todas la ventanas que se abran desde la barra de men, se activen dentro de la ventana principal, tendr que cambiar la propiedad WindowType, de las otras ventanas a Child!. Este es un ejemplo de una ventana tipo child!. La ventana que se activa, solo podr moverse dentro de la ventana principal.

Prof. Johnny Daz

44

Manual de Power builderCarrera Profesional: Computacin e Informtica

CREAR UNA NUEVA BASE DE DATOS UTILIZANDO EL DISEADOR DE BASE DE DATOS DEL POWER BUILDER 1. Una vez, que se encuentre dentro del power builder, seleccionar el icono de DataBase 2. Dentro de la ventana de base de datos, seleccionar la carpeta de Uitilities y expandir.

3. Seleccionar la opcin Create ASA Database y realizar doble clic, se activar la siguiente pantalla.

4. Seleccione el botn Browse, busque la carpeta en donde desea grabar su base de datos, indique el nombre de la misma, y realice un clic sobre el botn Guardar. 5. Dentro de la ventana Create Adaptive Server Anywhere DataBase, Seleccione el botn Ok 6. Una, vez que se haya creado, se observar que dentro de la base de datos ODBC, se agrego la nueva conexin que se ha creado.Prof. Johnny Daz 45

Manual de Power builderCarrera Profesional: Computacin e Informtica

7. Si se desea cambiar el nombre de la conexin, realice doble clic sobre la conexin. 8. En la ventana que se activa, seleccione Profile Name, e ingrese el nuevo nombre de la conexin. Ejemplo (Conexin_Alumnos) y seleccione el botn Ok

La conexin, se mostrar con el nuevo nombre creado. Luego expanda la nueva conexin.

9. Si se desea crear tablas de datos, dentro de la conexin creada, seleccione la carpeta Tables y realizar un clic con el botn derecho.

Prof. Johnny Daz

46

Manual de Power builderCarrera Profesional: Computacin e Informtica

10. En la ventana de diseo de tablas, ingresar el nombre del campo, tipo de dato y ancho del mismo

11. Para grabar la nueva tabla de datos, seleccione el icono de guarda, en la ventana que se activa, ingrese el nombre de la tabla y seleccione el botn Ok.

12. Expanda la carpeta Tables y ver que la nueva tabla se ha agregado a la lista de tablas.

13. Para crear un ndice (Llave Principal) dentro de la tabla creada, seleccione la tabla, realice un clic con el botn derecho, seleccione New, y luego Primary Key.

Prof. Johnny Daz

47

Manual de Power builderCarrera Profesional: Computacin e Informtica

14. En la ventana de Primary Key (Conexin_Alumnos), Active el check del campo, del cual desea crear el ndice principal y luego grabe la tabla de datos.

15. Dentro de la ventana Object Layout, se mostrar la tabla de datos, con su clave creada, tal como se muestra a continuacin.

Prof. Johnny Daz

48

Manual de Power builderCarrera Profesional: Computacin e Informtica

Cree la tabla Datos_Alumnos, de la misma manera, el diseo es el siguiente:

6

La llave principal ser Codigo_Alumno. Al terminar de crear se deber de mostrar las dos tablas creadas, cada una con sus respectivas llaves creadas, tal como se muestra a continuacin

Claves Forneas (Foreign Key) Las Clave fornea es una combinacin de una o mas columnas de una tabla que sirven para identificar a una o mas columnas de otra tabla, una clave fornea, relaciona informacin de dos tablas. Una tabla puede contener varias claves forneas, ya que su informacin puede estar relacionada con mas de una tabla.Prof. Johnny Daz 49

Manual de Power builderCarrera Profesional: Computacin e Informtica

Crear una clave fornea para la tabla Datos_Alumnos. 1. Seleccione la tabla Datos_Alumnos, dentro de la carpeta Tables, dar un clic con el botn derecho, en el men que se activa, seleccionar New, seguido de Foreign Key. 2. En la ficha general de Foreign Key, ingresar el nombre de la clave (Foreign Key, puede ser el mismo nombre del campo) y seleccionar el campo Forneo

(Codigo_Especialidad) y el la ficha Primary Key, seleccionar la tabla (Table), de donde viene el campo forneo (Especialidades) y activar el campo principal

(Codigo_Especialidad)

3. Despus de haber creado la clave fornea, grabar la tabla. 4. En la venta de Layout, se mostrar las dos tablas con su respectiva llave, tal como se muestra a continuacin.

Prof. Johnny Daz

50

Manual de Power builderCarrera Profesional: Computacin e Informtica

CREAR UNA CONSULTA DE DATOS Crear una consulta que muestre los datos de la tabla Especialidades. 1. Seleccione el icono New del PowerBar1 2. Dentro de la ventana New, seleccionar la ficha Database, opcin Query y pulsar el botn Ok.

3. Seleccionar la tabla de donde se desea crear la consulta de datos (Especialidades) y pulsar el botn Open.

4. Seleccionar los campos que se incluirn en la Consulta.

Campos Seleccionados en la consulta Tabla seleccionada

Prof. Johnny Daz

51

Manual de Power builderCarrera Profesional: Computacin e Informtica

5. Para realizar una presentacin preliminar, realice un clic sobre el icono la vista, seleccione el siguiente icono .

, para salir de

6. Grabe la consulta, seleccionando el siguiente icono

.

Consulta con Parmetros o Argumentos. Son consultas que retornan datos de acuerdo a un parmetro o argumento ingresado.

Crear una consulta que muestre los datos de tabla especialidades, de acuerdo al cdigo de especialidad ingresado. 1. Repetir los 5 procedimientos anteriores. 2. Estando dentro de la venta de diseo de consultas, seleccione Design de la barra de men, seguido de la opcin Retrieval Arguments...

3. En la ventana que se activa (Especyfi Retrieval Arguments...), ingresar el nombre de la variable (Cod_Esp) a crear, especifique el tipo de dato para el mismo (String), luego seleccione el botn OK

4. Seleccione

la

columna

(Column)

que

se

relacione

con

el

Argumento.

(Codigo_Especialdad), luego el operador (=) y el valor (Value) , en este caso como valor ira el argumento que se ha creado, para lo cual realice un clic con el botn derecho sobre este casillero, seleccione la opcin Arguments.., en la ventana que se activa seleccionar el

Prof. Johnny Daz

52

Manual de Power builderCarrera Profesional: Computacin e Informtica

argumento creado (en este caso Cod_Esp), luego pulse el botn Paste. Deber de quedar de la siguiente manera,

5. Al realizar una presentacin preliminar

, se activar una ventana en donde tendr que

ingresar el valor para el argumento que se ha creado. Ingresar el valor y pulsar el botn OK

Tal como se muestra en el ejemplo, se mostrarn los datos, de acuerdo a valor ingresado

6. Para salir de la consulta, seleccione el siguiente icono 7. Grabe la consulta, seleccionando el siguiente icono .

.

Prof. Johnny Daz

53

Manual de Power builderCarrera Profesional: Computacin e Informtica

Crear una consulta relacionando dos tablas de datos. Cuando una tabla de datos contiene campos de otras tablas (Llaves forneas), como es el caso de la tabla Datos_Alumnos, es recomendable relacionarla con la tabla principal (Especialidades) tal como se vio en clases anteriores. Si se desea crear una consulta de la tabla Datos_Alumnos, y que muestre el nombre de la especialidad en el campo Codigo_Especialidad, las dos tablas tendrn que estar relacionadas. 1. Seleccione el icono New del PowerBar1 2. Dentro de la ventana New, seleccionar la ficha Database, opcin Query y pulsar el botn Ok.

3. Seleccionar las tablas de donde se desea crear la consulta de datos (Dastos_Alumnos y Especialidades) y pulsar el botn Open.

4. Seleccionar todo los campos de la tabla Datos_Alumnos a excepcin del campo Codigo_Especialidad, y de la tabla Especialidades, seleccionar el Nombre_Especialidad. campo

Prof. Johnny Daz

54

Manual de Power builderCarrera Profesional: Computacin e Informtica

Indica que estas dos tablas estn relacionadas por los campos que indican las lneas

5. Al realizar una presentacin preliminar

, se mostrara que cada alumno aparece con el

nombre de la especialidad a donde pertenece, y no el codigo_especialidad que se encuentra en la tabla Datos_Alumnos, esto se debe a la relacin que existe entre las dos tablas. Datos Datos Datos Datos

6. Para salir de la consulta, seleccione el siguiente icono 7. Grabe la consulta, seleccionando el siguiente icono .

.

Prof. Johnny Daz

55

Manual de Power builderCarrera Profesional: Computacin e Informtica

Practica Calificada. Agregar a su base de datos las siguientes Tablas.

Relacione las tablas de tal forma que queden como se muestra a continuacin

Indice Normal

Prof. Johnny Daz

56

Manual de Power builderCarrera Profesional: Computacin e Informtica

1. Crear una consulta de datos, que muestre los siguientes datos. Codigo del alumno, Nombres, Apellidos, Nombre de la especialidad, Seccin, Semestre, Turno y Ao Acadmico, de acuerdo al cdigo del alumno ingresado. Ejemplo: Si se ingresa el cdigo del alumno 0001, solo mostrar los datos del alumno ingresado.Datos Alumnos Datos Alumnos Datos Alumnos Datos Datos Alumnos Datos Alumnos Datos Alumnos Alumnos

2. Crear una consulta de datos, que muestre los siguientes datos. Codigo del alumno, Nombres, Apellidos, Nombre de la especialidad, Seccin, Semestre, Turno y Ao Acadmico, de acuerdo al nombre de especialidad ingresado. Ejemplo: Si se ingresa el nombre de la especialidad Computacin e Informtica, solo mostrar los alumnos de esa especialidad.Datos Alumnos

Datos Alumnos

Datos Alumnos

Hasta aqu una primera parte

Prof. J.DiazPara el cdigo 36082-CI

Prof. Johnny Daz

57