[comp.sys.mac.hypercard] copying foregrounds and bug with long button names

moore@june.cs.washington.edu (Charles Moore) (09/11/88)

     I have a  number of questions all relating to trying to easily copy a
card's foreground as well as background onto a new card.  The way to do
this, it would appear, is to use the "Copy Card" and "Paste Card" selections
from the Edit menu.  These, however, copy everything about the card
including all its properties and what I'll call the "deletable" property.
The "deletable" property of a card corresponds to whether or not the "Can't
delete card." box in the "Card Info..." dialog box is checked.  Now I want
to have an undeletable template of a card (both background and foreground)
and I want to make a deletable copy of it.  I want to do all of this from a
script.  The problem is that the "deletable" property isn't really a
property at all and so isn't alterable from within a script.

     This leaves me with one alternative: copying one by one each of the
foreground elements from my template card onto a new card that I've created
with the "New Card" menu item.  This makes for very slow scripts but I've
lived with that up until now. 

     I recently discovered a problem with referring to buttons with very
long names.  If I issue a command such as

click at location of button "Click here for more time and duration blanks."

a box comes up with the message, 

Never heard of card button named Click here for more time@card *

The @ and * symbols above are not actually what comes up but I can't produce
the actual symbols for a newsgroup posting.  In place of the @ symbol is a
square.  In place of the * symbol is a lower case 'o' with an accent "grave"
over it.

     Now this is clearly a bug since, even if the button has a name that's
too long to use in full in the dialog box, you shouldn't get garbage
characters at the end of the truncated button name.

     So now I'm stuck.  My questions are 

(1) Is there a way to copy the entire foreground of a card to another card
without simultaneously copying the state of the "deletable" property?

(2) If not, is there a way to change the "deletable" property from within a
script?  (It seems like there ought to be.)

(3) If not, is there a fix to the referring-to-long-named-buttons bug?  For
various reasons that I won't go into, referring to the button by it's i.d.
number or button number is not a solution. 

     I'm using Hypercard version 1.0.1 on a Macintosh SE with 1 megabyte of
memory.  I would appreciate any helpful suggestions that anybody can give
me.


Charles Moore
University of Washington
Seattle, Washington       

stone@hydra.unm.edu.unm.edu (Andrew C. Stone CS.DEPT) (09/11/88)

In article <5694@june.cs.washington.edu> moore@june.cs.washington.edu (Charles Moore) writes:
>
>     I have a  number of questions all relating to trying to easily copy a
>card's foreground as well as background onto a new card.  The way to do
>this, it would appear, is to use the "Copy Card" and "Paste Card" selections
>from the Edit menu.  These, however, copy everything about the card
>including all its properties and what I'll call the "deletable" property.
>The "deletable" property of a card corresponds to whether or not the "Can't
>delete card." box in the "Card Info..." dialog box is checked.  Now I want

Version 1.2+ supports the property cantdelete

on newcard
   set the cantdelete of this card to false
  .....

>     I'm using Hypercard version 1.0.1 on a Macintosh SE with 1 megabyte of
		 		  ^^^^^
-- there are some neat tools awaiting you!           
>
>Charles Moore

	--andrew


||<<++>>||<<-->>||<<==>>||<<++>>||<<??>>||<<++>>||<<-->>||<<==>>||<<++>>||
||                                                                      ||
||	   Andrew Stone	    stone@hydra.unm.edu	    (505) 345-4800      ||
||                                                                      ||
||<<++>>||<<-->>||<<==>>||<<++>>||<<??>>||<<++>>||<<-->>||<<==>>||<<++>>||

dan@Apple.COM (Dan Allen) (09/11/88)

In article <5694@june.cs.washington.edu> moore@june.cs.washington.edu (Charles Moore) writes:
>(1) Is there a way to copy the entire foreground of a card to another card
>without simultaneously copying the state of the "deletable" property?
>
>(2) If not, is there a way to change the "deletable" property from within a
>script?  (It seems like there ought to be.)
>
>(3) If not, is there a fix to the referring-to-long-named-buttons bug?  For
>various reasons that I won't go into, referring to the button by it's i.d.
>number or button number is not a solution. 
>
>     I'm using Hypercard version 1.0.1 on a Macintosh SE with 1 megabyte of

HyperCard 1.2 and later versions support a cantDelete property for cards
that CAN be set by scripts.  There was not way to do this scriptably
with 1.0.

Fields, cards, stacks, and buttons should all have names 31 characters
or shorter in length.

Dan Allen
Apple Computer

klatchko@bnrmtv.UUCP (Ron Klatchko) (09/13/88)

In article <5694@june.cs.washington.edu>, moore@june.cs.washington.edu (Charles Moore) writes:
> The "deletable" property of a card corresponds to whether or not the "Can't
> delete card." box in the "Card Info..." dialog box is checked.  Now I want
> to have an undeletable template of a card (both background and foreground)
> and I want to make a deletable copy of it.  I want to do all of this from a
> script.  The problem is that the "deletable" property isn't really a
> property at all and so isn't alterable from within a script.

> (2) If not, is there a way to change the "deletable" property from within a
> script?  (It seems like there ought to be.)

In HyperCard 1.2 you can change the "deleteable" property from within
a script.  You simply do a 'set cantdelete of card ... to (true/false)'.
I beleive this also works for backgrounds but I'm not sure.

Ron Klatchko
...!{ucbvax,decwrl}!hplabs!bnrmtv!klatchko