[comp.sys.mac.hypercard] Finishing a Field?

urban@spp2.UUCP (Michael Urban) (01/21/88)

In my Esperanto Course stack (available on CIS and submitted for
comp.binaries.mac; can someone send me email with suggestions for
further dissemination?), I have several cases in which the student
must type text into a field, which is "then" processed by 
the card in some way.  The problem is, how can I recognize
that processing is to begin?  

My current solution is that the user must "hit ENTER twice"; the
first Enter "closes" the field (finishes type-in) and the second one
then can be caught by the card to begin processing.  This is annoying
(except on old keyboards, where Enter is fairly convenient).
Providing a button to perform the operation (as in the HyperMacinTalk
stack) may be slightly better, but requires hand movement off the
keyboard, which is annoying in some cases in which several such
type-ins take place consecutively.

The best solution would be to catch a single RETURN, but (although
these fields are only one line), HyperCard evidently doesn't provide
any event when such a key event occurs; it is part of the text field
processing.

Have I missed something important?  Is there an easy way to do this?
A hard, but well-known way?

By the way, I got bitten MANY times in this stack by HyperCard's
idiosyncratic idea of where to break lines (between a parenthesis and
the following word???).  Maybe text fields should have a "break on
white space only" option that you can select; this would maintain
backward compatibility while allowing fields that "do the right
thing".  Hrumph!


-- 
   Mike Urban
	...!trwrb!trwspp!spp2!urban 

"You're in a maze of twisty UUCP connections, all alike"