viernes, 30 de noviembre de 2012

CheckBox, RadioButton y HProgressBar en Power Builder

Hoy comenzaremos diseñando la siguiente ventana, el objetivo de este post es que aprendas a usar los diversos controles que tiene la herramienta Power Builder, y de tal manera aprendas a programar en el lenguaje Power Script.Los controles a usar son: StatiText, Picture control, command Button, editMask, CheckBox, RadioButton, HProgressBar, MultiLineEdit, SingleLineEdit, GroupBox. Creamos la ventana llamada: w_primero


-->
Control
Propiedad
Valor
cbx_d
Text
Diurno
cbx_t
Text
Tarde
cbx_n
Text
Nocturno
cbx_a
Text
Amanecida
rb_e
Text
EsSalud
rb_i
Text
Integra
rb_o
Text
Otros
sle_nom
Border
True

TextCase
Upper!
sle_ape
Border
True

TextCase
Upper!
em_sueldo
Mask
###,###.00
em_desc
Mask
0.####
em_total
Mask
###,###.00
em_fecha
Mask
dd/mm/yyyy

DropDown Calendar
True
mle_1
VScrollBar
True

HideSelection
True

Border
True
cb_calcular
Text
&Calcular

Default
True
cb_limpiar
Text
&Limpiar
cb_salir
Text
&Salir

Cancel
True
st_1
Text
Registro de Empleados
p_1
OriginalSize
False
hpb_1
MaxPosition
100

setStep
10

Código Fuente:

Declaramos la siguiente variable Instancia:

cb_calcular   Evento: Clicked



cb_limpiar Evento: Clicked


Cb_salir  evento: clicked
Ahora nos vamos a la ventana: w_principal evento timer y escribimos el siguiente código:

Y en el evento Open de la ventana escribimos:


Explicación:

Lo que esta aplicación hace es que calcula un sueldo de un determinado empleado, el cual se usa los controles checkbox y radiobutton, como veras, los checkbox se pueden seleccionar varios al mismo tiempo y tienen que estar dentro de un groupBox, en cambio los radiobutton solo se puede selecionar uno, y tambien se tiene que insertar dentro del groupBox.

Al momento de darle clic en calcular, mandamos a true la variable de ambito instancia: ib_flag = true, para que pueda activarse nuestra barra y tenga el efecto de que esta cargando, el codigo se puede visualizar en el evento timer de la ventana, y usando las condiciones se logra obtener este resultado. El cual va aumentando de 3 en 3 hasta llegar a 100, una vez llegado al maximo se cambia la varibale ib_flag = False para que termine de ejecutarse, si te das cuenta en el open de la ventana se puso el codigo: timer(0.008), esto nos indica que esta ventana ejecutará el evento timer cada 0.008 milisegundos, de tal manera ese evento sigue funcionando.Es por eso que se controla con las banderas o los flags.

Esto es sólo un ejemplo para usar los controles, espero que la idea de usar estos controles haya quedado clara. 



Si quieres descargar el código fuente entra al siguiente link:

Hasta la proxima!!

Arreglo bidimensionales en Power Builder

Arreglo:
-->
En programación, una matriz o vector (llamados en inglés arrays) es una zona de almacenamiento contiguo, que contiene una serie de elementos del mismo tipo. De esta forma en Power Builder usando el lenguaje Power Script podemos realizar este tipo de procesos, usando a la memoria RAM para que los datos ingresados queden grabados de manera volátil en un instante. Para nuestra implementación, realizaremos un programa en la herramienta Power Builder donde se pueda detallar toda esta teoria.


Laboratorio:
Creamos un Espacio de trabajo wrk_arreglo, una aplicación app y diseñamos las siguientes dos ventanas:

w_listado : Controles: DropDownListBox (lb_nombres, lb_edad), command button (cb_registrar, cb_cerrar)


-->
Control
Propiedad
Valor
lb_nombres
VScrollBar
True

Sorted
False
lb_edad
VScrollBar
True

Sorted
False
W_listado
Title
:: ARREGLO ::

MaxBox
False

Resizable
False

Icon
Form!

w_datos:

-->
Control
Propiedad
Valor
sle_nombre
Textcase
Upper

Limit
30



em_edad
Mask
##

Max
99

Spin
True

Luego declaramos en la parte Instancia el siguiente código:

w_listado : cb_registrar


w_listado : cb_cerrar


w_listado : lb_nombres evento: SelectionChanged


 w_listado : lb_edad evento: SelectionChanged


w_listado : Evento OPEN



w_datos : cb_guardar


w_datos : cb_cancelar

Explicación:

Bien, el siguiente programa expuesto tendra el siguiente comportamiento: Al abrir en primer lugar w_listado, nos saldra una ventana donde no nos mostrara nada, tenemos que darle en el boton registrar para que nos abra la ventana: w_datos, donde recien podemos dar algunos valores que nos piden, de esta forma nuestro arreglo ira creciendo, como tambien subira su indice: gi_pos. 

En este caso estamos usando el control lista para detallar los datos ingresados, el control lista tiene como metodo: additem, el cual te permite agregar valores cadena a la lista. Es por eso que al hacer el for, tenemos que convertir la edad que esta en numero a cadena.




Si quieres descargar el código fuente entra al siguiente link:

Hasta la proxima!!