Geoff Canyon | 1 Mar 03:32 2002

Re: Mouse polling answers for Scott

At 1:52 PM -0800 2/28/02, Geoff Canyon wrote:
>At 12:05 PM -0700 2/27/02, Scott Raney wrote:
>>Can someone please verify this?  We've had two anecdotal reports that
>>SC does *not* work this way.  Running Geoff's example script will
>>clear up the issue once and for all I think.
>I tested SuperCard 3.5.1 with the following script:
>on mouseUp
>  repeat with i = 1000 down to 1
>    put i
>  end repeat
>  put the mouse
>end mouseUp
>If you click the button, the numbers run by, and the message box ends up with "up" -- so far so good.
>If you click the button, then do a half-click -- press and hold the mouse button -- the numbers run by, and the
message box ends up with "down" -- this is also expected, and matches HC and Rev/MC.
>If you click twice, you get two possible behaviors, both of which differ from HC/MC/Rev. 
>  -- If the second click is outside the button, then the appropriate word is displayed at the end of the
countdown -- down if the mouse button is depressed, up if it is not. You can click as many times as you like
outside the button, only the actual state of the button at the end of the countdown is reflected.
>  -- If the second click (while the counter is running) is on the button, the button does a second mouseUp when
it finishes the first. The word "down" or "up" correctly flashes by as SuperCard goes back to counting down
from 1000. In fact, you seem to be able to queue as many mouseUps as you like -- click on the button five times
quickly, and the counter will then proceed through five countdowns. At the end of each countdown, the
(Continue reading)

JohnRule | 1 Mar 04:19 2002

Patterns on Mac/PC

I am just curious about the difference between the way patterns are handled between a PC and a Mac. For instance:

I can import a pattern into my PC stack, assign this same pattern to several buttons (stacked on top of each other) with the patterns starting at 0,0, coordinates in each button (i.e. the pattern is redrawn for each button with the upper left corner starting at the upper left corner of the button).

If I then transfer this stack to a Macintosh, the buttons represent the pattern as if the pattern were the size of the stack (or screen). In other words, the pattern is reflected differently in every button on the Mac (the pattern is not redrawn at a 0,0, coordinate for each button).

I know patterns are 'natively' different on each platform, but this is odd (and I would think this is wrong).

Can anyone verify/explain this?

Sarah Reichelt | 1 Mar 02:47 2002

Re: Constraining user input...


The easiest way is to make two custom properties for each field you want to
constrain e.g.

After having done this, I then went on to test whether the script could be
put into the stack or card script and made totally general. It can, so put
this script in your stack script, then give the two new properties to any
field you want to constrain.

Along the way, the script got a lot better :-)

on keyDown theKey
  put the cMaxChars of the target into maxC
  put the cMaxLines of the target into maxL

  -- check to see if this object has the right properties
  -- if not, just pass the keyDown without checking constraints
  if maxL is empty or maxC is empty then pass keyDown

  -- if you are using the starter kit, the next three lines
  -- can be merged into one, it just looks messier.
  put word 2 of the selectedLine of the target into theLine
  put the value of the selectedLine of the target into theText
  if the length of theText >= maxC or theLine > maxL then
    exit keyDown
    pass keyDown
  end if
end keyDown


> Sarah, 
> Thank you so much for the quick response....  This actually works quite well
> and is a great example, thank you!....  I do have one more question though,
> this is more out of curiosity I suppose...  Is there some way to store the
> "constraint" information as part of the field definition and make this a
> function which gets called?.. THe reason I ask is because I have to do this
> with about 150 different fields and it would get rather tedious to be cutting
> and pasting for each one of them.....
> Again, thank you very much for your help -- I really *REALLY* appreciate
> it.... 
> Greg Saylor 
> Senior Systems Integrator 

Sivakatirswami | 1 Mar 05:21 2002

OT -- Animation Programs

Forgive this off topic query, but I can't think
of a better group to give recommendations:

If you had to purchase animation/cartooning software for your art
director/artists, (already fluent in Adobe PS and IL)
 what would be your choice? End product would be anything from
simple animated GIF's to movie cartoons.

(email me off list)


Hinduism Today

Editor's Assistant/Production Manager

Read The Master Course Lesson of the Day at

Ken Norris (dialup | 1 Mar 08:24 2002

Re: Mouse polling answers for Scott

on 2/28/02 6:32 PM, Geoff Canyon at gcanyon@... wrote:

> repeat while the mouse is down
> --do something
> end repeat
> repeat
> if the mouse is down then exit repeat
> --do something
> end repeat
> The second simply makes it clearer what is happening.If the loop takes a while
> to execute, for example:
> repeat while the mouse is down
> repeat with i = 5000 down to 1
> put i
> end repeat
> end repeat
I won't have time to play with it until Monday or Tuesday, but how about:

on mouseDown
  repeat until the mouse is up -- instead of 'while the mouse is down'
  end repeat
end mouseDown


Best regards,
Ken N.

Matt Denton | 1 Mar 08:20 2002

Future Events and Summertime/ DLST

Hi all,

I'm trying to send a future event message, with a construct something 
like: "send <somemessage> to me at <12:00pm> on  <june 12, 2002>".   I'm 
converting everything to seconds, adding to a Master event list and 
comparing to the current time to each item in the list.

Problem is the future time in seconds is incorrect when you pass in or 
out of summertime/ daylight savings time.  Convert "June 12, 2002" to 
seconds doesn't take into account summertime/ daylight savings time in 
each country (I think?? Can anyone at Rev confirm??)

Just a quick question: does anyone know where I can find the rules for 
summertime/ day-light saving time for all countries of the world?  I've 
hunted but only found snippets of info, nothing comprehensive.

Just thought I'd tickle the list in case someone has dealt with this 
issue before.  And thanks in advance to anyone who has an answer!


Matt Denton

Bob Rasmussen | 1 Mar 08:47 2002

Re: wait for messages


I appreciate the research you did on this.  You've clarified many of the issues I raised.

I'm still experimenting, trying to better understand how multiple waits of various sorts interact with
oneanother.  My interest has to do with attempting to emulate some sort of rudimentary multithreading
behavior with a centralized scheduler that can dole out processing time in a controlled fashion. I
believe "send ... in <delay>" semantics alone aren't quite up to that.

Given the way messaging works in TransScript, threads would have to be cooperative, of course, but I can
work around that.

Although I still have some timing questions to resolve, I think I've got much of it figured out.  The other
"wait" forms are very useful, but "wait for messages" is turning out to have no role in my particular
application, now that I know what it's doing.

Thanks for your help.


David Vaughan wrote:

> On Tuesday, February 26, 2002, at 12:11 , David Vaughan wrote various
> things readable in the previous post by me under this title :-)
> Replying to myself ;-) ... of course the "wait {N time} with messages"
> will wait the time you define while allowing other actions, and is not
> accelerated by those actions, whereas "wait {N time}" simply waits. None
> of this makes "wait for messages", apparently meaning a random time up
> to half a second, very useful ... so far.
> regards
> David

Jeanne A. E. DeVoto | 1 Mar 03:37 2002

Re: custom properties

At 5:15 AM -0800 2/28/2002, Steve Messimer wrote:
> I want to check a cd for the presence or absence of a custom
>property.  If the property doesn't exist then I want to create it.  The
>presence of the property will act as a flag that indicates that the object
>has already had a controlling handler added to its script.
>Would the properties placed in propCker be placed there as in an array so I
>could use a repeat structure to check for the presence of the property I'm
>looking for.

This is far more complicated than you need if all you're doing is checking
for the existence of the property. This will do it (assuming the name of
the property is "MyScriptFlag":

  if "MyScriptFlag" is not among the lines of \
     the customKeys of card "Whatever" then
    -- property doesn't exist, so create it
    set the MyScriptFlag of card "Whatever" to true
    -- the above line creates the custom property as well as setting
    -- its value
    -- do whatever you want to do with the script
  end if

Jeanne A. E. DeVoto ~ jeanne@...
Runtime Revolution Limited - Power to the Developer!

Jeanne A. E. DeVoto | 1 Mar 09:16 2002

Re: wait for messages

At 5:26 PM -0800 2/25/2002, David Vaughan wrote:
>Replying to myself ;-) ... of course the "wait {N time} with messages"
>will wait the time you define while allowing other actions, and is not
>accelerated by those actions, whereas "wait {N time}" simply waits. None
>of this makes "wait for messages", apparently meaning a random time up
>to half a second, very useful ... so far.

I have taken a look at what "wait for messages" is doing. It works as
documented - that is, it waits until a message is sent - in a standalone
(or in MC, for that matter) but it times out after 30 seconds in Rev's
development environment. In these situations your handler shows results as
you'd expect. My best guess at the moment is that the dev environment is
sending a message every 30 seconds that has the effect of timing out wait
for messages.... I'm still getting more info on this and whether it might
be changeable.

But it does work properly in a standalone, or when launched without the
development environment running.

Jeanne A. E. DeVoto ~ jeanne@...
Runtime Revolution Limited - Power to the Developer!

Ludovic Th├ębault | 1 Mar 11:10 2002

Screenrect and geometry manager


I created a stack for childs. 
I want that the window occupies all the screen. To work with all
resolution, i use the geometry manager.

If i change the size of the stack, with the stack properties, its works,
but only for the current card.

In the openstack script i put :

set the rect of stack "theStack" to the screenrect 

but the size of objects does not adapt itself in a standalone.

How tell to all cards of my stack to change their size ?

Thanks, and sorry for my poor english.