XXIIVV
Neauismetica Stack III
Neauismetica Stack III

Hypertalk is the programming language used in the mac software Hypercard.

Hypertalk can be emulated easily using a Macintosh emulator, the default Hypercard canvas size is 512x342.

For most basic operations including mathematical computations, HyperTalk favored natural-language ordering of predicates over the ordering used in mathematical notation. For example, in HyperTalk's put assignment command, the variable was placed at the end of the statement:

put 5 * 4 into theResult
Typical Hypertalk Programmer

Go

The go command can be used in two ways. It can allow the user to go to any card in the stack that it is in or to any card of any other stack that is available.

visual effect dissolve
go to card id 3807

Put/Set

To change the text value, or textstyle of a field:

on mouseUp
  put random(100) into card field "target"
  set the textstyle of card field "Title" to italic
end mouseUp

Alternative, one can use the "type" command if the programmer wants to simulate someone typing something into a field. The type command will do very well here:

on mouseUp
  select before first line of card field "target"
  type "hello there"
end mouseUp

Show/Hide

The hide command can be used to hide any object. Some examples are: buttons, fields, and the menubar. The opposite of the hide command is the show command, and it can be used to make an object show up again.

-- a comment
onmouseUp 
  hide card field "title" 
  wait 5 seconds 
  show card field "title" 
endmouseUp

Choose

Each of the tools in the tool menu has a name that can be used with this command.

onmouseUp 
  choose spray can tool 
  set dragSpeed to 150 
  drag from 300,100 to 400, 200 
  wait 1 second 
  choose eraser tool 
  drag from 300,100 to 400, 200 
  choose browse tool 
endmouseUp

The available tools are:

Modal

Basic

on mouseUp
  ask "What is your name?"
  put it into response
  answer "You said " & response
end mouseUp

Logic with input

on mouseUp
  ask "What is your name?"
  put it into response
  if response is "blue" then 
    answer "correct."
  else
    answer "incorrect."
  end if
end mouseUp

Logic with choices

on mouseUp
  answer "Which color?" with "cyan" or "magenta" or "yellow"
  if it is "cyan" then 
    answer "You selected cyan."
  else
    answer "You did not select cyan."
  end if
end mouseUp

Play

The play command plays the specified sequence of notes with the specified sampled sounds. The tempo parameter specifies the number of quarter notes per minute; the default value is 120.

play "harpsichord" "c4 a3 f c4 a3 f c4 d c c c"

Globals

The global command is used to specify variables which will be available to other scripts within the stack or even in another stack. Unless variables are declared a global, they are considered by HyperTalk as local which means that they may only be used within a single script. If they are global, they may be carried to other scripts. Variables must be identified before they are used in order for them to become global.

-- allow access to globals
global var1, var2, ..
answer "hello " & var1 & "."

Summary

-- Let's put it altogether now
on mouseUp
  put random of 100 into n
  repeat 6
    ask "please input number(1-100)?"
    if it < n then
      answer "more than" && it
    else if it > n then
      answer "less than" && it
    else if it is n then
      answer "perfect!"
    exit mouseUp
    end if
  end repeat
  answer "You lose, myy answer is " && n 
end mouseUp
Neauismetica Stack II
Neauismetica Stack II
Neauismetica Stack I
Neauismetica Stack I

incoming macintosh visual faqs merveilles