[C con Clase] [Bulk] sobre wxwidgets, wxtextctrl y manejo de datos numericos

Pedro Mateo pedromateoa en gmail.com
Mar Oct 2 21:42:12 CEST 2007


gracias
ya creo que voy saliendo a camino
el problema que tenia es que los objetos que intento validar estan sujetos a
un wxpanel y no a la ventana misma
cuando los sujete a la ventana ya se activan


El día 2/10/07, david perez juanma <zelion_cracking en yahoo.es> escribió:
>
> Hola Pedro.
> Ten encuenta que WxWidgts es un wrapper, con lo que trabaja por encima de
> la api, esto quiere decir que a veces tendras que acceder a la api del SO
> para realizar algunas cosas delicadas, yo lo he tenido que hacer bastantes
> veces ya que los controles aunque muy completos, no tienen toda la
> funcionalidad de la api, es el problema de trabajar con librerias de mas
> alto nivel, muchas veces tendras que escribir tus propios controles que se
> adapten a tus necesidades.
>
> ten encuenta que esta libreria es gratuita, y aunque cuenta con una
> comunidad muy grande que colabora con ella siempre tendra sus limitaciones,
> por ejemplo qt es mas completa pero tambien es de pago.
>
> No obstante te puedo decir que yo personalmente he podido realizar todo lo
> que he querido, aunque haya tenido que recurrir a bajo nivel de
> programacion. Lo bueno que tiene el ser un wrapper es que siempre puedes
> mezclar codigo de la api de windows(en SO win32) e incluso vincularlo con
> codigo ensamblador. Asi que no te desesperes, que en estos casos es donde se
> aprende a programar y las posibilidades que te ofrecen ciertas herramientas.
>
> Aqui te dejo un codigo que he encontrado por la wiki sobre el
>
> TransferToWindow, que seguro te dara alguna idea.
>
>
> http://www.wxwindows.org/wiki/index.php/WxValidator
>
> por lo que he podido ver, hay que trabajar con la variable
> m_validatorWindow.
> De todas formas con el metodo cout dudo que puedas hacer algo ya que usa
> la salida standard de C++ y wxWidgets aunque esta escrito en C++ es un
> wrapper de la api del SO, y tienes que tener en cuenta que no es lo mismo
> realizar una aplicacion de consola que una de win32 (para windows)
>
> si tienes alun problema con el codigo no dudes en preguntarlo.
>
> *Pedro Mateo <pedromateoa en gmail.com>* escribió:
>
> jejejejeejje
> gracias Zelion
> tendre que ponerme en eso
> no queria pero
> que se le va a hacer
>
> me pondre en en eso cuando termine de entender lo de los wxvalidator
> y me gustaria hacerte unas preguntas
>
> si creas una clase que herede de  wxvalidator y le asignas dicha clase a
> un objeto de wxtextctrl
> implementando todo los metodos como se muestra en esta definicion
>
> class float_validatorC : public wxValidator
>
>  {
>      float* val;
>  public:
>      float_validatorC(float* val);
>      wxObject* Clone() const;
>      bool TransferFromWindow();
>      bool TransferToWindow();
>      bool Validate(wxWindow* parent);
>   };
>
> que el metodo TransferToWindow del validador debe ejecutarse cuando
> ejecuto
> TransferDataToWindow de la ventana ?
>
> le pongo en el metodo TransferToWindow del validador esta linea
> cout<<"paso por aqui"<<endl;
> y no pasa
>
>
>
> El día 2/10/07, ZeLion <Zelion_cracking en yahoo.es> escribió:
> >
> >  Hola Pedro.
> >
> > Una clase que realice lo que quieres expresamente, no hay, ya que no se
> > puede seguir un Standard, asi que lo que tienes que hacer es como dices usar
> > un validator para crearlo a tu gusto.
> >
> > ¿Mira haber si puedes hacer algo como esto?
> >
> >  // crear un validador
> >  wxTextValidator validador(wxFILTER_INCLUDE_CHAR_LIST);
> >
> >  wxArrayString mascara ("1234567890.");
> > wxTextValidator validador (*wxFILTER_INCLUDE_CHAR_LIST*);
> > validador.SetIncludes(mascara);
> >
> > con esto solo te deberia dejar insertar numeros y el punto.
> >
> > Y luego en el evento 'wxTextValidator::OnChar' detectar si el carácter
> > introducido es '.' (punto) y este ya esta puesto, que no se inserte, ya que
> > solo puede haber un punto.
> >
> > Ya me contaras.
> >  .: ZeLion :.
> >   ------------------------------
> >  *De:* cconclase-bounces en listas.conclase.net [mailto:
> > cconclase-bounces en listas.conclase.net] *En nombre de *Pedro Mateo
> > *Enviado el:* lunes, 01 de octubre de 2007 16:11
> > *Para:* Lista de correo sobre C y C++
> > *Asunto:* [Bulk] [C con Clase] sobre wxwidgets,wxtextctrl y manejo de
> > datos numericos
> >
> > hola a todos
> >
> > *(atencion zelion, roberto garrido y cualquier otro que me pueda
> > ayudar!)*
> >
> > tengo entendido que hay miembros de la lista que manejan wxwidgets
> > tengo un problema y es que necesito que wxtextctrl me maneje datos
> > numericos
> >
> > se como filtrar para que me tome numeros
> > pero esto no significa que el objeto controle la entrada como una
> > entrada de numeros
> > me explico
> >
> > cuando le asigno un wxTextValidator a wxTextCtrl especificandole que me
> > tome
> > solo numeros, me permite entradas como esta
> > 000045e34.3e2.,654..,,.454
> >
> > y esto no es un numero
> > necesito poder controlar la entrada de datos  de manera que entren
> > numeros reales
> > asi como poder controlar la cantidad de decimales y digitos de la parte
> > entera de los numeros
> > para evitar overflow de tipos numericos
> >
> > puedo ponerme a inventar una solucion pero me rehuso a creer que que
> > wxwidgets no tiene
> > una solucion para este tipo de problema
> >
> >
> >
> > _______________________________________________
> > Lista de correo Cconclase Cconclase en listas.conclase.net
> > http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> >
> > Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
> >
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
>
>
>
> .:ZeLion:.
>
> ------------------------------
>
> Sé un Mejor Amante del Cine
> ¿Quieres saber cómo? ¡Deja que otras personas te ayuden!
> <http://us.rd.yahoo.com/mail/es/tagline/beabetter/*http://advision.webevents.yahoo.com/reto/entretenimiento.html>
> .
>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20071002/c8900a39/attachment.html>


Más información sobre la lista de distribución Cconclase