Galileo Design < openbook > Galileo Design - Know-how für Kreative.
Know-how für Kreative

Inhaltsverzeichnis
5 Erste Schritte mit dem Terminal
19 Dashboard
21 AppleScript einsetzen
Stichwort

Download:
- ZIP, ca. 1,4 MB
Buch bestellen
Ihre Meinung?

Spacer
 <<   zurück
Das Praxisbuch Mac OS X Tiger von Kai Surendorf
Die Version 10.4 im professionellen Einsatz
Buch: Das Praxisbuch Mac OS X Tiger

Das Praxisbuch Mac OS X Tiger

622 S., 34,90 Euro
Galileo Design
ISBN 978-3-89842-621-3
gp 21 AppleScript einsetzen
  gp 21.1 Erste Schritte
    gp 21.1.1 Objektorientierung
  gp 21.2 Der Skripteditor
    gp 21.2.1 Das Hauptfenster
    gp 21.2.2 Das Skriptmenü
  gp 21.3 Variablen
    gp 21.3.1 Variablen definieren
    gp 21.3.2 Werte auslesen
  gp 21.4 Applikationen ansprechen
  gp 21.5 Schleifen und Bedingungen
    gp 21.5.1 if … then …
    gp 21.5.2 Häufige Fehler
    gp 21.5.3 Textwerte abfragen
    gp 21.5.4 Bedingungen und Blöcke
    gp 21.5.5 Schleifen definieren
    gp 21.5.6 Endlosschleifen und Exit
  gp 21.6 Variablen in Listen
    gp 21.6.1 Listenelemente ansprechen
    gp 21.6.2 Element aus Auswahlmenü
  gp 21.7 Fehler abfangen
  gp 21.8 Funktionen
    gp 21.8.1 Ausführung nur bei Aufruf
    gp 21.8.2 Lokale Variablen übergeben
  gp 21.9 Arbeit mit Texten
    gp 21.9.1 Absätze verarbeiten
    gp 21.9.2 Wörter verarbeiten
    gp 21.9.3 Text formatieren
    gp 21.9.4 Farben zuweisen
  gp 21.10 Arbeit mit Dateien und Daten
    gp 21.10.1 Datei automatisch öffnen
    gp 21.10.2 Datei speichern und schließen
    gp 21.10.3 Datei überschreiben
    gp 21.10.4 Skript-Protokoll erstellen
    gp 21.10.5 Datei-Informationen auslesen
  gp 21.11 Nützliche Beispiele
    gp 21.11.1 Automatisches Backup
    gp 21.11.2 Ordner synchronisieren
    gp 21.11.3 FileMaker und das Adressbuch
  gp 21.12 AppleScript und das Terminal
  gp 21.13 Bildbearbeitung mit Image Events
    gp 21.13.1 Bilder konvertieren
    gp 21.13.2 Thumbnails erzeugen
    gp 21.13.3 Bild drehen und spiegeln
  gp 21.14 Ordneraktionen
    gp 21.14.1 Warnton beim Öffnen von Ordnern
    gp 21.14.2 Zentralen Download-Ordner erstellen
  gp 21.15 Ausführbare Skripten
  gp 21.16 Droplets
  gp 21.17 AppleScript im Netzwerk
  gp 21.18 Ausblick


Galileo Design

21.3 Variablen  downtop


Galileo Design

21.3.1 Variablen definieren  downtop

Die Aufgabe von Variablen besteht darin, Werte zu speichern. Wenn Sie ein Skript schreiben möchten, das eine vorgegebene Datei an einen anderen Ort kopiert, können Sie den Pfad der Datei im Skript fest vorgeben. Dies hat jedoch den Nachteil, dass Ihr Skript nur mit dieser einen Datei funktioniert und Sie, wenn das Skript eine andere Datei bearbeiten soll, jedes Mal den Quellcode ändern müssen. Es ist effizienter, die zu kopierende Datei vom Anwender zu erfragen und ihren Namen in einer Variablen zu speichern, deren Wert bei jeder Ausführung des Skriptes anders sein kann. So muss es nicht für jede Datei umgeschrieben werden. Zur Definition einer Variablen dient der Befehl set. Ein sehr einfaches Beispiel ist das folgendes Skript:

set test to "Hallo Du da!" 
say test 
display dialog test
Syntax Highlighting
Wenn Sie dieses Skript ausführen, wird das Wort test vom Skripteditor grün eingefärbt, im Gegensatz zu den blauen Objekten wie say und display dialog. Ebenfalls blau, aber noch dazu fett, werden die Wörter set und to gekennzeichnet. Diese Auszeichnung bedeutet, dass sie zum regulären Befehlsschatz gehören. Es handelt sich dabei nicht um Objekte.

Keine Variablen in Anführungszeichen | Das Ergebnis dieses kleinen Skriptes besteht darin, dass Ihnen einmal »Hallo Du da!« in englischer Aussprache vorgelesen wird und dann ein gleich lautender Dialog auf dem Screen angezeigt wird. Würden Sie im Code die Textphrase in den Anführungszeichen ändern, so würde sowohl die Sprachausgabe als auch der Dialog entsprechend anders lauten. Noch anders verhielte es sich, wenn Sie say test in say "test" umwandeln würden. Die Anführungszeichen bewirken, dass das Wort test nicht mehr als Variable, sondern wie im ersten Beispiel als Wert – eben als Textphrase – betrachtet wird. Demzufolge wird das Wort «test« gesprochen. Variablen müssen immer ohne Anführungszeichen angegeben werden.

