13

Manual Power Builder

Embed Size (px)

Citation preview

Page 4: Manual Power Builder

Código fuente de la aplicación

Script Open de la ventana

/*Agregamos los elementos al control DropDownListBox*/ddlb_producto.additem("Mouse")ddlb_producto.additem("Teclado")ddlb_producto.additem("Monitor")ddlb_producto.additem("Impresora")ddlb_producto.additem("Scanner")ddlb_producto.additem("WebCam")

Script Clicked del boton Agregar

lb_producto.additem(ddlb_producto.text)st_registro.text=string(lb_producto.totalitems())

Script Clicked del boton >

If lb_producto.selectedindex() < 0 ThenMessagebox("Error","Seleccione un Registro")

Elselb_tienda.additem(lb_producto.selecteditem())lb_producto.deleteitem(lb_producto.selectedindex())

End If

Script Clicked del boton >>

Integer iFor i=1 To lb_producto.totalitems()

lb_producto.selectitem(i)lb_tienda.additem(lb_producto.selecteditem())

Nextlb_producto.reset()

Page 5: Manual Power Builder

Script para el boton <

If lb_producto.selectedindex() > 0 Thenlb_producto.deleteitem(lb_producto.selectedindex())

ElseIf lb_tienda.selectedindex() > 0 Thenlb_tienda.deleteitem(lb_tienda.selectedindex())

ElseIf lb_producto.selectedindex() < 0 Or lb_tienda.selectedindex() < 0 Then

Messagebox("Error","Seleccione un Registro")End If

Script para el boton <<

If lb_producto.selectedindex()= -1 And lb_tienda.selectedindex()= -1 Then

Messagebox("Error","seleccione La lista a eliminar")Else

If lb_producto.selectedindex() >= 1 Thenlb_producto.reset()

End IfIf lb_tienda.selectedindex() >= 1 Then

lb_tienda.Reset()End If

End If

En el siguiente ejemplo veremos el control ListView este es mas usados para la vizualización de registros de una tabla, por ejemplo el listado de los productos (CodProducto, Descripcion, PrecioUnitario,Stock, etc ) como he mencionado al inicio de este post, es conocer las  funciones y propiedades de estos controles. Veamos los siguientes ejemplos del control listview:

Page 6: Manual Power Builder

Código Fuente de la aplicación

Script Open de la Ventana

/*Conf del control Listview*/lv_Productos.addcolumn( "Codigo",left!,250)lv_Productos.addcolumn( "Descripción",left!,950)lv_Productos.addcolumn( "Precio",left!,400)lv_Productos.view=ListViewReport!lv_Productos.fullrowselect=true/*fullrowselect selecciona toda la fila*/

Script Clicked para el Boton Agregar

lv_Productos.additem( sle_codigo.text,1)/*Utilizamos la funcion additem para agregar Item a la PRIMERA COLUMNA */lv_Productos.setitem( lv_Productos.totalitems( ),2,sle_descripcion.text)lv_Productos.setitem( lv_Productos.totalitems( ),3,sle_precio.text)/*setitem para agregar elementos apartir de la SEGUNDA columna */st_totalElementos.text=String(lv_productos.totalitems( ))/*totalitems nos devuelve el total de filas en el control lv_productos*/

Script Clicked para el boton Eliminar

lv_Productos.deleteitem( lv_Productos.selectedindex( ))st_totalElementos.text=String(lv_productos.totalitems( ))

Código Fuente de la aplicación

Script Clicked para el boton Ejecutar

Page 7: Manual Power Builder

int ic /*Indice de la columna*/lv_elementos.deletecolumns( )lv_elementos.deleteitems( )integer columna,nummaxcolumna=integer(em_columna.text)nummax=integer(em_numero.text)//agregamos numero de columnasFor ic=1 To columna

lv_elementos.addcolumn( "C" + string(ic), center!,200)Next/*Agregamos los elementos a cada fila*/int nume,i,jDo While nume < nummax

nume +=1lv_elementos.additem( string(nume),1)/*Agregamos los

elementos*/If nume < nummax Then

For j=2 To columna/**/nume +=1If Not nume > nummax Then

lv_elementos.setitem( lv_elementos.totalitems( ),j,string(nume))

End IfNext

End IfLoop

