Home
The HyperCard Center
HyperTalk Reference

Note: This is a work in progress and many formatting issues have been fixed. Read more about the project on the home page.

ID 

the ID of button
the ID of field
the [adjective] ID of card
the ID of bkgnd
the ID of menu
the ID [of HyperCard]
the ID of window

The ID property returns the permanent ID number of any button, field, card, background, window, or menu in the current stack.

The ID of HyperCard is WILD.

The ID of a standalone application is its creator code.

All objects except stacks have IDs. You can’t change the ID number of an object, window, or menu.

If an object doesn’t have a name, HyperCard returns the ID instead.

The adjectives abbreviated, long, and short return various forms of a card’s ID. (Click Demo Script.)

Examples

if the id of button 1 is "8934" then...
get the id of bkgnd field 2
put the id of this card after theList
get the id of this background
get the id of HyperCard -- returns WILD
get the id of the last menu

Demo Script

on IDDemo
put "The short ID of this card is:" & return & ¬
the short ID of this card & return & return & ¬
"The ID is:" & return & ¬
the ID of this card & return & return & ¬
"The long ID is:" & return & ¬
the long ID of this card & return into theAnswer
answer theAnswer
end IDDemo

Related Topics

Placeholders

button

HyperTalk Definition

An expression that identifies a button by name, number, or id, using one of the following forms:

[card] button id posInteger [of card]
[card] button text [of card] -- name
[card] button posInteger [of card]
ordinal [card] button [of card]
bkgnd button id posInteger [of card]
bkgnd button text [of card] -- name
bkgnd button posInteger [of card]
ordinal bkgnd button [of card]

For example:

card button id 3894
card button "Return"
card button 1
first card button
bkgnd button 2 of card 2
last bkgnd button

When used inside a button script: me

When a button receives a message: [the] target

A button can also be referred to as a part when you’re talking about its position among all buttons and fields within the same card or background.

AppleScript Definition

An expression that identifies a button by name, number, or id, using the same forms as HyperTalk except that “background” must be used in place of “bkgnd”.

field

An expression that identifies a field by name, number, or id using one of the following forms (in AppleScript, use “background” in place of “bkgnd”):

card field id posInteger [[of] card]
card field text [of card] -- name
card field posInteger [of card]
ordinal card field [of card]
[bkgnd] field id posInteger [of card]
[bkgnd] field text [of card] -- name
[bkgnd] field posInteger [of card]
ordinal [bkgnd] field [of card]
For example:

card field id 3894

card field "My Notes"

card field 1

first card field

background field 3 of card 1

When used inside a field script in HyperTalk: `me`
When a field receives a message: `[the] target`
A field can also be referred to as a part when you’re talking about its position among all buttons and fields within the same card or background.

adjective

One of the following:

abbr
abbrev
abbreviated
long
short

See also: formatName

card

An expression that identifies a card by name, number, or id using one of the following forms (in AppleScript, use “background” in place of “bkgnd”):

recent card
back
forth
card id posInteger [of bkgnd
card text [of bkgnd] -- name
card posInteger [of bkgnd] -- number
ordinal card [of bkgnd]
position card [of bkgnd]
ordinal marked card
position marked card
marked card posInteger

For example:

card id 3894
card "Index"
card 1 of background 1
prev card
previous card of this background
next card
this card
first card
last card
middle card
any card
first marked card
last marked card
next marked card
previous marked card
marked card 1
marked card (the number of marked cards)

When used inside a card script in HyperTalk: me

When a card receives a message: [the] target

See also: button and field

bkgnd

A HyperTalk expression that identifies a background by name, number, or id, using one of the following forms:

bkgnd id posInteger
bkgnd text -- name
bkgnd posInteger -- number
ordinal bkgnd
position bkgnd

For example:

bkgnd id 3894
bkgnd "Index"
bkgnd 1
prev bkgnd
previous bkgnd
next bkgnd
this bkgnd
first bkgnd
last bkgnd
middle bkgnd
any bkgnd

From within a background script, the term me refers to that background.

When a background receives a the message [the] target, that message is referring to the background.

See also: card

menu

An expression that evaluates to one of the following:

menu text
menu posInteger
ordinal menu

For example:

menu "File"
menu 2
second menu

window

One of HyperCard’s built-in windows, the window containing the current stack (called the card window), or any other window containing a stack, as follows:

card window
tool window
window "tools"
pattern window
window "Patterns"
scroll window
window "scroll"
[the] message [window]
[the] message [box]
[the] msg [window]
[the] msg [box]
window "message"
message watcher
window "message watcher"
variable watcher
window "variable watcher"
window "Home"
window "Readymade Buttons"
-- if longWindowTitles is true:
window "My HD:Home"
window 6
window ID 21403082

Note: If a window containing a stack is inactive, you can set only its location and visible properties.

Important: External windows can’t be substituted for the window placeholder (see the externalWindow placeHolder).

HyperTalk Reference

Version 0.8b4 (July 4, 2025)

Made with Macintosh

Switch to Retro View