Reservierte Wörter
Ein weiterer Punkt, der oft zu Fehlern führt, ist die Verwendung reservierter Wörter. Als reservierte Wörter werden diejenigen betrachtet, die von AppleScript verwendet werden. Es ist nicht möglich, eine Variable mit der Bezeichnung set zu definieren, indem Sie die erste Zeile in set set to "Hallo Du da!" abändern. Sie erhalten dann vom Skripteditor eine Fehlermeldung und er verweigert die weitere Ausführung des Skriptes.

Galileo Design

21.3.2 Werte auslesen  toptop

In unseren Beispielen wurden die Werte der Variablen fest innerhalb des Skriptes definiert. Eine erste und einfache Möglichkeit, vom Anwender eine Vorgabe zu erhalten, bietet sich mit

display dialog

Es ist aber auch möglich, dem Objekt, das den Dialog repräsentiert, Eigenschaften zuzuweisen, die über ihre Beschriftung hinausgehen. Nehmen Sie an, Sie möchten einen Benutzernamen erfragen, um automatisch eine Sicherheitskopie dessen persönlichen Verzeichnisses zu erstellen. Der Teil des Skripts für Anzeige und Aktivierung des Dialogfelds könnte so lauten:

set Ergebnis to display dialog "Welcher Name?" buttons {"Kai", "Thorsten"} 
set Vorname to button returned of Ergebnis

Abbildung 21.9 Die Verwendung reservierter Wörter führt zu einer Fehlermeldung, denn AppleScript kann ihre Verwendung nicht auseinanderhalten.

Abbildung 21.10 Über einen Dialog kann vom Anwender ein Wert übergeben werden.

Um einer Variablen einen Wert zuzuweisen sind in der Tat zwei Zeilen Skripttext notwendig:

Wert speichern, … | Die erste Zeile hat die Aufgabe, den Dialog aufzurufen: Mit buttons werden die Standard-Schaltflächen eines Dialogs geändert. In den geschweiften Klammern werden, durch Kommata getrennt, die Beschriftungen der Schaltflächen vorgegeben. Sie können auch weitere Schaltflächen definieren, indem Sie diese ebenfalls in Anführungsstrichen und durch ein Komma vom vorhergehenden Eintrag getrennt einsetzen. Anders als in den ersten beiden Beispielen, verbleibt das Ergebnis hier nicht im Skripteditor, sondern wird in der Variablen Ergebnis gespeichert. Diese enthält dann nicht den Text selbst, sondern nur das Rückgabe-Objekt des Dialogs. Wenn Sie sich das Event-Protokoll anschauen, werden Sie dort einen Eintrag {button returned:"Thorsten"} finden.

Abbildung 21.11 Das Ergebnis der Auswahl wird in einem Objekt button returned gespeichert.

… auslesen und zuweisen | Im zweiten Schritt wird aus dem Objekt der vom Dialog zurückgegebene Wert ausgelesen. Es wird auf das neu entstandene Objekt zurückgegriffen und mit button returned der Wert ausgelesen und der Variablen Vorname zugewiesen. Eine Variable mit der Bezeichnung Name ist nicht möglich, da es sich dabei um ein reserviertes Wort handelt. Jetzt wäre es möglich, ausgehend von dieser Variablen zum Beispiel das persönliche Verzeichnis des Benutzers zu kopieren.

Anweisungsblöcke übergeben
Möchten Sie mehrere Anweisungen an ein Programm richten, ist es regelrecht lästig, jedes Mal mit tell die Applikation direkt anzusprechen. Für solche Zwecke ist es möglich, Anweisungen in einem Block zusammenzufassen. Ein solcher wird mit tell und dem Namen des Programms eingeleitet, anschließend folgt aber kein Befehl, sondern ein Zeilenumbruch. Dann schließen sich die auszuführenden Befehle an, die sich an das angegebene Programm richten. Beendet wird der Block mit der Zeile end tell. Folgende Anweisungen können zum Beispiel dem Finder gebündelt übergeben werden:
tell application "Finder" 
    activate 
    open home 
    empty trash 
end tell
Hier werden drei Aktionen ausgeführt. Zuerst wird der Finder in den Vordergrund gebracht, dann das persönliche Verzeichnis des aktuellen Benutzers geöffnet und schließlich der Papierkorb geleert. Eine Fehlermeldung erhalten Sie, wenn Sie die Befehlsfolge abändern in
tell application "Finder" 
    activate 
    open home 
end tell 
empty trash
Die letzte Anweisung steht hier außerhalb des Blocks, und der Skripteditor kann nicht ermitteln, an welches Programm sie sich richtet.


Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






 <<   zurück
  
  Zum Katalog
Zum Katalog: Das Praxisbuch Mac OS X Tiger






 Das Praxisbuch
 Mac OS X Tiger

Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Das Praxisbuch Mac OS X Leopard






 Das Praxisbuch
 Mac OS X Leopard


Zum Katalog: Mac OS X 10.5 Leopard






 Mac OS X 10.5
 Leopard


Zum Katalog: iLife ’08: iPhoto, iMovie, iDVD, GarageBand, iTunes und iWeb






 iLife ’08:
 iPhoto, iMovie, iDVD,
 GarageBand, iTunes
 und iWeb


Zum Katalog: iLife ’08: iPhoto, iMovie, iDVD, GarageBand, iWeb und iTunes - Videotraining






 iLife ’08:
 iPhoto, iMovie, iDVD,
 GarageBand, iWeb und
 iTunes - Videotraining


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 2005
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Design]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de