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!!