HyperCard 2.0: New Product Features (2 of 2)


HyperTalk Enhancements
----------------------
- The Script Editor supports numerous of new features:

- Modeless windows (several open at same time)
- Search and Replace
- Commenting and uncommenting selected lines
- Undo for cut, copy, paste, clear, and typing operations
- Horizontal scrolling (for 2-page display)
- Triple-clicking to select a line
- Allows setting of debugging checkpoints

- The HyperTalk Compiler replaces the HyperTalk interpreter used in earlier
versions. As a result, HyperTalk scripts run faster in HyperCard 2.0 (as
much as three times faster). Handers are compiled automatically on the first
execution of the handler and the compiled code is cached in RAM to be
available for subsequent calls to that handler. The compiled handler remains
in memory until that memory is needed for other handlers. When HyperCard 2.0
quits, the compiled HyperTalk code is flushed from memory, so only the
HyperTalk source code is saved to disk.

- The HyperTalk Debugger engages when a execution encounters checkpoint.
These checkpoints are inserted in the source code using the script editor.
You can also enter the debugger by pressing Command-Option-Period.

- Background Processing: With HyperCard 2.0, you can switch to another
application under MultiFinder while a script is running, and the script will
continue to execute while HyperCard 2.0 is in the background. Other
functions, like sorting and compacting also work while HyperCard 2.0 is in
the background. HyperCard 2.0 yields to MultiFinder at the following times:

- At the completion of a HyperTalk line.
- When the busy cursor rotates (sorting, compacting, and printing)
- During the execution of the Show Cards and Wait commands

HyperCard 2.0 notifies the user whenever user intervention is required.

- XCMD Enhancements: The XCMD interface in HyperCard 2.0 is an extension of the
XCMD interface originally implemented in HyperCard. HyperCard 2.0 provides
the means for XCMDs to create and manage their own windows and menus and to
call the sound manager directly. HyperCard 2.0 uses this XCMD window
interface to implement the Script Editor and Debugger.

- Color Windows: While the card window does not support color, an XCMD can
own a color window that supports bit depths of up to 24-bits. This lets the
stack creator display a color picture while inside of HyperCard.

- Sound Control: Now, XCMDs can call the sound manager directly for increased
control over sound from an XCMD.


Miscellaneous. Enhancements
---------------------------

- Custom Menus: The entire menu bar and its contents can be controlled by a
HyperTalk script. This lets stack creators add, modify, or remove any menu
items. As a result, you can make stacks that look like stand-alone
applications, without having to resort to XCMDs.

- Palettes: HyperCard 2.0 has a feature which lets users create palettes,
similar-to the Tools palette and the Patterns palette. To create these
palettes, you must create a PICT resource that defines the visual part of the
palette. This can be created in many of the popular paint programs and can
be in color. You must also create a PLTE resource to define the rectangles
for the buttons in the palette and the HyperTalk scripts that are executed
when each is pressed. Creating a palette does not require coding in
languages like Pascal, C or Assembly.

- Icon Editor: HyperCard 2.0 has a built-in icon editor, so that you can create
or modify icons without the use of utilities such as ResEdit.

The editor displays a "fat-bits" representation of the icon, in which you can
click within the image to toggle bits on or off. There are also several menu
commands that further help you edit icons. They include the commands Flip
Horizontal, Flip Vertical, Frame, Gray, Invert, Mirror Horizontal, Mirror
Vertical, Rotate 90 degrees, Shadow, and Pickup.

- Marked Cards: Now, each card has a Mark property that lets a user or
HyperTalk handler flag a card for some reason. Usually, this feature is used
by a HyperTalk script during a search for cards that contain information that
matches a certain criteria. Each card that contains that information is then
marked. Once the appropriate cards have been marked, they can be processed
as needed.

This feature is used with the HyperCard 2.0's report-printing capabilities to
select which cards will be included within a report. For example, in a quiz
the developer could mark the cards the student got wrong and print those
cards out for later review.

- Visual Effects: In the past, visual effects have only worked on monitors set
to 1 bit per pixel. HyperCard 2.0 supports visual effects on monitors set up
to 8 bits per pixel. There are two new visual effects--Stretch and Shrink.,

To help make it easier for stack developers to use visual effects, HyperCard
2.0 has a visual effects selection dialog for buttons. This dialog is
illustrated below.

- Dynamic Dialog Sizing: Most of the HyperCard 2.0 dialogs, including the Ask
and Answer dialogs, can now hold more text and size themselves to fit the
amount of text. The previous limit was one line of text. This limit has
been raised to approximately 240 characters, and as many lines that can be
displayed on a classic, nine-inch Macintosh screen. For example, if a stack
pathname is too long to fit on a single line, the Stack Info dialog will
resize itself to fit up to five lines to accommodate the pathname.

- Painting Enhancements: New special effects have been added to HyperCard
2.0's Options menu.These effects work on graphical selections chosen with
HyperCard 2.0's paint Selection tool. The four new effects are:

- Rotate to provides free rotation of graphics about the center of
the selection.

- Slant to stretch the selection into the shape of a parallelogram,
making the image appear slanted.

- Distort to let you stretch a corner of the selection
arbitrarily in two directions

- Perspective to stretch the selection into the shape of a
parallelogram or trapezoid, making the image appear to have
perspective depth.

- Stack Security: When protecting stacks, HyperCard 2.0 has the two new
possibilities of Can't Peek and Can't Abort. Can't Peek lets stack
developers protect confidential script source code from users. Can't Abort
prevents users from pressing Command-Period to stop execution of a HyperTalk
handler. When this protection is set, execution of handlers cannot be
prematurely halted by the user.

Note: Both of these features should be used with care. In most cases, it is
advisable to lock only copies of the stack, and not the original stack.


Published Date: Feb 18, 2012