Just working on some validators for text fields, and I started getting unusual errors -
File "C:\Python23\lib\site-packages\PythonCard\components\textfield.py", line 338, in _dispatch
widget.Widget._dispatch(self, aWxEvent)
File "C:\Python23\lib\site-packages\PythonCard\widget.py", line 402, in _dispatch
handler(background, aWxEvent)
File "C:\Python23\SEDB\generic.py", line 53, in on_keyPress
elif len(eventSourceWidget.text) >= self.restrictions[eventSourceWidget.name]['length'] or not self.isOK(eventSourceWidget.name, event.keyCode):
File "C:\Python23\SEDB\generic.py", line 69, in isOK
xR = self.integerRE.search(chr(keyCode))
ValueError: chr() arg not in range(256)
(And yes, I know wxPython has validators already, I was 90% through mine when I found them, and so I'll finish off the last 10% out of stubborn pride.)
For the life of me, I couldn't figure out what was happening, so I stuck in a try clause.
*******
Oops
keyCode = 333
Widget = dateBooked
*******
*******
Oops
keyCode = 332
Widget = dateBooked
*******
I was entering numeric data, and as I do a lot of data entry at work, by default I use the numeric keypad, so I guess I just found that extended ASCII stuff. Is there a easy way around this with chr()?
Or is it a case of making my own keycode to character dictionary? I'm feeling lazy at the moment.
Regards,
Liam Clarke
--
'There is only one basic human right, and that is to do as you damn well please.
And with it comes the only basic human duty, to take the consequences.
_______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor