textbox, sacar Retorno de carro o enter...

FERNANDO VILLARROEL fvillarroel en yahoo.com
Lun Ene 24 12:22:59 CET 2005


Hola yo trataria con lo siguiente:

EVT_TEXT_ENTER(.........

Aca controlas cuando pulsen enter en tu text_ctrl y
luego validas que lo que esta dentro sea numerico por
ejm:

try:
   a=int(self.text_ctrl_1.getvalue())
   ....
   ....
except ValueError:

   wxMessageBox("El valor ingresado no es Numerico")
   self.text_ctrl_1SetValue("")
   self.text_ctrl_1.SetFocus()

Ves aca utilizo la funcion int para obtener al dato
numerico y si no lo es lo controlo mediante el
tratamiento de excepciones...

Suerte

--- Ariel Nardelli <pan_python en yahoo.com.ar> wrote:

> Hola!
> 
> Tengo un  wxTextCtrl donde ingreso basicamente
> numeros, pero esoy con el 
> problema que al pulsar el Intro (o sea el enter del
> telcado numerico) me 
> pasa con caracter 13 pero me agrega en la variable
> el caracter del enter 
> que es invisible y no puedo sacarlo y no se como
> hacer para evitar que 
> se me meta en la variable...
> 
> Uso Python + wxwin en Debian.
> 
> Este es mi codigo, aca lo defino...
> 
>         self.tc_ncon = wxTextCtrl(self, 1, "", 
> style=wxTE_PROCESS_ENTER|wxTE_PROCESS_TAB)
>         self.tc_ncon.SetToolTipString("Introduzca el
> Nro de Contrato a 
> procesar")
> 
>         # TB_ncon
>         EVT_TEXT(self, 1,self.funciontex)
>         EVT_CHAR(self.tc_ncon, self.funcionkey)
>  
> y las funciones..
> 
>     # Funcion de prueba de teclado. Esta es para
> probar como imprime 
> nomas...
>     def funciontex(self,event):
>         key = event.GetString()
>         print key,len(key)
>         return
>        
>     def funcionkey(self,event):
>         deja = '0123456789'
>         key = event.GetKeyCode()
>         print key
>         if key == 9:  # Tecla TAB Pasa foco al
> boton.
>             self.bbuscar.SetFocus()
>             event.Skip()
>             return
>         if key == 13: # Enter directamente busca el
> dato
>             event.Skip()
>             self.rutbuscar()
>             return
>         if key < WXK_SPACE or key == WXK_DELETE or
> key > 255:
>             event.Skip()
>             return
>         if chr(key) in deja:
>             event.Skip()
>             return
>         return
>  
> 
> Asi filtro que solo se me ingrese numeros sin signo
> - ni . ni , pero no 
> logro sacarme de encima el enter, pero aunque pusle
> el enter se me 
> ejecuta lo que esta bajo el key == 13 eso me
> funciona pero ademas "me 
> agrega" el caracter dentro de la variable, lo se
> porque al pusar enter 
> el len de la variable me suma uno mas, evidentemente
> me esta metiendo el 
> caracter dentro de la variable.
> 
> Si alguien puede darme una manito se lo voy a
> agradecer!!!
> 
> Ariel
> 
> -- 
> Saludos
> Panflin
> 
> NO al limite de adsl de TELECOM
> Firma YA el petitorio NACIONAL para que TELECOM no
> nos estafe con el limite del ADSL, la direccion es:
> http://peticionbandaancha.com/
> 
> www.reconquista.com.ar
> 
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
> 



		
__________________________________ 
Do you Yahoo!? 
Meet the all-new My Yahoo! - Try it today! 
http://my.yahoo.com 
 

------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


Más información sobre la lista de distribución Python-es