Thank you all for your input into my problem. I have now settled on a solution using a combination of a keydown filter and a handler triggered on closeField.

In the field scripts:
on keydown thekey
  if theKey is in "01234567890-.," then --note comma added for MisterX
    pass keyDown
  end if
end keydown

on closeField
  checkFieldForValidNumbers(the id of me)
end closeField

And in the stack script:
on checkFieldForValidNumbers pfieldID
  put fld ID pFieldID into tdata
  put 0 into lineNum
  repeat for each line tline in tdata
    add 1 to lineNum
    if tline is not a number then
      beep
      Answer "Please ensure that all values are valid numbers."
      select line lineNum of field id pFieldID
      exit to top
    end if
  end repeat
end checkFieldForValidNumbers

I am assuming that the number() function will be OK with commas as decimal places in coutries where that is the norm, but I'm not really sure. Xavier, can you check that the scripts work OK for you please?

--
Michael J. Lew

Senior Lecturer
Department of Pharmacology
The University of Melbourne
Parkville 3010
Victoria
Australia

Phone +613 8344 8304

**
New email address: [EMAIL PROTECTED]
**
_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to