Appendix B. Moving from HyperCard to AppleScript
Back in the days before DVDs, iPods, and take-out sushi, everyday Mac fans used HyperCard to write simple automation programs. Sure, HyperCard couldn't command
programs, but its simplicity and power made HyperCard a favorite tool for thousands of budding programmers.
In addition, HyperCard was one of the first programming tools to let people build their program's interface through drag-and-dropmore than a
before Interface Builder came along.
, the programming language for HyperCard, was highly regarded for its English-like syntax and
learning curve. And even hard-
programmers respected HyperCard
(interfaces bundled with code) for their small file
supporting HyperCard soon before releasing Mac OS X. If you happen to be one of the Mac fans who depends on HyperCard for everyday work, therefore, you're left with only a few choices:
Continue using HyperCard in Mac OS X's Classic mode
to describe Mac OS 9 programs running in Mac OS X. Unfortunately, since HyperCard wasn't designed for Mac OS X, using HyperCard in Classic is likely to result in a major
of your code. Plus, you'll continue to see HyperCard's old, gray, Mac OS 9-style windowsa
on the attractive interface of Mac OS X.
Buy a Mac OS X program that can
. Such programs include SuperCard ($180, www.supercard.us) and Revolution ($150-$900 depending on license, http://revolution.runrev.com/). Unfortunately,
at importing HyperCard stacks into Mac OS X, so you may have to
a while updating sections of code to be Mac OS X-compatible.
Rewrite your HyperCard stacks with AppleScript
. Since AppleScript and HyperTalk are
similar languages, you can rewrite your HyperCard stacks in AppleScript pretty easily.
If your HyperCard stacks are full of interface elements, you'd probably be better off rewriting your stacks in AppleScript
(Chapter 15) than simply reprogramming your stacks in Script Editor. That's because plain ol' AppleScript doesn't allow for complex interfaces.
On the other hand, if your HyperCard stacks are simple (say, just based around a button or two) it's easier to rewrite your code in Script Editor than to deal with the complexities of Xcode and Interface Builder (Section 15.2).
If you decide to
the converting-to-AppleScript route, you'll be glad to have the rest of this appendix at your side. The following pages address the most common syntax differences between HyperTalk and AppleScript, so you can bring your stale code from the confines of Mac OS 9 to the bright, shining future of Mac OS X.
The rest of this appendix assumes that you know how to program in HyperCard proficiently. There's no explanation of what specific HyperTalk commands do, because you can find
in a book like
The HyperTalk Language Guide
(Addison Wesley, 1988).
know HyperCard, though, don't sweat it. HyperCard is unsupported by Apple, and there's little reason to create new programs with it unless you're nostalgic for the era of black and white Macs.