HyperTalk - Exam Prep Study Guide
[French]
Fondations de HyperTalk
Set the user level to scripting
- Il y a 5 niveaux de programmation dans Apple HyperCard.
- Navigation
- Texte
- Dessin
- Auteur
- Programmation
- Pour pouvoir écrire ou modifier des scripts, vous devez vous trouver au niveau d'utilisation Programmation (5). Si vous souhaitez vous trouver au niveau Programmation chaque fois que vous lancez HyperCard, affichez la carte Préférences de la pile Base et réglez le niveau d'utilisation à cet endroit. (note que les parties jointes entre crochets "[]" sont facultatives.)
- set [the] userLevel [of HyperCard] to 5
HyperTalk et les scripts
- HyperTalk (TM) est le langage de programmation de Apple HyperCard, servant à l'écriture d'instructions destinées à répondre à des événements (tel qu'un clic sur un bouton ou le passage à la carte suivante).
- Dans HyperTalk, répondre à un événement s'appelle le gérer. La programmation dans HyperCard consiste à écrire des procédures de gestion d'événements. L'ensemble des procédures associées à un même objet constitue un script.
- La figure ci-dessous présente une procédure gérant l'événement "mouseUp" et intégrée au bouton de card id 1.
- on mouseUp
- beep
- end mouseUp
Qu'est-ce qu'un message?
- Un message annonce simplement qu'un événement s'est produit: l'utilisateur a cliqué, demandé le résultat de l'opération (4 * 3), ajouté une carte à la pile, etc.
- Pour comprendre le principe des messages dans HyperCard, faites la comparaison avec l'envoi d'une lettre par la poste. Vous écrivez le contenu de la lettre (le message) puis vous le placez dans une enveloppe sur laquelle vous indiquez l'adresse du destinataire. HyperCard procède de la même façon:
- Il détermine le contenu du message (événement détecté).
- Il détermine le destinataire du message.
- Que contient un message?
- Le contenu d'un message se résume à son nom, qui est aussi le nom donné par HyperCard à l'événement détecté. HyperCard joue le rôle d'interprète: il est "à l'écoute" de la pile et traduit les événements en noms de messages.
- Quel est le destinataire d'un message?
- HyperCard détermine sur quel objet a agi l'utilisateur et "adresse" le message à cet objet. Les objets pouvant recevoir des messages sont les suivants:
- a button (btn)
- a field (fld)
- a card (cd)
- a background (bg)
- a stack
- Une fois connus le contenu du message (son nom) et son destinataire, HyperCard l'envoie à l'objet concerné.
Gestion des messages
- Programmer une pile consiste à écrire des procédures destinées à gérer des messages. Lorsqu'un objet reçoit un message, HyperCard recherche dans son script une procédure de même nom que le message reçu (i.e., une structure commençant par le mot "on" suivi du nom du message). S'il trouve une procédure répondant à ce critère, il exécute les instructions qu'elle contient, terminées par le mot "end".
- Pour qu'un bouton gère le message "mouseUp", par exemple, il suffit de placer une procédure "mouseUp" dans son script.
- on mouseUp
- beep
- end mouseUp
Transmission des messages
- Que se passe-t-il si l'objet qui reçoit un message n'est pas à même de le gérer?
- Dans ce cas, HyperCard transmet le message aux autres objets jusqu'à ce qu'il en trouve un dont le script contient une procédure de gestion de ce message.
- Si le message reçu par un bouton ou champ ne peut être géré par ce dernier, il est transmis à la carte courante. Si celle-ci n'est pas non plus en mesure de gérer le message, il est transmis aux objets suivants, dans cet ordre:
- le fond courant
- la pile courante
- la pile Base
- HyperCard lui-même
Procédure de gestion de message
- Une procédure de gestion de message est une suite d'instructions qu'HyperCard doit exécuter. Une telle procédure présente toujours la structure suivante:
- on messageName
- -- statements
- end messageName
- Pour exécuter la procédure, HyperCard envoie chacune de ses lignes comme un message à part entière (une procédure peut donc en appeler d'autres).
- Important: le nom du message ne doit pas nécessairement correspondre à un message système ou à une commande intégrée d'HyperCard.
- Par exemple, si vous souhaitez créer une nouvelle commande "doubleBeep" qui produit deux bips consécutifs, vous écrirez la procédure suivante:
- on doubleBeep
- beep
- beep
- end doubleBeep
- Bien entendu, HyperCard ne connaît pas la commande "doubleBeep", donc cette dernière ne sera jamais envoyée automatiquement en réponse à un événement. En revanche, vous pouvez envoyer le message "doubleBeep" depuis l'Editeur de message ou dans le cadre d'autres procédures:
- Par exemple, le script d'un bouton pourra contenir la procédure suivante:
- on mouseUp
- doubleBeep
- end mouseUp
- Si la procédure "doubleBeep" figure également dans le script du bouton (ou dans celui d'un objet situé plus loin dans l'ordre de transmission), le message "mouseUp" provoquera l'envoi du message "doubleBeep", qui émettra à son tour 2 fois la commande "beep", intégrée à HyperCard et donc exécutée par ce dernier.
- Si HyperCard ne trouve aucune procédure "doubleBeep", il affichera (dans une zone de dialogue) "Impossible d'interpréter "doubleBeep"".
Variables paramétriques
- Une procédure peut opérer sur des valeurs qui lui ont été transmises (paramètres). Chacune de ces valeurs est introduite dans la procédure par le biais d'une variable paramétrique. Les variables paramétriques d'une procédure apparaissent à la suite de son nom, séparées par des virgules.
- Par exemple, durant l'exécution de la procédure "mouseUp" suivante, HyperCard appelle "sayMessage" avec les 2 valeurs "pomme" et "rouge". Il lie ces valeurs aux variables paramétriques fruit et couleur dans la procédure.
- on mouseUp
- sayMessage "red", "apple"
- end mouseUp
- on sayMessage theColor, theFruit
- put "I want a " & theColor & " " & theFruit & "."
- end sayMessage
- Lorsqu'il rencontre les variables fruit et couleur à l'intérieur de la procédure, HyperCard les remplace par leur valeur. (Ces variables n'ont une valeur que pendant l'exécution de la procédure.)
Procédure de gestion de fonction
- Une procédure de gestion de fonction est une suite d'instructions qui calcule une valeur et renvoie cette dernière à la procédure ayant appelé la fonction. Une telle procédure présente toujours la structure suivante:
- function functionName
- -- statements
- end functionName
- L'exemple ci-dessous montre comment créer une fonction "squareIt":
- on mouseUp
- put squareIt(5) into the message box
- end mouseUp
- function squareIt x
- return (x * x)
- end squareIt
- La fonction "squareIt" opère sur un nombre qui lui est transmis par la variable paramétrique x. Elle renvoie le résultat de l'opération (x * x) à la procédure qui l'a appelée ("mouseUp"), au moyen du mot-clé "return".
Les éléments de base
- Les scripts HyperTalk se composent d'un certain nombre d'éléments de base:
- types de valeurs
- HyperTalk opère sur les trois types de valeurs suivantes:
- un nombre (3, -99,9, etc.)
- un littéral, une chaîne de caractères délimitée par des guillemets
- un booléen (vrai ou faux)
- opérateur
- Un opérateur est un caractère ou groupe de caractères commandant un calcul ou une comparaison. Les opérateurs agissent sur des valeurs.
- expression
- Une expression est la description de la façon dont une valeur est obtenue. Elle peut aller de l'expression la plus simple (la valeur elle-même) à une combinaison complexe de valeurs et d'opérateurs.
- constante
- Une constante est une valeur prédéfinie, invariable et portant un nom conventionnel.
- variable locale
- Une variable locale est un nom auquel vous affectez la valeur de votre choix, cette valeur n'étant conservée qu'à l'intérieur de la procédure où la variable est utilisée. Pour définir une variable locale, il suffit de lui affecter une valeur au moyen de la commande "put".
- variable globale
- Une variable globale est un nom auquel vous attribuez la valeur de votre choix, cette valeur étant reconnue dans toutes les procédures où la variable est déclarée. Pour déclarer une variable globale, faites précéder son nom du mot-clé "global".
- Une variable à laquelle une valeur est affectée dans l'éditeur de message est elle aussi globale.
- it
- "it" est le nom d'une variable locale (ou globale) prédéfinie, dans laquelle HyperCard stocke le résultat de commandes telles que "ask", "answer", "convert" et "read". Vous pouvez également affecter une valeur à "it" au moyen de la commande "get" ("get 3" est l'équivalent de "put 3 into it"). La valeur de "it" est locale lorsqu'elle est définie dans une procédure et globale si elle est fixée via l'Editeur de message.
- Utilisez "it" lorsque vous avez besoin ponctuellement d'une variable. Préférez-lui une variable locale si vous avez besoin de la même variable à plusieurs reprises.
- button (btn)
- Un bouton, tout comme une variable, est un registre (un élément pouvant contenir une valeur). La valeur du bouton est égale à son contenu.
- Tout comme les variables, le contenu d'un bouton est invisible; à l'instar des champs, il ne change pas d'une session à une autre, sauf si l'utilisateur le modifie.
- field (fld)
- Un champ, tout comme une variable, est un registre (un élément pouvant contenir une valeur). La valeur du champ est égale à son contenu.
- Les champs contiennent généralement le texte que vous voulez que les utilisateurs voient.
- message box
- Le message box est une variable prédéfinie d'une seule ligne, ayant pour valeur le contenu de l'Editeur de message à un instant donné.
- selection
- La selection est une variable prédéfinie ayant pour valeur le texte sélectionné à un instant donné, dans un champ ou dans l'Editeur de message. (N.B. Cela ne concerne pas le texte localisé par la commande find.) La valeur de la selection est égale au texte affiché en vidéo inverse.
- chunk expression
- Une sous-chaîne est une expression décrivant un extrait d'une valeur. Elle peut servir à isoler un caractère (character), un mot (word, délimité par des espaces), un élément (item, délimité par des virgules) ou une ligne (line, délimitée par des retours). Des sous-chaînes peuvent se combiner.
- property
- Une propriété est un nom prédéfini dont la valeur décrit une caractéristique d'un objet ou de l'environnement HyperCard. Par exemple, si vous réglez le niveau d'utilisation sur Programmation, la propriété userLevel prend la valeur 5. Les propriétés peuvent être définies via des zones de dialogue ou des palettes, ou dans des procédures.
- function
- Une fonction est un nom représentant une valeur qu'HyperCard recalcule chaque fois que le nom est rencontré.
- La méthode de calcul employée par les fonctions intégrées d'HyperTalk est définie dans HyperCard. Vous pouvez créer vos propres fonctions en écrivant les procédures de gestion correspondantes. Certaines fonctions opèrent sur des valeurs initiales (paramètres). Par définition, une fonction renvoie une valeur.
- clipboard
- the clipboard
- put [text] into the clipboard
Référence aux objets
- Ce qui suit sont des objets de HyperCard:
- Un bouton (btn)
- Un champ (fld)
- Une carte (cd)
- Un fond (bg)
- Une pile
- Dans un script, il existe plusieurs façons de faire référence à un objet HyperCard:
- name
- Le nom d'un objet se trouve dans sa zone de dialogue d'informations.
- number
- Le numéro d'un objet indique son emplacement à l'intérieur de l'objet qui le contient.
- Les boutons et les champs ont un numéro d'ordre sur leur carte ou leur fond, et les cartes et les fonds en ont un à l'intérieur de leur pile.
- Si vous modifiez la position relative d'un bouton, d'un champ, d'une carte ou d'un fond, son numéro évolue en conséquence.
- ID
- L'"ID" d'un objet ou d'un menu est un numéro distinctif qui lui est attribué par HyperCard au moment de sa création. Cette "ID" ne change jamais. Elle apparaît dans la zone de dialogue d'informations de l'objet. (Les piles n'ont pas d'"ID".)
- L'"ID" d'une application désigne sa signature.
- put the ID of HyperCard -- -> WILD
- part
- "part" se réfère à la position relative d'un bouton ou d'un champ par rapport aux autres boutons et champs d'une carte ou d'un fond.
- A défaut de précision, l'élément est situé par rapport à la carte.
- ordinal
- Vous pouvez faire référence à un objet au moyen des adjectifs ordinaux suivants:
- first
- second
- third
- fourth
- fifth
- sixth
- seventh
- eighth
- ninth
- tenth
- middle
- last
- any
- position
- Vous pouvez faire référence à un objet au moyen des adjectifs de position suivants:
- next
- prev
- previous
- this
- me
- "me" est l'un des moyens de faire référence de façon dynamique à un objet. Cette variable prédéfinie désigne l'objet dont le script contient la procédure en cours d'exécution. Dans le cas d'un champ ou d'un bouton, "me" peut désigner le champ (bouton) lui-même ou son contenu, selon le contexte.
- target
- "the target" est l'autre moyen de faire référence à un objet de façon dynamique. Cette variable prédéfinie désigne le destinataire initial du message en cours de traitement. Pour un champ ou un bouton, employez "the target" pour désigner le champ (bouton) lui-même et "target" pour désigner son contenu.
Commentaire d'un script
- Dans un script HyperTalk, un double tiret (--) indique la présence d'un commentaire, i.e., une phrase que le programme ne doit pas chercher à interpréter.
Procédures prélevées
- Arabic/Roman Numerals
- function numeralArabic theChar
- put "M,D,C,L,X,V,I" into theRoman
- put "1000,500,100,50,10,5,1" into theArabic
- put "0" into theReturn
- repeat with i = 1 to the number of items of theRoman
- if (theChar = item i of theRoman) then
- put item i of theArabic into theReturn
- exit repeat
- end if
- end repeat
- return theReturn
- end numeralArabic
- Digital Numbers
- function lowerToUpper theWord
- put "" into theReturn
- repeat with i = 1 to the number of chars of theWord
- put char i of theWord into theChar
- put charToNum(theChar) into theNum
- if ((theNum >= 97) and (theNum <= 122)) then
- put numToChar(theNum - 32) after theReturn
- else
- put theChar after theReturn
- end if
- end repeat
- return theReturn
- end lowerToUpper
- Character Rearranger
- on mouseUp
- set the cursor to "busy"
- put the selectedText of the target into theAction
- if (theAction <> "") then
- put "" into cd fld "Answer"
- put removeReturn(bg fld "Contents") into theBefore
- put "" into theAfter
- if (theAction = "Compress") then
- repeat with i = 1 to the number of chars of theBefore
- put char i of theBefore into theChar
- if (theChar <> return) then
- if (theChar <> " ") then
- put theChar after theAfter
- end if
- else
- put theChar after theAfter
- end if
- end repeat
- else if (theAction = "Expand") then
- repeat with i = 1 to the number of chars of theBefore
- put char i of theBefore into theChar
- put theChar after theAfter
- if (theChar <> return) then
- put " " after theAfter
- end if
- end repeat
- else if (theAction = "Reverse") then
- repeat with i = 1 to the number of chars of theBefore
- put char i of theBefore into theChar
- put theChar before theAfter
- end repeat
- else if (theAction = "Vertical") then
- repeat with i = 1 to the number of chars of theBefore
- put char i of theBefore into theChar
- put theChar & return after theAfter
- end repeat
- else if (theAction = "Words") then
- repeat with i = 1 to the number of words of theBefore
- put word i of theBefore into theWord
- put theWord & return after theAfter
- end repeat
- end if
- put theAfter into cd fld "Answer"
- end if
- beep 1
- end mouseUp
- Orchestra
- on mouseUp
- set the cursor to "busy"
- put the selectedText of the target into theAction
- if (theAction <> "") then
- put "" into theSounds
- repeat with i = 1 to (the number of cd btns - 1)
- put the selectedText of cd btn (i + 1) into theText
- if (theText <> "") then
- put theText & return after theSounds
- end if
- end repeat
- if (theSounds <> "") then
- repeat
- if ((the mouse = "down") or (theSounds = "")) then
- exit repeat
- else
- repeat with i = 1 to the number of lines of theSounds
- set the soundChannel to i
- play (line i of theSounds) (any item of "C,D,E,F,G,A,B") & (any item of "2,3,4,5") & (any item of "w,h,q,e,s")
- end repeat
- end if
- end repeat
- repeat with i = 1 to the number of lines of theSounds
- set the soundChannel to i
- play stop
- end repeat
- else
- answer "Select up to 8 sounds."
- end if
- end if
- beep 1
- end mouseUp
- Analog Clock
- on idle
- global globalCount,globalDate,globalTime
- if (globalCount = "true") then
- if (the shiftKey = "down") then
- lock screen
- reset paint
- choose oval tool
- set the filled to "true"
- set the pattern to "1"
- drag from "144,144" to "368,368" with optionKey
- choose browse tool
- unlock screen
- put "false" into globalCount
- put "" into cd fld "Question"
- put "" into cd fld "Answer"
- beep 1
- else
- if (the long time <> globalTime) then
- put the long date into globalDate
- put the long time into globalTime
- put globalDate into cd fld "Question"
- put globalTime into cd fld "Answer"
- lock screen
- reset paint
- choose oval tool
- set the filled to "true"
- set the pattern to "1"
- drag from "144,144" to "368,368" with optionKey
- put the itemDelimiter into oldDelimiter
- set the itemDelimiter to ":"
- put (word 1 of item 3 of globalTime) into theSecond
- put (((item 2 of globalTime) * 60) + theSecond) into theMinute
- put (((item 1 of globalTime) * 3600) + theMinute) into theHour
- set the itemDelimiter to oldDelimiter
- if (theSecond = "00") then
- play "harpsichord"
- end if
- choose line tool
- put ((2 * pi / 60) * theSecond) into theAngle
- set the lineSize to "1"
- drag from "256,256" to (256 + round(104 * sin(theAngle))),(256 - round(104 * cos(theAngle)))
- put ((2 * pi / 3600) * theMinute) into theAngle
- set the lineSize to "3"
- drag from "256,256" to (256 + round(88 * sin(theAngle))),(256 - round(88 * cos(theAngle)))
- put ((2 * pi / 43200) * theHour) into theAngle
- set the lineSize to "5"
- drag from "256,256" to (256 + round(72 * sin(theAngle))),(256 - round(72 * cos(theAngle)))
- choose browse tool
- unlock screen
- end if
- end if
- end if
- end idle
Messages système
- appleEvent
- on appleEvent class, id, sender
- -- statements
- end appleEvent
- closeBackground
- on closeBackground
- -- statements
- end closeBackground
- closeCard
- on closeCard
- -- statements
- end closeCard
- closeField
- on closeField
- -- statements
- end closeCard
- closeMovie
- on closeMovie movieName,windowID
- -- statements
- end closeMovie
- closePalette
- on closePalette paletteName,windowID
- -- statements
- end closePalette
- closePicture
- on closePicture pictureName,windowID
- -- statements
- end closePicture
- closeStack
- on closeStack
- -- statements
- end closeStack
- deleteBackground
- on deleteBackground
- -- statements
- end deleteBackground
- deleteButton
- on deleteButton
- -- statements
- end deleteButton
- deleteCard
- on deleteCard
- -- statements
- end deleteCard
- deleteField
- on deleteField
- -- statements
- end deleteField
- deleteStack
- on deleteStack
- -- statements
- end deleteStack
- errorDialog
- on errorDialog errorMessage
- -- statements
- end errorDialog
- enteringVRNode
- on enteringVRNode windowName,windowID,newNodeID
- -- statements
- end enteringVRNode
- exitField
- on exitField
- -- statements
- end exitField
- idle
- on idle
- -- statements
- end idle
- leavingVRNode
- on leavingVRNode windowName,windowID,oldNodeID,newNodeID
- -- statements
- end leavingVRNode
- mouseDoubleClick
- on mouseDoubleClick
- -- statements
- end mouseDoubleClick
- mouseDown
- on mouseDown
- -- statements
- end mouseDown
- mouseDownInMovie
- on mouseDownInMovie windowName,windowID,mouseLoc,movieTime,{"vrHotSpot",hotspotID | "movie",movieID}
- -- statements
- end mouseDownInMovie
- mouseDownInPicture
- on mouseDownInPicture windowName,clickLocation
- -- statements
- end mouseDownInPicture
- mouseEnter
- on mouseEnter
- -- statements
- end mouseEnter
- mouseEnterMovie
- on mouseEnterMovie windowName,windowID,mouseLoc,movieTime,{"vrHotSpot",hotspotID | "movie",movieID}
- -- statements
- end mouseEnterMovie
- mouseLeave
- on mouseLeave
- -- statements
- end mouseLeave
- mouseLeaveMovie
- on mouseLeaveMovie windowName,windowID,mouseLoc,movieTime,{"vrHotSpot",hotspotID | "movie",movieID}
- -- statements
- end mouseLeaveMovie
- mouseStillDown
- on mouseStillDown
- -- statements
- end mouseStillDown
- mouseStillDownInMovie
- on mouseStillDownInMovie windowName,windowID,mouseLoc,movieTime,{"vrHotSpot",hotspotID | "movie",movieID}
- -- statements
- end mouseStillDownInMovie
- mouseTriggerInMovie
- on mouseTriggerInMovie windowName,windowID,mouseLoc,movieTime,{"vrHotSpot",hotspotID | "movie",movieID}
- -- statements
- end mouseTriggerInMovie
- mouseUp
- on mouseUp
- -- statements
- end mouseUp
- mouseUpInMovie
- on mouseUpInMovie windowName,windowID,mouseLoc,movieTime,{"vrHotSpot",hotspotID | "movie",movieID}
- -- statements
- end mouseUpInMovie
- mouseUpInPicture
- on mouseUpInPicture windowName,clickLocation
- -- statements
- end mouseUpInPicture
- mouseWithin
- on mouseWithin
- -- statements
- end mouseWithin
- mouseWithinMovie
- on mouseWithinMovie windowName,windowID,mouseLoc,movieTime,{"vrHotSpot",hotspotID | "movie",movieID}
- -- statements
- end mouseWithinMovie
- moveWindow
- on moveWindow
- -- statements
- end moveWindow
- movieLinkToURL
- on movieLinkToURL windowName,windowID,pendingURL
- -- statements
- end movieLinkToURL
- movieRateChanged
- on movieRateChanged windowName,windowID,newRate
- -- statements
- end movieRateChanged
- movieTimeChanged
- on movieTimeChanged windowName,windowID,newTime
- -- statements
- end movieTimeChanged
- movieVolumeChanged
- on movieVolumeChanged windowName,windowID,newVolume
- -- statements
- end movieVolumeChanged
- newBackground
- on newBackground
- -- statements
- end newBackground
- newButton
- on newButton
- -- statements
- end newButton
- newCard
- on newCard
- -- statements
- end newCard
- newField
- on newField
- -- statements
- end newField
- newStack
- on newStack
- -- statements
- end newStack
- openBackground
- on openBackground
- -- statements
- end openBackground
- openCard
- on openCard
- -- statements
- end openCard
-
- openField
- on openField
- -- statements
- end openField
- openMovie
- on openMovie windowName,windowID
- -- statements
- end openMovie
- openPalette
- on openPalette paletteName,windowID
- -- statements
- end openPalette
- openPicture
- on openPicture windowName,windowID
- -- statements
- end openPicture
- openStack
- on openStack
- -- statements
- end openStack
- quit
- on quit
- -- statements
- end quit
- resume
- on resume
- -- statements
- end resume
- resumeStack
- on resumeStack
- -- statements
- end resumeStack
- sizeWindow
- on sizeWindow
- -- statements
- end sizeWindow
- spriteCustomAction
- on spriteCustomAction windowName,windowID,msgNumber,msgString
- -- statements
- end spriteCustomAction
- spriteDebugMessage
- on spriteDebugMessage windowName,movieID,message
- -- statements
- end spriteDebugMessage
- startup
- on startup
- -- statements
- end startup
- suspend
- on suspend
- -- statements
- end suspend
- suspendStack
- on suspendStack
- -- statements
- end suspendStack
Mots-clés
- do
- do statements [as scriptLanguage]
- end
- end {handlerName | if | repeat}
- exit
- exit {handlername | to HyperCard | repeat}
- function
- function customFunctionName [parameterList]
- global
- if-then-else
- if condition then statement [else statement]
- next repeat
- on
- on messageName [parameterList]
- pass
- repeat
- repeat {[forever] | for number [times] | until condition | while condition | with countVariable = start {to | down to} finish}
- return
- send
- send message [parameterList] [to {object | externalWindow}]
- send message [parameterList] to program programAddress [{with | without} reply]
Commandes
- activate
- add
- add number to [chunk of] container
- answer
- answer [normal] prompt [with button1[ or button2[ or button3]]]
- answer file prompt [of type fileType1[ or fileType2[ or fileType3]]]
- answer folder [prompt]
- answer program prompt [of type programType]
- arrowKey
- arrowKey {up | down | left | right}
- ask
- ask [password [clear]] question [with defaultReply]
- ask file prompt [with defaultFileName]
- beep
- choose
- choose toolName tool
- choose tool toolNumber
- click
- click at location [with key1[,key2[,key3]]]
- close
- close [document {in | with}] application
- close file fileName
- close movie movieName
- close picture pictureName
- close printing
- close windowDescriptor
- commandKeyDown
- controlKey
- convert
- convert inputDateTime [from date [and time]] to date [and time]
- copy template
- copy template reportTemplate to stack stackName
- create
- create menu menuName
- create stack stackName [with background] [in [a] new window]
- debug
- debug {pureQuickDraw {true | false} | sound {on | off} | maxMem | maxWindows | hintBits}
- debug checkpoint
- delete
- delete {button | field | part | chunk of container}
- delete [menuItem {of | from}] menu
- dial
- dial phoneNumber [with modem [modemCommandString]]
- disable
- disable {button | [menuItem of] menu}
- divide
- divide [chunk of] container by divisor
- doMenu
- doMenu menuItem [,menuName] [{with | without} dialog] [with modifierKey[,modifierKey[,modifierKey]]]
- drag
- drag from start to end [with modifierKey1[,modifierKey2[,modifierKey3]]]
- edit script
- edit [the] script of object
- enable
- enable {button | [menuItem of] menu}
- enterInField
- enterKey
- export paint
- export paint to file paintFile
- find
- find [normal | chars | word[s] | string | whole] [international] text [in field] [of marked cards]
- flash
- functionKey
- get
- go
- go [to] {card | background | stack [in [a] new window]} [without dialog]
- go [to] {home | back | {next | prev[ious] | ordinal | any} [[marked] card]}
- help
- hide
- hide {window | part | titlebar | menubar | groups | movie}
- hide {backgroundPicture | cardPicture}
- hide menubar
- import paint
- import paint from file paintFile
- keyDown
- lock
- lock error dialogs
- lock messages
- lock recent
- lock screen
- mark
- mark {card | all cards | cards where condition}
- mark cards by finding [international] [findForm] findString [in field]
- movie
- movie [name[,windowStyle[location[,visible[,floatingLayer]]]]]
- multiply
- multiply [chunk of] container by divisor
- open
- open [document with] application
- open file filePathname
- open movie moviePath
- open picture picturePathname
- open printing [with dialog]
- open report printing [with {dialog | template templateName}]
- open URL url-string
- palette
- pause
- picture
- picture [name[,source[,windowStyle[,visible[,bitDepth[floatingLayer]]]]]
- play
- play sound {tempo tempo} {notesList}
- play stop
- play movie movieName
- pop
- pop card [{before | into | after} [chunk of] container]
- print
- print {text | container}
- print card [from topLeft to rightBottom]
- print [number | all | marked] cards [from topLeft to rightBottom]
- print document with application
- push
- push [card | background | stack]
- put
- put text [{before | into | after} [chunk of] container]
- put itemList [into | before | after] {menuItem of} menu {with menuMessage[s] messageList}
- read
- read from file filePathname [at {start | -offsetFromEnd] {until {char | end | eof} | for numberOfChars}
- reply
- reply replyString [with keyword replyKeyword]
- reply error replyString
- request
- request evaluation {of | from} programAddress
- request {ae | appleEvent} {class | ID | sender | returnID | data [{of | with} keyword AEkeyword]}
- reset
- reset menubar
- reset paint
- reset printing
- returnInField
- returnKey
- rewind
- run
- save
- save stack as stackCopyName
- select
- select [before | after] {text | chunk} of {field | message}
- select {part | line of popupButton | empty}
- set
- set [the] property [of object] to value
- show
- show {window | part | movie} [at location]
- show {backgroundPicture | cardPicture | titlebar | menubar | groups}
- show [numberOfCards | marked | all] cards
- show menubar
- sort
- sort [[marked] cards of] {[this] stack | background}] [direction] [sortType] by sortKey
- sort [{lines | items} of] container [direction] [sortType] [by sortKey]
- speak
- speak phrase [with {gender voice | voice voiceName}]
- start
- stop
- stop sound
- stop speech
- stop using stackToRemove
- subtract
- subtract number from [chunk of] container
- tabKey
- type
- type characters [with modifierKey1[,modifierKey2[,modifierKey3]]]
- unlock
- unlock error dialogs
- unlock messages
- unlock recent
- unlock screen [with visual [effect] effectName [speed] [to destinationImage]]
- unmark
- unmark {card | all cards | cards where condition}
- unmark cards by finding [international] [findForm] findString [in field]
- visual
- visual [effect] effectName [speed] [to destinationImage]
- wait
- wait [for] time [tick[s] | second[s]]
- wait {while | until} condition
- write
- write text to file filePathname [at {start | end | eof | -offsetFromEnd }]
Fonctions
- abs
- the abs of number
- abs(number)
- annuity
- annuity(interestRate,numberOfPeriods)
- atan
- [the] atan of number
- atan(number)
- average
- charToNum
- [the] charToNum of character
- charToNum(character)
- clickChunk
- the clickChunk
- clickChunk()
- clickH, clickV
- the clickH
- clickH()
- the clickV
- clickV()
- clickLine
- the clickLine
- clickLine()
- clickLoc
- clickText
- the clickText
- clickText()
- commandKey
- the {commandKey | cmdKey}
- {commandKey | cmdKey}()
- compound
- compound(interestRate,numberOfPeriods)
- cos
- [the] cos of angleInRadians
- cos (angleInRadians)
- date
- the [long | abbr[rev[iated]] | short | English] date
- date()
- destination
- the destination
- destination()
- diskSpace
- the diskSpace [of disk diskName]
- diskspace([disk diskName])
- exp, exp1, exp2
- [the] exp of number
- exp(number)
- [the] exp1 of number
- exp1(number)
- [the] exp2 of number
- exp2(number)
- foundChunk
- the foundChunk
- foundChunk()
- foundField
- the foundField
- foundField()
- foundLine
- the foundLine
- foundLine()
- foundText
- the foundText
- foundText()
- heapSpace
- the heapSpace
- heapSpace()
- length
- [the] length of string
- length(string)
- ln, ln1, log2
- [the] ln of number
- ln(number)
- [the] ln1 of number
- ln1(number)
- [the] log2 of number
- log2(number)
- max
- menus
- min
- mouse
- mouseClick
- the mouseClick
- mouseClick()
- mouseH, mouseV
- the mouseH
- mouseH()
- the mouseV
- mouseV()
- mouseLoc
- number
- [the] number of [card | background] {buttons | fields | parts}
- [the] number of backgrounds [{in | of} this stack]
- [the] number of cards [{in | of} {background | this stack}]
- [the] number of marked cards
- [the] number of {characters | words | items | lines} {in | of} string
- [the] number of {menus | menuItems {in | of} menu}
- [the] number of movies
- [the] number of {nodes | [video | sprite] tracks} {of | in} movie
- [the] number of {hotspots {of | in} node | scenes {of | in} track | sprites {of | in} scene {of | in} track} {of | in} movie
- number({menus|menuItems {in | of} menu})
- number(windows)
- numToChar
- [the] numToChar of ASCIIvalue
- numToChar(ASCIIvalue)
- offset
- offset(stringToLocate,stringToSearch)
- optionKey
- the optionKey
- optionKey()
- param
- [the] param of parameterNumber
- param(parameterNumber)
- paramCount
- the paramCount
- paramCount()
- params
- programs
- the programs [of machine macAddress]
- programs()
- random
- [the] random of upperLimit
- random(upperLimit)
- result
- round
- [the] round of number
- round(number)
- screenRect
- the screenRect
- screenRect()
- seconds
- the sec[ond]s
- sec[ond]s()
- selectedButton
- the selectedButton of [card | background] family number
- selectedChunk
- the selectedChunk
- selectedChunk()
- selectedField
- the selectedField
- selectedField()
- selectedLine
- the selectedLine[s] [of {popupButton | field}]
- selectedLine({[popupButton | field]})
- selectedLoc
- the selectedLoc
- selectedLoc()
- selectedText
- the selectedText [of {popupButton | field}]
- selectedText({[popupButton | field]})
- shiftKey
- sin
- [the] sin of angleInRadians
- sin(angleInRadians)
- sound
- speech
- sqrt
- [the] sqrt of number
- sqrt(number)
- stacks
- stackSpace
- the stackSpace
- stackSpace()
- sum
- systemVersion
- the systemVersion
- systemVersion()
- tan
- [the] tan of angleInRadians
- tan(angleInRadians)
- target
- the [short | abbr[ev[iated]] | long] target
- target
- ticks
- time
- the [long | abbr[ev[iated]] | short | English] time
- time()
- tool
- trunc
- [the] trunc of number
- trunc(number)
- value
- [the] value of factor
- value(expression)
- voices
- windows
Propriétés
- address
- the address [of HyperCard]
- allowBalloonHelp
- set [the] allowBalloonHelp of movie to {true | false}
- autoHilite
- set [the] autoHilite of button to {true | false}
- autoSelect
- set [the] autoSelect of field to {true | false}
- autoTab
- set [the] autotab of field to {true | false}
- backColor
- set [the] backColor of [spriteTrack of] movie to redValue,greenValue,blueValue
- badge
- set [the] badge of movie to {true | false}
- blindTyping
- set [the] blindTyping [of HyperCard] to {true | false}
- bottom
- set [the] bottom of {button | field | window | [object of] movie} to integer
- the bottom of {menubar | card}
- bottomRight
- set [the] bot[tom]Right of {button | field | window | [object of] movie} to point
- the bot[tom]Right of {menubar | card}
- brush
- set [the] brush [of HyperCard] to brushNumber
- buttonCount
- the buttonCount of window paletteWindow
- callbackMsg
- set [the] callbackMsg of movie to messageName
- callbackTime
- set [the] callbackTime of movie to time
- callbackWhenDragging
- set [the] callbackWhenDragging of movie to {true | false}
- cantAbort
- set [the] cantAbort of stack to {true | false}
- cantDelete
- set [the] cantDelete of {stack | background | card} to [true | false]
- cantModify
- set [the] cantModify of stack to {true | false}
- cantPeek
- set [the] cantPeek of stack to {true | false}
- centered
- set [the] centered [of HyperCard] to {true | false}
- characteristics
- the characteristics of track of movie
- checkMark
- set [the] checkMark of menuItem of menu to {true | false}
- closeOnFinish
- set [the] closeOnFinish of movie to {true | false}
- commandChar
- set [the] {commandChar | cmdChar} of menuItem to [character | empty]
- commands
- the commands of [{track | sprite | hotspot } of] movie
- the commands of window paletteWindow
- comments
- the comments of {node | hotspot} of] movie
- copyright
- currNodeID
- set [the] currNodeID of VRmovie to nodeNumber
- currTime
- set [the] currTime of movie to time
- cursor
- set [the] cursor [of HyperCard] to {cursorNumber | cursorName}
- cursorID
- set [the] cursorID of movie to resourceID
- debugger
- set [the] debugger [of HyperCard] to debuggerXCMD
- defaultNodeID
- the defaultNodeID of VRmovie
- defaultRect
- the defaultRect of [track of] movie
- dialingTime
- set [the] dialingTime [of HyperCard] to numberOfTicks
- dialingVolume
- set [the] dialingVolume [of HyperCard] to speakerVolume
- dithering
- set [the] dithering of pictureWindow to {true | false}
- dontErase
- set [the] dontErase of window movieWindow to {true | false}
- dontSearch
- set [the] dontSearch of {field | card | background} to {true | false}
- dontWrap
- set [the] dontWrap of field to {true | false}
- dragEnabled
- set [the] dragEnabled of movie to {true | false}
- dragSpeed
- set [the] dragSpeed [of HyperCard] to pixelsPerSecond
- duration
- the duration of [[scene of] track of] movie
- editBkgnd
- set [the] editBkgnd [of HyperCard] to {true | false}
- enabled
- set [the] enabled of {button | [menuItem of] menu | {hotspot | track} of movie} to {true | false}
- endTime
- set [the] endTime of movie to time
- the endTime of [scene of] track of movie
- environment
- the environment [of HyperCard]
- exporter
- set [the] exporter of [track of] movie to QTExportType
- exporters
- the exporters of [track of] movie
- family
- set [the] family of button to familyNumber
- fastIdle
- set [the] fastIdle of movie to {true | false}
- fieldOfView
- set [the] fieldOfView of VRmovie to angle
- fieldOfViewRange
- the fieldOfViewRange of VRmovie
- filled
- set [the] filled [of HyperCard] to {true | false}
- findTextCaseSensitive
- set [the] findTextCaseSensitive of movie to {true | false}
- findTextReverse
- set [the] findTextReverse of movie to {true | false}
- findTextStart
- set [the] findTextStart of movie to movieTime & return & trackNumber & return & charOffset
- findTextWraparound
- set [the] findTextWraparound of movie to {true | false}
- fixedLineHeight
- set [the] fixedLineHeight of field to {true | false}
- foundTextOffset
- the foundTextOffset of movie
- freeSize
- globalLoc
- set [the] globalLoc of pictureWindow to {point | mainScreen | cardScreen | deepestScreen | largestScreen}
- globalRect
- set [the] globalRect of pictureWindow to {left,top,right,bottom | cardScreen | mainScreen | largestScreen | deepestScreen}
- graphicsMode
- set [the] graphicsMode of {track | sprite} of movie to quickDrawMode & return & RGBColor
- grid
- set [the] grid [of HyperCard] to {true | false}
- hBarLoc
- set [the] hBarLoc of window "Variable Watcher" to number
- height
- set [the] height of {button | field | card | window | [controller of] movie} to integer
- the height of menubar
- hideIdle
- set [the] hideIdle of window "Message Watcher" to {true | false}
- hideUnused
- set [the] hideUnused of window "Message Watcher" to {true | false}
- highQualityMode
- set [the] highQualityMode of track of movie to {true | false}
- hilite
- set [the] [hilite | hilight | highlite | highlight] of button to {true | false}
- hilitedButton
- set [the] hilitedButton of window paletteWindow to buttonNumber
- icon
- set [the] icon of button to {iconName | resourceID}
- ID
- the [short | abbr[ev[iated]] | long] ID of {object | window | menu [track | scene | sprite | node | hotspot] of movie | HyperCard}
- idleFrequency
- set [the] idleFrequency of spriteTrack of movie to frequencyInTicks
- image
- set [the] image of sprite [of spriteTrack] of movie to {name | number}
- imageCorrection
- set [the] imageCorrection of VRmovie to {none | partial | full}
- imageCount
- the imageCount of scene of [track of] movie
- imageQuality
- set [the] imageQuality of VRmovie to {low | normal | high}
- information
- isVRMovie
- itemDelimiter
- set [the] itemDelimiter [of HyperCard] to character
- language
- set [the] language [of HyperCard] to {English | translatorName}
- set [the] language of movie to {languageName | languageNumber}
- the language of track of movie
- layer
- set [the] layer of {track | sprite} of movie to layerNumber
- left
- set [the] left of {button | field | window | [object of] movie} to integer
the left of {menubar | card}
- lineSize
- set [the] lineSize [of HyperCard] to thicknessInPixels
- linkDestination
- the linkDestination of hotSpot of [node of] VRmovie
- location
- set [the] loc[ation] of {button | field | card | window |[object of] movie} to point
- lockErrorDialogs
- set [the] lockErrorDialogs [of HyperCard] to {true | false}
- lockMessages
- set [the] lockMessages [of HyperCard] to {true | false}
set [the] lockMessages of movie to {true | false}
- lockRecent
- set [the] lockRecent [of HyperCard] to {true | false}
- lockScreen
- set [the] lockScreen [of HyperCard] to {true | false}
- set [the] lockScreen of movie to {true | false}
- lockText
- set [the] lockText of field to {true | false}
- longWindowTitles
- set [the] longWindowTitles [of HyperCard] to {true | false}
- loop
- set [the] loop of movie to {true | false}
- loopIsPalindrome
- set [the] loopIsPalindrome of movie to {true | false}
- markChar
- set [the] markChar of menuItem of menu to character
- marked
- set [the] marked of card to {true | false}
- mask
- set [the] mask of [track of] movie to {imageFileName | empty]
- matrix
- set [the] matrix of [{track | sprite} of] movie to {matrix | identity}
- menuMessage
- set [the] {menuMessage | menuMsg} of menuItem to messageName
- messages
- messageWatcher
- set [the] messageWatcher [of HyperCard] to messageWatcherXCMD
- missingComponents
- the missingComponents of movie
- movie
- set [the] movie of movieWindow to moviePath
- multiple
- set [the] multiple [of HyperCard] to {true | false}
- multipleLines
- set [the] multipleLines of field to {true | false}
- multiSpace
- set [the] multiSpace [of HyperCard] to spaceBetweenShapes
- mute
- set [the] mute of [audioTrack of] movie to {true | false}
- name
- set [the] name [of element] to newName
- the [English | short | abbr[ev[iated]] | long] name [of element]
- set [the] [English] name of menuItem of menu to newName
- the [English] name of menu
- nextLine
- set [the] nextLine of window "Message Watcher" to text
- number
- the [long | abbr[rev[iated]] | short] number of {part | card | bg | window | [object of] movie}
- number({field | button | card | bg | window | [object of] movie})
- numberFormat
- set [the] numberFormat [of HyperCard] to formatExpression
- owner
- the [long | short] owner of {window | card}
- the owner of [controller | [sprite of [scene of]] track of | [hotspot of] node of] movie
- panAngle
- set [the] panAngle of VRmovie to angleInDegrees
- panAngleRange
- the panAngleRange of VRmovie
- partNumber
- set [the] partNumber of {button | field} to number
- passMovieClick
- set [the] passMovieClick of movie to {true | false}
- pattern
- set [the] pattern [of HyperCard] to patternNumber
- pictureHeight
- the pictureHeight of pictureWindow
- pictureWidth
- the pictureWidth of pictureWindow
- polySides
- set [the] polySides [of HyperCard] to numberOfSides
- powerKeys
- set [the] powerKeys [of HyperCard] to {true | false}
- preferredLoc
- the preferredLoc of movie
- preferredRate
- the preferredRate of movie
- preferredSoundVolume
- the preferredSoundVolume of movie
- printMargins
- set [the] printMargins [of HyperCard] to left,top,right,bottom
- printTextAlign
- set [the] printTextAlign [of HyperCard] to alignment
- printTextFont
- set [the] printTextFont [of HyperCard] to fontName
- printTextHeight
- set [the] printTextHeight [of HyperCard] to pixelHeight
- printTextSize
- set [the] printTextSize [of HyperCard] to fontSize
- printTextStyle
- set [the] printTextStyle [of HyperCard] to styleList
- properties
- the properties of externalWindow
- the properties of [{track | scene | sprite | node | hotspot | controller} of] movie
- rate
- set [the] rate of movie to rate
- rectangle
- set the rect[angle] of {part | card | card window | [object of] movie} to left,top,right,bottom
- the rect[angle] of {window | menubar}
- reportTemplates
- the reportTemplates of stack
- right
- set [the] right of {button | field | card | window | [object of] movie} to integer
- the right of {menubar | card}
- scale
- set [the] scale of [{sprite | track} of] movie to {half | normal | double | fullscreen | horizScale [,vertScale]}
- set [the] scale of pictureWindow to integer
- scaleMedia
- set [the] scaleMedia of spriteTrack of movie to {true | false}
- script
- set [the] script of object to scriptText
- scriptEditor
- set [the] scriptEditor [of HyperCard] to scriptXCMD
- scriptingLanguage
- set [the] scriptingLanguage [of object] to scriptingLanguage
- scriptTextFont
- set [the] scriptTextFont [of HyperCard] to fontName
- scriptTextSize
- set [the] scriptTextSize [of HyperCard] to pointSize
- scroll
- set [the] scroll of scrollingField to integer
- set [the] scroll of window to horizOffset,vertOffset
- seeAllFrames
- set [the] seeAllFrames of movie to {true | false}
- sendMouseWithinMsg
- set [the] sendMouseWithinMsg of movie to {true | false}
- sharedHilite
- set [the] sharedHilite of backgroundButton to {true | false}
- sharedText
- set [the] sharedText of backgroundField to {true | false}
- showHotspots
- set [the] showHotspots of controller of VRmovie to {true | false}
- showLines
- set [the] showLines of field to {true | false}
- showName
- set [the] showName of button to {true | false}
- showPict
- set [the] showPict of {card | background} to {true | false}
- size
- the size of {stack | [ {track | sprite} of] movie }
- soundBalance
- set [the] soundBalance of soundTrack of movie to integer
- soundChannel
- set [the] soundChannel to channelNumber
- soundOutputComponent
- set [the] soundOutputComponent of soundTrack of movie to {componentName | componentNumber}
- soundVolume
- set [the] soundVolume of [track of] movie to level
- stacksInUse
- the stacksInUse [of HyperCard]
- startTime
- set [the] endTime of [track of] movie to time
- the endTime of scene of movie
- style
- set [the] style of part to style
- suppressHotspotNames
- set [the] suppressHotspotNames [of controller] of VRmovie to {true | false}
- suspended
- the suspended [of HyperCard]
- text
- set [the] text of window "Message Watcher" to text
- the text of track of movie
- textAlign
- set [the] textAlign [of HyperCard | of {button | field}] to alignment
- textArrows
- set [the] textArrows [of HyperCard] to {true | false}
- textFont
- set [the] textFont [of HyperCard | of message | of button | of {chunk of} field] to fontName
- textHeight
- set [the] textHeight [of HyperCard | of field | of button] to pixelHeight
- textSize
- set [the] textSize [of HyperCard | of message | of button | of {chunk of} field] to fontSize
- textStyle
- set [the] textStyle [of HyperCard | of message | of button | of {chunk of} field | of menuItem] to styleList
- tiltAngle
- set [the] tiltAngle of VRmovie to angleInDegrees
- tiltAngleRange
- the tiltAngleRange of VRmovie
- timeFormat
- set [the] timeFormat of movie to {SystemTime | MovieTime}
- timeScale
- titleWidth
- set [the] titleWidth of popupButton to pixelWidth
- top
- set [the] top of {button | field | window | [object of] movie} to integer
- the top of {menubar | card}
- topLeft
- set [the] topLeft of {button | field | window | [object of] movie} to location
- the topLeft of {menubar | card}
- traceDelay
- set [the] traceDelay [of HyperCard] to delayTicks
- type
- the type of [{track | node | hotspot | controller} of] movie
- useCustomCLUT
- set [the] useCustomCLUT of movie to {true | false}
- userLevel
- set [the] userLevel [of HyperCard] to levelNumber
- userModify
- set [the] userModify [of HyperCard] to {true | false}
- variableWatcher
- set [the] variableWatcher [of HyperCard] to variableWatcherXCMD
- vBarLoc
- set [the] vBarLoc of window "Variable Watcher" to number
- version
- the [short | abbr[ev[iated]] | long] version [of {service | stack | scriptingLanguage language}]
- version(service | stack | scriptingLanguage language)
- visible
- set [the] visible of {button | field | window | menubar | [{sprite | spriteTrack | controller} of] movie} to {true | false}
- wideMargins
- set [the] wideMargins of field to {true | false}
- width
- set [the] width of {button | field | card | window | [object of] movie} to integer
- the width of menubar
- zoom
- set [the] zoom of pictureWindow to {in | out}
- zoomed
- set [the] zoomed of card window to {true | false}
- the zoomed of window
Opérateurs
Arithmetic operators
Comparison operators
- =, is
- <>, is not
- <
- >
- <=
- >=
- contains
- is in
- is not in
- is within
- is not within
Logical operators
String operators
Type and existence operators
- is a
- data is [not] a[n] {number | integer | point | rect[angle] | date | logical}
- there is a
- there is [a[n] | not a[n] | no] {object | window | picture | disk | folder | file | movie | scriptingLanguage | application | document | menu | menuItem | program}
Constantes
- colon
- comma
- down
- empty
- false
- formFeed
- lineFeed
- pi
- quote
- return
- space
- tab
- true
- up
- zero
- one
- two
- three
- four
- five
- six
- seven
- eight
- nine
- ten
Échantillon de questions à choix multiples et réponses
Questions
- Laquelle des commandes suivantes est équivalente à (lock messages)?
- set the lockMessages to true
- set the lockMessages to false
- set the lockMessage to true
- set the lockMessage to false
- Laquelle des commandes suivantes est illégale?
- go next
- go to next
- go next cd
- goto next cd
- Laquelle des commandes suivantes a une fausse syntaxe?
- put the English name of this cd into theName
- put the international name of this cd into theName
- put the short name of this cd into theName
- put the long name of this cd into theName
- Quel est le rendement de la comparaison ("A" = "B")?
- false
- true
- 0
- 1
- Qu'est-ce que la fonction sin(0) renvoie?
- 0.5
- 1
- 0
- -1
Réponses
- a
- d
- b
- a
- c
Bibliographie
- Énumérées ci-dessous, dans aucun ordre spécifique, sont les sources à partir desquelles ce guide d'étude a été construit. Dans la plupart des cas, les sources ont été sélectionnées à partir des dernières éditions disponibles à l'auteur. Inutile de dire que l'auteur et les éditeurs n'assument aucune responsabilité vis-à-vis l'exactitude avec laquelle ces sources ont été à l'origine imprimées. Cette liste, n'est donc ni critique ni annotée; elle est incluse pour aider l'étudiant.
- Getting Started: With HyperCard
- Apple Computer, Inc.
- 1995
- HyperCard: Reference Manual
- Apple Computer, Inc.
- 1993
- HyperCard: Script Language Guide
- Apple Computer, Inc.
- 1993
- HyperTalk 2.2: The Book
- Dan Winkler, Scot Kamins, and Jeanne DeVoto
- Random House, Inc.
- 1994
- ISBN 0-679-79171-X
- The Complete HyperCard 2.2 Handbook
- Danny Goodman
- Random House, Inc.
- 1993
- ISBN 0-679-79122-1
- HyperGames
- <http://WWW.HyperInfo.CA/HyperGames/>
- <mailto:Comments@HyperInfo.CA>
- HyperInfo Canada Inc.
- 1998
- ISBN 0-929105-25-7