He desarrollado mi primera aplicación en Powerbuilder, debo indicar que realmente mi aplicación no es la gran cosa, es más, para los programadores experimentados esto puede parecer una nadería pero hay que tomar en cuenta que me encuentro dando mis primeros pasos en este campo, ya que siempre me he negado el aprendizaje de estas artes, mi principal pretexto “lo mio es el diseño”, “soy diseñador, no programador”. Pero no puedo negar que la curiosidad (y la necesidad) es grande.

Espero que estas líneas le puedan servir a alguien, y aunque no hay mucha gente que programe en Powerbuilder, supongo que algun novato como yo lo podrá aprovechar.


Manos a la ubre
Esta aplicación toma el “sueldo bruto”, le realiza los descuentos, totaliza y devuelve el “sueldo neto”. Ya se que es más fácil hacerlo en la calculadora o en excel, pero se me antojó programarla.

Por otro lado, asumiré que son conocidos los procesos de crear un Workspae (entorno de trabajo), la aplicación, las ventanas y los controles.

Crearemos una nueva ventana, en mi caso la he llamado w_ventana01, dentro de ella creamos los siguientes controles:

pb_sueldo01.jpg

1 SingleLineEdit para el sueldo básico, llamado sle_basico
1 SingleLineEdit para essalud, llamado sle essalud
1 SingleLineEdit para cts, llamado sle_cts
1 SingleLineEdit para afp, llamado sle_afp
1 SingleLineEdit para el total de descuento, llamado sle_descuento
1 SingleLineEdit para el sueldo neto, llamado sle_neto

1 CommandButton para calcular, llamado cb_calcular
1 CommandButton para otro, llamado cb_otro
1 CommandButton para cerrar, llamado cb_cerrar

La personalización de la aplicación depende de cada uno, yo por ejemplo he agrupdo los elementos dentro de 2 GroupBox y he insertado un icono (tomado de Elements Icon Suite - por pantoni).

El código
Llegó el momento de hacer funcionar esta pequeña máquina, para ello habremos de introducir los códigos en los siguientes elementos:

w_ventana / open

// con esto le asignamos el valor de cero a todas las cajas de texto SingleLineEdit
sle_Basico.Text="0"
sle_Afp.text="0"
sle_Cts.text="0"
sle_Essalud.text="0"
sle_Descuento.Text="0"
sle_Neto.Text="0" 

cb_calcular / clicked

//definimos las variables
Real Basico,Cts,Essalud,Afp,Descuento,neto
Basico=Real(sle_Basico.Text)

//Si el básico es mayor que cero
If Basico>0 then

//realizamos los cálculos
Essalud=Basico * 0.03
Cts=Basico * 0.06
Afp=Basico * 0.06
Descuento=Essalud + Cts + Afp
Neto=Basico - Descuento

//enviamos los valores resultantes a las cajas respectivas
sle_Afp.text=String(Afp)
sle_Cts.text=String(Cts)
sle_Essalud.text=String(Essalud)
sle_Descuento.Text=String(Descuento)
sle_neto.Text=String(neto)

Else //Si el básico no es un número mayor que cero

//abrimos un MessageBox
	messagebox("Advertencia","El sueldo básico debe ser un número positivo mayor que 0")
	end if 

cb_otro / clicked

//devolvemos los valores de todas las cajas a cero
sle_Basico.Text="0"
sle_Afp.text="0"
sle_Cts.text="0"
sle_Essalud.text="0"
sle_Descuento.Text="0"
sle_Neto.Text="0"

cb_cerrar / clicked

close(w_ventana01)

Una vez aquí, traté de correr la aplicación pero me daba un mensaje de error, al parecer faltaba un script para poder ejecutarla. Luego de una búsqueda exaustiva en la web, descubrí que hay que colocar una sentencia para que se pueda abrir la ventana deseada.

Hacer clic en File / Open, en el cuadro de abrir buscaremos en la caja Objects of Type seleccionamos Application, y debe aparecer nuestra aplicación (en mi caso se llama clase01, la seleccionamos y presionamos abrir, una vez hecho esto, agregaremos el siguiente script:

Clase01 / open

open(w_ventana01)

Voilá.

Nota en la captura que puse dice w_netana01 y deve decir w_ventana01 (un error de teclado sumado a la flojera de corregir el nombre)