Jan Schenkel janschenkel at
Thu Sep 26 07:49:01 EDT 2002

Hi Bob,

I was going to save this for a stack of template
fields, but here it goes:

--- Field script for a numeric field

local sBeforePaste

on keyDown pWhichKey
  put the selectedChunk into tChunk
  put word 2 of tChunk into tStart
  put word 4 of tChunk into tStop
  if tStart > tStop -- no actual selection 
    put (char 1 to tStop of me) & pWhickKey \
    into tCheck
    if length(me) > theStart then
      put (char tStart to -1 of me) after tCheck
    end if
    put (char 1 to tStart - 1 of me) & pWhickKey \
    into tCheck
    if length(me) > theStop then
      put (char tStop + 1 to -1 of me) after tCheck
    end if
  end if
  if tCheck is a number then pass keyDown
  else beep
end keyDown

-- Reformat upon leaving the field

on closeField
  send "formatField" to me in 5 milliseconds
end closeField

on formatField
  put (me) into tNumber
  put format("%16.3f, tNumber) into tFormatted
  repeat while char 1 of tFormatted = " "
    delete char 1 of tFormatted
  end repeat
  put tFormatted into me
end formatField

-- Handle pasting of text in this field
-- NOTE : doesn't work when Rev UI is ON

on pasteKey
  put (me) into sBeforePaste
  send "checkAfterPaste" to me in 5 milliseconds
  pass pasteKey
end pasteKey

on checkAfterPaste
  put (me) into tAfterPaste
  if tAfterPaste is not a number then
    put sBeforePaste into me
  end if
end checkAfterPaste


Hope this helped,

Jan Schenkel.

"As we grow older, we grow both wiser and more foolish
at the same time."  (De Rochefoucald)

--- Robert Presender <rpresender at> wrote:
> Appreciate any  suggestions that would replace the
> following script, 
> that I used in SuperCard, to one in Revolution. 
> Want to enter only 
> certain chars into a field.
> on openField
>    set the numberFormat to "0.000"
>    keyInField theKey
>    add 0 to me
> end openField
> on keyInField theKey
>    set allowKeyInField to true
>    if theKey is in "0123456789." or
> charToNum(theKey) = 8 then pass 
> keyInField
> end keyInField
> Regards ... Bob
> _______________________________________________
> use-revolution mailing list
> use-revolution at

Do you Yahoo!?
New DSL Internet Access from SBC & Yahoo!

More information about the Use-livecode mailing list