Thomas Koenig tomkoenig@mindspring.com wrote:
I have a number of places in the code that look something like this: [id _ (FillInTheBlankMorph request: 'Enter the id of the post you''d like to jump to:' translated) asNumber ] on: Error do: [ self inform: 'That is not a valid number.' translated. ^ nil ]. Yet no mater what I key into the morph I don't trigger an error (don't see the error message.) Is there a good argument for keeping the error block? If so can you suggest an test condition that would trigger it.
I'm inclined to remove this code, because it appears to add only complexity.
I've played around with String>>asNumber. Here's what I find:
'1' asNumber -> 1 'a' asNumber -> 'Error: At least one digit expected here' '1a' asNumber -> 1 '%' asNumber -> 'Error: At least one digit expected here' '16rff' asNumber -> 'Error: At least one digit expected here' '16rFF' asNumber -> 255
Personally, I'd prefer to see something like
id := FillInTheBlankMorph requestNumber: 'foo' translated
where #requestNumber: would do one of the following: * re-asked the user until they entered a valid number * prevented the user entering anything other than a valid number (by highlighting the text as red if it's invalid, or not letting the user enter certain characters like )(&^%$"!# etc)
Now, I'm not sure what #requestNumber should return if the user presses cancel. Maybe #requestNumber: should do this
requestNumber: aString ^self requestNumber: aString default: nil
and #requestNumber:default: then returns some default value if the user presses cancel.
frank
******************************************************************* This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. Any views or opinions expressed are solely those of the author and do not necessarily represent RNID policy. If you are not the intended recipient you are advised that any use, dissemination, forwarding, printing or copying of this email is strictly prohibited. If you have received this email in error please notify the RNID Helpdesk by telephone on: +44 (0) 207 296 8282. The Royal National Institute for Deaf People Registered Office 19*23 Featherstone Street London EC1Y 8SL No. 454169 (England) Registered Charity No. 207720 ********************************************************************
squeak-dev@lists.squeakfoundation.org