que me recomiendan
Chema Cortés
ch3m4 en ch3m4.org
Lun Ago 18 10:18:21 CEST 2003
Miguel B escribió:
> Un programa que tengo en VB6 + MS Access lo quiero pasar a wxpython + postgresql. En estos momentos tengo un modulo donde capturo varios campos para guardarlos en la BD, donde al introducir los datos voy validando, las dudas son
Aunque no tengo demasiada experiencia con wxPython,...
> 1.- como se les hace esto o me recomiendan otro forma?
>
> def OntxtCapturoChar(self, event):
> key=event.GetKeyCode()
> if key in range(256):
Con este 'if' te estás eliminando el resto de códigos "no-ascii",
llamados códigos virtuales. Entre éstos están los movimientos del
cursor, y es por eso que no te funcionan.
> #if para pasar al siguiente campo
> if key ==13 :
> self.txtFecha.Enable(true)
> self.txtFecha.SetFocus()
> self.txtCapturo.Enable(false)
> #if para validar solo numeros
> elif (key >= 48 and key <= 57):
> #agrego el caracter al campo
> self.txtCapturo.AppendText(chr(key))
> #if para permitir el backspace
> elif key==8:
> event.Skip()
Te propongo éste cambio (no lo he probado :-S )
def OntxtCapturoChar(self, event):
key=event.GetKeyCode()
#if para pasar al siguiente campo
if key==wx.WXK_RETURN :
self.txtFecha.Enable(true)
self.txtFecha.SetFocus()
self.txtCapturo.Enable(false)
#if para validar solo numeros
elif ord('0')<=key<=ord('9')):
#agrego el caracter al campo
self.txtCapturo.AppendText(chr(key))
#if para permitir el backspace
elif key==wx.WXK_BACK:
event.Skip()
#if para permitir códigos virtuales
elif key > 256:
event.Skip()
Los dos últimos 'elif' se pueden combinar en uno sólo.
>
> 2.- pero si quiero mover el cursor con las flechas no se mueve, como le puedo hacer para hacerlo?
>
> 3.- En VB podia hacer arrglos de controles, se puede tambien en python?
Las colecciones del VB las puedes implementar con listas. El uso del
'for' del python sería idéntico al 'for each' del VB.
Más información sobre la lista de distribución Python-es