Autor Tema: Las aventuras con el ErrorProvider (VB.NET)  (Leído 9437 veces)

0 Usuarios y 1 Visitante están viendo este tema.

sicario

  • Visitante
Las aventuras con el ErrorProvider (VB.NET)
« : octubre 20, 2007, 08:14:58 am »
Hola amigos. Este post esta dedicado al entusiasta y emprendedor rcguillen Por su incomparable amabilidad al ayudar a los demas y por su particular forma de ver los problemas de otros como suyos. Me identifico mucho con este tipo de personas pues en la vida he comprobado que solo ese actitud propositiva te hace abrirte paso en el fascinante mundo del ASALARIADO. Si les contara cuantos problemas de otros he hecho mios y al final sin yo advertirlo más hadelante se ha convertido en una necesidad.. a la cual ya le tengo la solución y eso ha sido gratificante.. poder decir.. cuando vos vas.. yo ya vengo.. (negro ojala leas esto)


Bien, dicho lo anterior.. a lo que vinimos:

PROBLEMA:
Tengo una aplicación en la cual estoy difiniendo reglas de programación que facilitaran la producción de módulos y opciones de manera sencilla. Entre otros problemas que he ido solucionando esta el manejo del ERRORPROVIDER; bien la cosa se agrava un poco mas porque dicho manejo del errorprovider lo quiero hacer de una forma automatica.

¿Como tio ¤.§íĈÅRïð.¤?
Necesito crar una función que me lea todos los componentes propios en X o Y formulario en donde la propiedad MANDATORIO este seteada como TRUE me evalue si esta vacio o no. De tal forma que no me permita guadar la información a la BASE DE DATOS si alguno de aquellos campos mandatorios no esta debidamente llenado. La clase debe ser unica en mi proyecto y debe tener la capacidad de poder ejecutarse para cualesquiera de los formularios que pertenescan al proyecto y debe tener ademas la capacidad de unicamente evaluar mis propios controles que cumplan con dos requisitos.
 1-Que sea controles creados por mi persona
 2-Que la propiedad MANDATORIO este seteada como true

El ecepcional rcguillen. Planteandole lo anterior me hizo un bosquejo de como podría solucionar mi problema y me regaló este código:


Dim thiscontrol As Control
        For Each thiscontrol In Me.Controls
            If Len(thiscontrol.Text) = 0 Then
                ErrorProvider1.SetError(thiscontrol, "No puede quedar en blanco")
            Else
                ErrorProvider1.SetError(thiscontrol, "")
            End If
        Next


Dicho código probado con cajas de texto normales de .NET funciona a la perfección, sin embargo mis necesidades van mas alla de lo que actualmente hace dichas lineas de código.

PROBLEMAS ACTUALES:
Con el código anterior he creado una función que me permite en cualquier formulario activo de mi proyecto poder evaluar las cajas de texto existentes. Sin embargo la función con el código antes mencionado tiene la desventaja que unicamente me puede evaluar las propiedades STANDARES de un objeto léase (.text, .enable, .locked etc)

¿Como hago para que el codigo en cuestion pueda tener la capacidad de evaluarme la propiedad MANDATORIO?

Se que aqui hay varios programadores; pero pocos son los que ven como propios los problemas de otros. Yo seguire intentando pulir mi idea de manejo un tanto diferente del errorprovider  y si lo logro... pues lo compartire por si algun cybernauta tiene algo similar que desee hacer.

PD: Para los que no leyeron bien o no entendieron... No estoy interesado en manejar el error provider localmente en mis objetos. por la forma peculiar en que deseo utilizarlos












Desconectado tekun

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 3221
  • Han convertido mi casa en cueva de mercaderes!!!!
    • www.tekun.es
Re: Las aventuras con el ErrorProvider (VB.NET)
« Respuesta #1 : octubre 20, 2007, 09:50:14 am »
ni sabía del errorProvider x_x kasdadfjasdñdasfñasdfjasklñjfs

pero ahora si! ya lei y práctique, ahora lo que sucede es que no tengo chance de programar y ver como hacer lo que necesitas, por ahora, solo estare a la expectativa de tus aventuras, espero que haya mas mara interesada en tu proyecto, porque tiene un verdadero fundamento en trabajar bien y mejor.

entiendo lo que queres!, solo que todavía no doy opiniones, porque toy muy pollito en .Net y decirte una opinión puede serte muy graciosa porque muy probablemenete ya lo pensaste XD...

