En este post veremos las estructuras condicionales If…Then… EndIf asi como la estructura Choose Case y sus posibles usos en nuestra aplicación, tambien los diferentes bucles que maneja power builder. A continuación crearemos un conjunto de aplicaciones que muestran la importancia de estas estructuras.

Código fuente de la aplicación
Script Clicked para el botón Evaluar
string nombre,turno,categoria /*Asignamos los valores a las variables*/ turno=ddlb_turno.text categoria=ddlb_categoria.text If nombre<>"" or turno<>"" or categoria<>"" Then if turno="D" then if categoria="A" then st_sueldo.text=string(1100,"#,###.00") ElseIf categoria="B" then st_sueldo.text=string(1000,"#,###.00") else st_sueldo.text=string(800,"#,###.00") end if else if categoria="A" then st_sueldo.text=string(1600,"#,###.00") ElseIf categoria="B" then st_sueldo.text=string(1200,"#,###.00") else st_sueldo.text=string(1000,"#,###.00") end if end if Else Messagebox("Mensaje","Ingrese los datos correctamente") sle_nombre.setfocus( ) End if
Script Clicked para el botón Nuevo
sle_nombre.text="" ddlb_turno.text="" ddlb_categoria.text="" sle_nombre.setfocus( ) Script Clicked para el botón Salir int respuesta respuesta= MessageBox("Sistema","¿Está seguro de salir del Sistema?",Question!, YESNO!, 1) If respuesta=1 then close(w_estructuras) Else sle_nombre.setfocus( ) End if

Código fuente de la Aplicación

Script Clicked para el boton Aceptar
string nombre,turno,categoria /*Asignamos los valores a las variables*/ turno=ddlb_turno.text categoria=ddlb_categoria.text If nombre<>"" or turno<>"" or categoria<>"" Then if turno="D" then if categoria="A" then st_sueldo.text=string(1100,"#,###.00") ElseIf categoria="B" then st_sueldo.text=string(1000,"#,###.00") else st_sueldo.text=string(800,"#,###.00") end if else if categoria="A" then st_sueldo.text=string(1600,"#,###.00") ElseIf categoria="B" then st_sueldo.text=string(1200,"#,###.00") else st_sueldo.text=string(1000,"#,###.00") end if end if Else Messagebox("Mensaje","Ingrese los datos correctamente") sle_nombre.setfocus( ) End if

Código fuente de la aplicación
Script Clicked para el boton Calcular
integer mes string msg mes=integer(sle_mes.text) choose case mes case 1 to 3 msg="Verano" case 4 to 6 msg="Otoño" case 7 to 9 msg="Invierno" case 10 to 12 msg="Primavera" case else messagebox("Error","El mes No existe") st_estacion.text="" sle_mes.text="" end choose st_estacion.text=string(msg)

Código fuente de la aplicación
Bucle For
Boton Llenar Numeros(For)
/*Llenar numeros con For al control ListBox*/ lb_lista.reset() If sle_numero.text <> "" Then int numero, index numero=integer(sle_numero.text) For index=0 To Numero lb_lista.additem(String(index)) Next Else 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, index numero=integer(sle_numero.text) For index=1 To numero suma+=index Next String Msg Msg="La suma de los " + string(numero) + " primeros numeros es: " + string(suma) Messagebox("Suma con Bucle For",Msg)
Bucle Do While
Boton 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 loop Messagebox("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() int numero, limite numero=integer(sle_numero.text) do limite+=1 lb_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+=1 suma+=limite loop while limite<numero Messagebox("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ón
Boton Llenar
n=integer(sle_numero.text) integer i,n lb_lista.reset() if rb_par.checked=true then for i=2 to n step 2 lb_lista.additem(string(i)) next elseif rb_impar.checked=true then for i=1 to n step 2 lb_lista.additem(string(i)) next end if
Boton N° Primo
integer i,n,cn=integer(sle_numero.text) lb_lista.reset() c=0 for i=1 to n if mod(n,i)=0 then c=c+1 lb_lista.additem(string(i) + ' ' + " " + string(mod(n,i))) end if next if c=2 or c=1 then st_primo.text=" Es Primo" else st_primo.text="No Es Primo" end if
Para ejecutar nuestras aplicaciones debemos utilizar la instrucción open(Nombre_de_la_Aplicacion)


admin Under
Tags: 

muchas gracias , me sirvio muchooo
hola me gustaria saber que codigo debo implementar para sumar datos de un listbox io trate de implementar estas lineas por favor me gustaria que me ayudes a modificarlo ya que no funciona
integer i,j
j= integer(st_12.text)-1
string msg
For i = 0 To j
total+= double(lb_1.text(i))
Next
st_4.text=string (total)
buenisimo el tema gracias
chevere