|
Página 1 de 1
|
Intentando Comprobar Los Valores De Los Controles
Autor |
Mensaje |
lumbanico
Usuario
Registrado: Septiembre 2009
Mensajes: 23
Edad: 47
|
Intentando Comprobar Los Valores De Los Controles
Hola a todos.
Mis conocimientos en programación son bastane básicos y los utilizo a nivel personal. Hasta ahora programaba con Visual Basic y en mi intento de pasarme al software libre gambas ha sido un factor determinante. La cuestión es la siguiente: en VB utilizaba la siguiente función que recorre todos los controles del formulario y comprueba que tiene valor, de no ser así avisa. El problema es que en gambas no soy capaz de que funcione. ¿Alguien conoce alguna función que compruebe de forma genérica los valores de los controles?.
Saludos y muchas gracias.
|
#1 Domingo, 27 Diciembre 2009, 13:15 |
|
|
soplo
Analista Programador
Registrado: Septiembre 2009
Mensajes: 843
Edad: 44
|
Re: Intentando Comprobar Los Valores De Los Controles
¿Te refieres a esto?
Pero te sugiero que en vez de hacer esto lo que hagas es una rutina que compruebe que los valores introducidos son válidos. No vale con que metan una fecha, debe ser fecha válida y si hay un desde y un hasta el desde debe ser anterior a hasta y cosas así.
En esa comprobación una de las cosas que miras es que el control tenga un contenido adecuado no solo que tenga algo o no.
Otra cosa (por dar ideas) es que en vez de utilizar el tag te crees una propiedad a tu medida que sea de tipo boleano. Te pongo un ejemplo en el que construyo un textbox que tiene además una propiedad "Obligatorio" que puede valer true o false.
La clase NuevoTextBox
inherits textbox 'crear un control nuevo basado en textbox con todas sus cualidades
private $Obligatorio as boolean 'variable que usaré para trabajar con esta propiedad dentro de la clase
property Obligatorio as boolean 'al crear la propiedad se crean los métodos read y write que te pongo seguido
private sub Obligatorio_Read() 'esta rutina devuelve lo que valga la propiedad
return $Obligatorio
end
private sub Obligatorio_Write(value as boolean) 'esta rutina acepta el valor que le das a la propiedad
$Obligatorio=value
end
Y con esta clase presente en tu proyecto ahora lo que haces cuando quieres usarlo es
public sub form_open()
Dim T as new NuevoTexBox(me) 'me es el formulario donde quieres crearlo
t.top=100
t.left=100
t.text="prueba"
t.width=200
t.height=80
t.Obligatorio=true 'aquí está tu nueva propiedad.
end
Como ves crearte propiedades "a medida" es muy simple y es una gran funcionalidad. Por ejemplo te puedes crear un textarea que tenga propiedad lenght,
última edición por soplo el Domingo, 27 Diciembre 2009, 21:24; editado 1 vez
|
#2 Domingo, 27 Diciembre 2009, 21:22 |
|
|
nrcefe
Aprendiz
Registrado: Septiembre 2009
Mensajes: 88
Ubicación: Entre Rios, Argentina
|
Re: Intentando Comprobar Los Valores De Los Controles
yo uso la version 2.18, y probando el codigo me encontre con varios errores.
1) la propiedad tag por defecto es de tipo string, por lo tanto >>> InStr(ctl.Tag, "Campo obligatorio") <> "", vos pusiste : <> 0
2) me generaba un error en las lineas donde figuraba ctl.BackColor = RGB (X,X,X) , tenes que anteponer la palabra "Color." a RGB, te deberia quedar así : ctl.BackColor = Color.RGB (X,X,X)
3) el otro mensaje de error me lo daba en el if en ctl = vbNullString , probá con ctl=null
saludos
|
#3 Domingo, 27 Diciembre 2009, 21:37 |
|
|
lumbanico
Usuario
Registrado: Septiembre 2009
Mensajes: 23
Edad: 47
|
Re: Intentando Comprobar Los Valores De Los Controles
Hola y gracias por la rápida respuesta, pero el código que has posteado no funciona. Me indica que para el control no se conoce la propiedad "Text" - " Unknown symbol 'Text' in class 'Control'" -. ¿ Lo habéis probado vosotros ?.
Yo estoy trabajando con gambas 2.18 bajo Ubuntu 9.10.
Saludos y gracias.
|
#4 Lunes, 28 Diciembre 2009, 12:39 |
|
|
soplo
Analista Programador
Registrado: Septiembre 2009
Mensajes: 843
Edad: 44
|
Re: Intentando Comprobar Los Valores De Los Controles
Hola
Efectivamente he comprobado que que el objeto control no tiene propiedad text, razón por la que no te funciona ese código. La solución es utilizar también un object que si lo tiene.
Aún así podrías tener problemas porque no todos los objetos admiten la propiedad text. Si por ejemplo le pones el tag de campo obligatorio a un gridview que no tiene propiedad text entonces cuando llegue a mirar si el text del gridview está o no vacío obtendrás un error que podrás corregir con un catch.
Otra opción es que compruebes la clase del objeto que estas mirando a ver si es un textbox, label o lo que sea para que preguntes por su contenido adecuadamente..
Como saber que tipo de control tengo
Un saludo
última edición por soplo el Lunes, 28 Diciembre 2009, 20:53; editado 1 vez
|
#5 Lunes, 28 Diciembre 2009, 20:53 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 1
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas No puede adjuntar archivos Puede descargar archivos No puede publicar eventos en el calendario
|
|
|
|
|