estare a la expectativa de tus aventuras. Saludos
lo difícil lo hago rápido, con lo imposible, casi siempre me tardo un poquito

Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: Las aventuras con el ErrorProvider (VB.NET)
« Respuesta #2 : octubre 20, 2007, 11:37:58 am »
Tenes que hacer una clase derivada de el control que queres manipular, por ejemplo una clase derivada de un textbox y luego tus textbox los definis como esa clase derivada que contiene la variable que queres chequear.

En el foreach vas a chequear la coleccion de tus clases no las estandar. :)

Desconectado rcguillen

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 2320
Re: Las aventuras con el ErrorProvider (VB.NET)
« Respuesta #3 : octubre 20, 2007, 11:47:48 am »
Muchas Gracias Sicario....pues como bien sabes ahi estamos para ayudar y pues es gratificante hacerlo y se q aqui hay otros q de igual forma estan atentos a los problemas de los otros y asi es como vamos formando esta comunidad.!!!

Me han llegado tus proyectos porque se salen del programador normal, tus proyecto van un paso mas aya de lo q cualquiera necesitaria y en este caso pues la palabra dinamico prevalece...

En cuanto al rollo q tienes pues la salida de rdoggsv me parece bastante bien es mas la voy a poner en practica y luego te comento como salgo con las pruebas...

Sicario segui poniendo retos...q solo asi aprendemos  :drinks:

Saludos
-:Rcguillen-NoMercy:-
-:Es inutil hacer cualquier cosa a prueba de tontos, porque los tontos son muy ingeniosos:-

Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: Las aventuras con el ErrorProvider (VB.NET)
« Respuesta #4 : octubre 20, 2007, 11:51:47 am »
Lo siento por no explicar porque no te puedo ayudar mucho mas pero me falto decir que no le hago a vb.net en c# le das a tu proyecto agregar clase y yo le puse por ejemplo mi_textbox.cs al nombre de la clase luego la editas

Código: [Seleccionar]
using System;
using System.Collections.Generic;
using System.Text;

namespace deleteme_sicario
{
    class mi_texbox : System.Windows.Forms.TextBox
    {
        public bool MANDATORIO;

        public mi_texbox()
        {
            this.MANDATORIO = false;
        }
    }
}

Este es el codigo de un textbox derivado, luego en el visual studio (supongo que ese usas) en la herramienta de controles a la izquierda te sale COMPONENTES NOMBRE_PROYECTO

Ahi tiene que aparecer el que acabas de definir  :thumbsup:

sicario

  • Visitante
Re: Las aventuras con el ErrorProvider (VB.NET)
« Respuesta #5 : octubre 20, 2007, 11:55:39 am »
gracias a los dos..
hoy como  las dos de la madrugada.. estaba pensando en eso.. pero agarre llave.. porque le he puesto otras cosillas.. luego lo publico.. y creo eso tambien me impidio ver mas alla.. de lo evidente... gracias..

Desconectado salvadoresc

  • Global Moderator
  • The Communiter-
  • *
  • Mensajes: 11652
  • Adobe Certified Expert en ACISEAPRENDE
    • Foro de Diseno - Pixeles al Desnudo
Re: Las aventuras con el ErrorProvider (VB.NET)
« Respuesta #6 : octubre 20, 2007, 03:57:02 pm »
que version de .net usas 2003 o 2005? me acuerdo que tengo un manual en el que se menciona el tema pero era en el 2003, al solo encontrarlo te lo subo  :dumb:
Awaken my child, and embrace the glory that is your birthright. Know that I am the Overmind; the eternal will of the Swarm.

haycoctelesamor.com

Desconectado tekun

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 3221
  • Han convertido mi casa en cueva de mercaderes!!!!
    • www.tekun.es
Re: Las aventuras con el ErrorProvider (VB.NET)
« Respuesta #7 : mayo 28, 2008, 06:08:57 pm »
eteeeee.............

lo resolviste ?¿?¿¿?  :angel:
lo difícil lo hago rápido, con lo imposible, casi siempre me tardo un poquito

Desconectado Juancho

  • The Communiter-
  • *
  • Mensajes: 1311
