Objekte in AppleScript

In AppleScript handelt es sich bei Objekten um Gegenstände des Betriebssystem, einer Applikation, einer Skripterweiterung oder eines Skriptes, die auf Befehle reagieren kšnnen.

Wichtige Objekte sind: Applikationen, Dateien, Ordner.

Applikationen

application "Finder"

Dateien

file "Macintosh HD:Briefe:Carrie"

Ordner

file "Macintosh HD:Briefe"

Im Gegensatz zu der File-Referenz versucht AppleScript bei der Verwendung der Alias-Referenz ein internes Alias zu erzeugen, wenn das Skript kompiliert wird. Dies hat zwei Auswirkungen. Erstens muss das Objekt, auf welches mit der Alias-Referenz verwiesen wird, bereits beim Kompilieren des Skripts vorhanden sein, da AppleScript ansonsten das interne Alias nicht erzeugen kann. Zweitens kann das Objekt, auf welches mit einer Alias-Referenz gezeigt wird, wie eine Alias-Datei im Finder auch verschoben werden, ohne dass AppleScript den Bezug verliert.

Beinhaltet ein Objekt ein Unterobjekt, so bezeichnet man dieses als Element. Das Verzeichnis gibt Auskunft darüber, wie die Elemente angesprochen werden können.

Beispiel:

tell application "FileMaker Pro"
   cell 2 of field 3
end tell

Neben Elementen kann ein Objekt aber auch Eigenschaften (Properties) besitzen, die einen bestimmten Wert darstellen. Arbeiten wir mit den Objekten einer Applikation, so benutzen wir deren Befehle, um auf die Objekte zugreifen zu können. Mit der Tell-Anweisung lässt sich ein bestimmtes Objekt festlegen, auf welches sich alle Anweisungen innerhalb der Tell-Anweisung beziehen. Tell-Anweisungen können auch verschachtelt werden:


tell application "FileMaker Pro"
  tell field 3
     get cell 2
  end tell
end tell

Die Me- und My-Variablen ermöglichen den Zugriff auf ein Objekt des gerade laufenden Skripts. Dieser wird nötig, wenn man sich innerhalb einer tell-Anweisung befinden, und sich AppleScript somit nur auf diese Objekte bezieht, Sie aber ein Objekt in Ihrem Skript ansprechen wollen.

tell application "Finder"
  set theVersion to get version
  my DoBeep()
  tell me to display dialog theVersion
end tell

on DoBeep()
  beep 3
end DoBeep