st_estacion.text=string(msg)

Código fuente de la aplicación

Bucle For

Page 8: Manual Power Builder

Boton Llenar Numeros(For)

/*Llenar numeros con For al control ListBox*/lb_lista.reset()If sle_numero.text <> "" Thenint numero, indexnumero=integer(sle_numero.text)For index=0 To Numero

lb_lista.additem(String(index))NextElse

Messagebox("Error","Debe ingresar un número")End If

Boton Sumar(For)

/*Obtener la suma de los n primeros numeros con el Bucle For*/Int numero,suma, indexnumero=integer(sle_numero.text)For index=1 To numerosuma+=indexNextString MsgMsg="La suma de los " + string(numero) + " primeros numeros es: " + string(suma)Messagebox("Suma con Bucle For",Msg)

Bucle Do WhileBoton Llenar Numeros (Do While)

/*Llenar numeros con Do While al control ListBox*/lb_lista.reset()int numero, limite numero=integer(sle_numero.text)do while limite<numero

limite+=1 /*Equilavencia: limite=limite+1*/lb_lista.additem(String(limite))

loop

Boton Sumar(Do While)

/*Obtener la suma de los n primeros numeros*/lb_lista.reset()int numero, limite, suma numero=integer(sle_numero.text)do while limite<numero

limite+=1 /*Equilavencia: limite=limite+1*/suma+=limite

loopMessagebox("Suma con Bucle Do While","La suma de los " + string(numero) + " primeros numeros es: " + string(suma))sle_numero.setfocus()

Bucle Do Until Boton Llenar Numeros(Do Until)/*Llenar numeros con Do Until al control ListBox*/

/*Llenar numeros con Do Until al control ListBox*/lb_lista.reset()

Page 9: Manual Power Builder

int numero, limite numero=integer(sle_numero.text)do

limite+=1lb_lista.additem(String(limite))

loop until limite > (numero - 1)

Boton Sumar(Do Until)/*Obtener la suma de los n primeros numeros*/

/*Obtener la suma de los n primeros numeros*/lb_lista.reset()int numero, limite, suma numero=integer(sle_numero.text)do

limite+=1suma+=limite

loop while limite<numeroMessagebox("Suma con Bucle Do Until","La suma de los " + string(numero) + " primeros numeros es: " + string(suma))sle_numero.setfocus()

Boton Limpiar

lb_lista.reset()sle_numero.text=""sle_numero.setfocus()

Código fuente de la aplicaciónBoton Llenar

n=integer(sle_numero.text)integer i,nlb_lista.reset()if rb_par.checked=true thenfor i=2 to n step 2

Page 10: Manual Power Builder

lb_lista.additem(string(i))nextelseif rb_impar.checked=true thenfor i=1 to n step 2lb_lista.additem(string(i))nextend if

Boton N° Primo

integer i,n,cn=integer(sle_numero.text)lb_lista.reset()c=0for i=1 to nif mod(n,i)=0 thenc=c+1lb_lista.additem(string(i) + ' ' + " " + string(mod(n,i)))end ifnextif c=2 or c=1 thenst_primo.text=" Es Primo"elsest_primo.text="No Es Primo"end if

CALCULADORA

Deberás crear el siguiente diseño en Power Builder.

La estructura de su proyecto será el siguiente: ( Pulsar Doble clic

para agrandar la imagen )

Page 11: Manual Power Builder

CODIGO EN LOS SIGUIENTES BOTONES:

CODIGO BOTON:

sle_1.text=string((long(long(sle_1.text)*10))+1)

* Deberás repetir el siguiente código para todos los controles con NUMEROS.

CODIGO BOTON:

xoper=string("+")xnum=integer(sle_1.text)sle_1.text = "0"

* La misma estructura para los demás operadores.

CODIGO BOTON:

choose case xoper

case "+"

sle_1.text = string(long(long(sle_1.text)+xnum))

Page 12: Manual Power Builder

case "-"

sle_1.text = string(integer(xnum - (long(sle_1.text))))

case "x"

sle_1.text = string(integer(long(sle_1.text)*xnum))

case "/"

sle_1.text = string(integer(xnum / (long(sle_1.text))))

end choose

CODIGO BOTON:

sle_1.text="0"

xnum=0