Re: Las aventuras con el ErrorProvider (VB.NET)
« Respuesta #8 : mayo 31, 2008, 02:04:24 pm »
ya lo solucionastes??? Es cierto una d las mejores soluciones es la q t dio rdoggsv. Aunq tengo una pregunta? xq la propiedad d tu control especificamente se llama MANDATORIO? No le podes poner text o no queres ponerle asi? Me entro esa duda??
<a href="http://www.gametracker.com/player/%7BAiPI%7DJuancho/94.127.17.72:11480/" target="_blank">
<img src="http://cache.www.gametracker.com/player/%7BAiPI%7DJuancho/94.127.17.72:11480/b_560x95.png" border="0" width="560" height="95" alt="" />
</a>

Desconectado tekun

  • -^- Elite Silver -^-
  • The Communiter-
  • *
  • Mensajes: 3221
  • Han convertido mi casa en cueva de mercaderes!!!!
    • www.tekun.es
Re: Las aventuras con el ErrorProvider (VB.NET)
« Respuesta #9 : mayo 31, 2008, 03:20:44 pm »
Aunq tengo una pregunta? xq la propiedad d tu control especificamente se llama MANDATORIO? No le podes poner text o no queres ponerle asi? Me entro esa duda??

al parecer ta bien ocupado el muchacho XD



por otro lado, me atrevere a responder tu pregunta juancho..... la propiedad mandatorio, nace de la necesidad de controlar la "validación correcta" de una caja de texto....en el ejemplo del control de sicario, esta propiedad en el control textBox, designa que esta caja de texto debe quedar debidabemente llena antes de guardar la información, por eso el nombre tan peculiar "mandatorio"....


ahora, yo pregunte que si lo había resuelto, prorque he creado una super, duper, extra califragilistica caja de texto, donde he conseguido realizar lo que a sicario impulso crear este post....
lo difícil lo hago rápido, con lo imposible, casi siempre me tardo un poquito

Desconectado Juancho

  • The Communiter-
  • *
  • Mensajes: 1311
Re: Las aventuras con el ErrorProvider (VB.NET)
« Respuesta #10 : mayo 31, 2008, 03:54:43 pm »
al parecer ta bien ocupado el muchacho XD



por otro lado, me atrevere a responder tu pregunta juancho..... la propiedad mandatorio, nace de la necesidad de controlar la "validación correcta" de una caja de texto....en el ejemplo del control de sicario, esta propiedad en el control textBox, designa que esta caja de texto debe quedar debidabemente llena antes de guardar la información, por eso el nombre tan peculiar "mandatorio"....


ahora, yo pregunte que si lo había resuelto, prorque he creado una super, duper, extra califragilistica caja de texto, donde he conseguido realizar lo que a sicario impulso crear este post....

Sigo sin entender bn esa propiedad y q es loq hac realment! Solo se q el creo su propio control, y q la propiedad que le creo a su control MANDATORIO es dond se guardad el texto, entonces es alli dond lo tiene q validad o q verdad?
<a href="http://www.gametracker.com/player/%7BAiPI%7DJuancho/94.127.17.72:11480/" target="_blank">
<img src="http://cache.www.gametracker.com/player/%7BAiPI%7DJuancho/94.127.17.72:11480/b_560x95.png" border="0" width="560" height="95" alt="" />
</a>

Desconectado rdoggsv

  • Administrator
  • The Communiter-
  • *
  • Mensajes: 6530
  • "Once you go arch , u never go back"
    • SV CommunitY
Re: Las aventuras con el ErrorProvider (VB.NET)
« Respuesta #11 : mayo 31, 2008, 05:54:15 pm »
Sigo sin entender bn esa propiedad y q es loq hac realment! Solo se q el creo su propio control, y q la propiedad que le creo a su control MANDATORIO es dond se guardad el texto, entonces es alli dond lo tiene q validad o q verdad?

la propiedad mandatorio seria segun entiendo la voluntad de sicario para tener un textbox que debe de contener algo, aunque en realidad desde mi punto de vista lo haria poniendo una expresion regular en el control o algo parecido para validar que debe de tener.

Desconectado Juancho

  • The Communiter-
  • *
  • Mensajes: 1311
Re: Las aventuras con el ErrorProvider (VB.NET)
« Respuesta #12 : junio 01, 2008, 05:45:29 pm »
mmm si yo tampoco entiendo muy bien porque lo hizo asi, pero bueno ya no contesto si lo soluciono o no??
<a href="http://www.gametracker.com/player/%7BAiPI%7DJuancho/94.127.17.72:11480/" target="_blank">
<img src="http://cache.www.gametracker.com/player/%7BAiPI%7DJuancho/94.127.17.72:11480/b_560x95.png" border="0" width="560" height="95" alt="" />
</a>