[comp.sys.mac.hypercard] Problems with hypercard fields?

eacelari@phoenix.Princeton.EDU (Edward A Celarier) (05/08/90)

Hello.
I am having some problems with Hypercard (probably the most recent version, 
since it was recently acquired), running on a Mac IIci.  Seems the problems
have something to do with fields.  Here goes:

I have a field on a card, which has a symbol for a chemical element.  Other 
cards have a field called AtSy, which has some symbol, which is to be 
matched.  So I have, in the field script (using field as a button!)

	find me in field AtSy

This usually works.  Notable exception:  When a card somewhere down the 
line in the stack (searched before the desired card is found) has that 
symbol (e.g. At  or I ), then find settles on that card, even though that 
text is not in the right field!  Apparently the search restriction to the 
named field is not taking.

Second problem is that send farther and bring closer don't work with my 
fields.  Neither the tabbing order nor the overlap order of the fields 
changes.  

Is it me, or is it a hypercard bug?

Please reply to:

	Celarier@Cebaf2.Cebaf.Gov  (Edward A. Celarier)

Thank you much!

jdevoto@Apple.COM (Jeanne A. E. DeVoto) (05/08/90)

In article <16107@phoenix.Princeton.EDU> eacelari@phoenix.Princeton.EDU
(Edward A Celarier) writes:
>I have a field on a card, which has a symbol for a chemical element.  Other 
>cards have a field called AtSy, which has some symbol, which is to be 
>matched.  So I have, in the field script (using field as a button!)
>
>	find me in field AtSy
>
>This usually works.  Notable exception:  When a card somewhere down the 
>line in the stack (searched before the desired card is found) has that 
>symbol (e.g. At  or I ), then find settles on that card, even though that 
>text is not in the right field!  Apparently the search restriction to the 
>named field is not taking.

If I understand correctly, the initial card -- the card with the symbol on
it -- is of a different background than the other cards, and the initial card
does not have the "AtSy" field. If this is the case, the explanation is
relatively straightforward:

When you start a find that's limited to a field, HyperCard looks for that field
on the *current* card. If there is no such field, instead of dumping you
into an error dialog, it performs the find without limiting the search to
a specific field. In other words, if you want to do a find in a specific
field, you have to start the find in the background that contains that
field.

How you'll want to handle this depends on your stack design. Often the
simplest tactic is to put the initial card in the same background as the
other cards, covering up any background objects you don't need with card
paint or card objects.

>Second problem is that send farther and bring closer don't work with my 
>fields.  Neither the tabbing order nor the overlap order of the fields 
>changes.  

Each field and button is contained in its own layer, and buttons and fields
may be interspersed. What this means is that if you have a field in the
farthest layer (field 1), then 10 buttons between (buttons 1-10), then a
field in the nearest layer (field 2), you'll have to Bring field 1 Closer
11 times before it will come before field 2, because it has to go through
all those button layers first. One useful shortcut is to hold down the shift
key while Bringing Closer or Sending Farther: this brings the selected
object all the way to the front or back.
-- 
========= jeanne a. e. devoto ========================================
 jdevoto@apple.com     |  You may not distribute this article under a
 jdevoto@well.sf.ca.us |  compilation copyright without my permission.
______________________________________________________________________
 Apple Computer and I are not authorized      |        CI$: 72411,165
 to speak for each other.                     |  AppleLink: SQA.TEST