• Jueves 18 de Abril de 2024, 11:06

Autor Tema:  Funcion y validacion de datos...  (Leído 6774 veces)

Dark_1990

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Funcion y validacion de datos...
« en: Martes 30 de Junio de 2009, 23:53 »
0
Buenas a todos... soy un novato q estoy empezando con PB... el problema parece ser sencillo pero como apenitas estoy en eso se me esta haciendo dificil... Ya para muchos les parezca una bobada pero desde algo hay q comenzar...es q aun no tengo claro lo de la funcion y hacer la validacion de datos...Hize todo la ventana con todo lo q se pide pero ando algo enredado con algunas cosas... El asunto es el siguiente

1-Funcion que permita validar los tipos de datos que se puedan ingresar a un campo de texto

   - La funcion debe ser creada independientemente ( independientemente ....??????)
   - La funcion debe tener dos parametros de entrada: Valor y Tipo ambos tipo caracter (Eso lo entiendo)
   - El tipo debe ser N para numeros, L para letras y A para alfanumericos.
         Como creo esa funcion... q codigo va.

2- Ventana de ingreso de datos de una persona.

   - Los campos Nombre/apellido (25 caracteres) salario y sexo (1 caracter) y deben ser validados para q se permitan valores Alfanumericos, numericos y Alfabeticos.
   - Para esta validacion debe llamarse a la funcion creada desde el evento para conocer el tipo de dato ingresado.. (Perdido en eso... es q apenas gateo en PB)

De estar todos los datos correctos se debe desplegar (al presionar el boton aceptar ) NOMBRE, APELLIDO, SALARIO, DESCRIPCION DE SEXO Y LA FECHA DE NACIMIENTO
El boton limpiar debe habilitar la aplicacion para nuevo ingreso de datos y el cursor debe quedar en el campo Nombre.

En caso de ser incorrecto el esta tratando de introducir, de acuerdo al campo debe indicarse un mensaje  "TIPO DE DATO INCORRECTO" Desplegado en la parte inferior de la pantalla.

Necesito una ayuda urgente pq tengo q entregar eso.... el prof ni explico bien... aunq le meti mente a Google.. me rendi y encontre ese foro... y apenas esoy empezando.. Gracias por la ayuda q me puedan ofrecer con los codigos...

vmendoza

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Funcion y validacion de datos...
« Respuesta #1 en: Jueves 2 de Julio de 2009, 22:45 »
0
Ok, por lo que entiendo recien estas en pañales... no te dare todo ahora, pero si lo necesario para tengas nociones.

Power Builder es un Lengoaje de programacion orientado a objetos, asi que en cualkier objeto puede crearse una o mas funciones, pero a la vez existe un objeto funcion, el cual es global y eso es lo que kieren que crees. para ello una vez creado el workspace, cuando le des click en nuevo y seleccionas la pestaña PB Object encontraras uno que dice function, y es ahi donde debes de crear la funcion.

Este, directo te lleva a una ventana, donde pondras el nombre de la funcion los paramentros de entrada y e salida, y en la parte de abajo el codigo que va dentro de la funcion, OJO que no existe ningun objeto visual solo es el codigo.
Como indicas en tu pregunta, la funcion debe tener 02 parametros, pero directamente no retorna nada, pero ya depende de uno si desea retornar algun valor..., por ejemplo puedo retornar 0 cuando es un valor incorrecto, 1=Numerico, 2=Letras, 3=Alfanumerico, de esta forma controlas mejor tu funcion en cualquier parte... entoncess...

en los campos al momento de crear la funcion debe ir...
RETURN TYPE = INTEGER
FUNCTION NAME = mi_funcion (Aki puede ir el nombre que mas te paresca para la funcion. ejem. uf_validar, siempre es bueno usar los prefijos uf= User Function, si la funcion esta dentro de un objeto of=object function).
ARGUMENT TYPE = STRING y ARGUMENT NAME = as_valor (Este es para el primer argumento, el nombre de la variable es as_valor as=argumento tipo string)
ARGUMENT TYPE = CHARACTER y ARGUMENT NAME = ac_tipo (Para el segundo parametro)

------ hasta ahi hemos definido el nombre de nuestra funcion, cuantos paramentros tendra y si retornará algun valor. Ahora toca la parte del codigo que debe ejecutar la funcion para identificar que tipo es.

------ solo te dare pistas...

en el codigo iria:
/////////
integer li_ret  //li=Local Integer
choose case ac_tipo
   case 'N'
      if isnumber(as_valor) then
                   li_ret = 1  //Deciamos que si es 1 es numerico
                 else
                   li_ret = 0 // Aqui le indicas que el tipo datos es incorrecto, imaginemos que puseron letras, pero en el tipo
                                //te dicen q es nro, osea incongruente
                 end if
   case 'L'
      //Si es letra tienes que verificar si todos son letras que estan entre A a Z
                //Es cuestiond e hacer un recorrido por toda la cadena nada mas, y eliminar los espacios en blanco
               //Si tods la cadena es letra entonces
                 li_ret = 2
                // Sino
                li_ret = 0
   case 'A'
      //lo mismo q el anterior pero verificar tambien si es numero
                //Si cumple
               li_ret = 3
                //Sino
              li_ret = 0
   case else
           //Enviar mensaje indicando que la funcion no soporta otro tipo que no sea las 3 anteriores
               li_ret = -1
end choose

RETURN li_ret
//////Aki finalizaria la funcion/////////


Por ultimo en la ventana, en cada uno de los campos que te pida...
como todos seran Single Line Edit, por ahora .... cuando le daz el enter.. quiere decir en el evento modified ahi se debe de programar...

evento modified... del campo nombre, donde el campo se llame sle_nombre (Osea el obejto es un SingleLineEdit)

integer li_valret //valor que retornara la funcion que se creo
li_valret = mifuncion(sle_nombre.text,'L') //Aqui le indico que el valor que tenga el campo nombre debe ser solo letras,
                                                              //por tanto debe retornarme el valor de 2 segun nuestra funcion.
si li_valret=2 entonces
   // paso al siguiente campo
   // quiere decir que debo de enfocar el campo apellidos...
sino
 si li_valret=0 entonces
  //mensaje, datos incorrectos
 si li_valret=-1 entonces
  // la funcion no soporta otros tipos de datos
fin de si

Eso es lo que debe hacer en cada campo, dependiendo del tipo de dato

Espero que te ayude en algo... ps... no es bueno darte todo ok

Dark_1990

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Funcion y validacion de datos...
« Respuesta #2 en: Jueves 2 de Julio de 2009, 23:56 »
0
Tienes toda la razon, tampco espero q lo hagas todo... solo necesitaba un empujoncito... tengo q aprender por mi mismo... y cuando se necesita ayuda se pide... Gracias pana... ya me pongo a trabajar....