--- On Mon, 11/29/10, Monte Goulding <mo...@sweattechnologies.com> wrote: > Hi Charles > > I'm a little confused about your requirements. Did you want > to allow decimals or not? Here's some code copied from one > of my behavior scripts. You only need to modify the one > function to impose whatever data entry limits you like: > > on keydown pKey > if checkText(getNewText(pKey)) then > setNewText pKey > else > beep 1 > end if > end keyDown > > on pasteKey > if checkText(getNewText(the > clipboardData["text"])) then > paste > else > beep 1 > end if > end pasteKey > > # This is the only function you need to change to vary the > acceptable data entry > private function checkText pText > return pText is an integer > end checkText > > private function getNewText pNewChars > local tEndChar,tStartChar,tText > put word 2 of the selectedchunk of me > into tStartChar > put word 4 of the selectedchunk of me > into tEndChar > put the text of me into tText > put pNewChars into char tStartChar to > tEndChar of tText > return tText > end getNewText > > private command setNewText pNewChars > local tEndChar,tStartChar,tText > put word 2 of the selectedchunk of me > into tStartChar > put word 4 of the selectedchunk of me > into tEndChar > put pNewChars into char tStartChar to > tEndChar of me > end setNewText > > Cheers > > Monte >
Don't forget dragDrop :-) Seriously, this is an old question that keeps coming back, and a prime candidate for either an engine-level field "mask", or a community effort to write a behavior script that handles the corner cases and is readily available for download. A bit of searching turned up bits and pieces as far back as 2002 in my archives, but the combination of these two emails seems to do the trick: <http://lists.runrev.com/pipermail/use-livecode//2002-October/008411.html> <http://lists.runrev.com/pipermail/use-livecode//2003-September/022375.html> (best to follow these links, as it looks like the post-rename archives are slightly misaligned) While it does a bit too much for Charles' use case (formatting number for display) the underlying logic is sound. Thanks to Ken Ray for writing the RegEx back in 2002 to split a number into a sign, integer and decimal part. <http://lists.runrev.com/pipermail/use-livecode//2002-September/008030.html> Jan Schenkel. ===== Quartam Reports & PDF Library for LiveCode www.quartam.com ===== "As we grow older, we grow both wiser and more foolish at the same time." (La Rochefoucauld) _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode