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.9 Arbeit mit Texten  downtop

Ein nicht unwesentlicher Teil der Zeit vor dem Computer vergeht in der Regel mit der Arbeit an Texten jedweder Art. AppleScript bringt einige praktische Möglichkeiten mit, Text in Variablen einzulesen und zu bearbeiten.

Text in Variablen einlesen
Nehmen Sie an, Sie haben im Programm TextEdit ein Dokument erstellt, das zwei oder mehr Absätze enthält. Sie möchten nun den gesamten Text auf den ersten Absatz reduzieren. Hierzu muss zuerst der Editor angesprochen werden, dann der gesamte Text des Dokumentes ausgelesen und auf den ersten Absatz reduziert sowie schließlich wieder in das Dokument zurück geschrieben werden.

Galileo Design

21.9.1 Absätze verarbeiten  downtop

Das folgende Skript geht davon, dass der Text bereits von Ihnen geöffnet wurde und sich im vordersten Fenster befindet:

tell application "TextEdit" 
    set Dokument to text of first document 
    set Absatz to first paragraph of Dokument 
    set text of first document to Absatz 
end tell

In die Variable Dokument wird zuerst der gesamte Text des im Finder an vorderster Stelle befindlichen Fensters eingelesen. Anschließend wird diese Variable auf den ersten Absatz reduziert. Anstatt mit first den ersten Absatz anzusprechen, können Sie zum Beispiel mit einer Ganzzahl wie 4 auch den vierten Absatz auswählen. Nachdem nach der Reduktion nur noch ein Absatz vorhanden ist, wird der Text des ersten Dokuments mit diesem gefüllt.

Das Skript lässt sich auch auf eine Zeile konzentrieren. Die Anzeige ist jedoch unübersichtlicher und der Lerneffekt für die Arbeit geht dabei etwas verloren:

tell application "TextEdit" 
    set text of first document to first paragraph of first document 
end tell

Dieses Skript erscheint zwar redundant, eine Befehlszeile von AppleScript wird jedoch nicht zwangsläufig von links nach rechts eingelesen, sondern immer als vollständiges Statement. Dementsprechend wird auch der Text, der schon vorhanden ist, nicht durch die ersten fünf Anweisungen gelöscht.


Galileo Design

21.9.2 Wörter verarbeiten  downtop

Anstatt ganze Absätze zu verarbeiten, können Sie auch mit einzelnen Wörtern Aktionen durchführen. Das Skript

tell application "TextEdit" 
    set Absatz to first paragraph of first document 
    set Anzahl to count words of Absatz 
    repeat with Zaehler from 1 to Anzahl 
    set Wort to word Zaehler of Absatz as string 
    say Wort 
    end repeat 
end tell

liest, wie schon das vorherige Beispiel, den ersten Absatz ein, spricht diesen aber Wort für Wort. Hierbei bedient es sich einer Schleife mit Hilfe von repeat. Um die Wörter einzeln ansprechen zu können, muss zuerst mit count die Anzahl der Wörter ermittelt werden. Die Schleife wird vom Wert 1 ausgehend so oft durchlaufen, bis die Variable Zaehler den gleichen Wert erreicht hat wie die Anzahl der Wörter. Das jeweilige Wort wird dann in eine Variable eingelesen und schließlich vorgelesen.

Umwandeln in Text
Die Umwandlung der Wörter in reinen Text mag verwirren. Sie ist aber notwendig, weil das von TextEdit zurückgegebene Objekt nicht aus reinem Text besteht, sondern noch Zusatzinformationen wie Schriftgröße, Zeichensatz und Farbe enthält. Solche Angaben lassen sich schlecht vorlesen.

Zwar können Sie bei Variablen, die Ganzzahlen enthalten, ohne Probleme die gängigen mathematischen Verfahren anwenden und etwa mit set Zaehler to Zaehler + 10 den Wert der Variablen um 10 erhöhen oder mit set Zaehler to Zaehler / 10 durch 10 teilen, bei Variablen mit Text funktioniert dies hingegen nicht. Sie müssen stattdessen das &-Zeichen verwenden, um mehrere Variablen zu einer zu addieren.

Um zum Beispiel im ersten Absatz eines Dokumentes alle Leerzeichen durch Minuszeichen zu ersetzen, können Sie den Absatz zuerst in einzelne Wörter aufbrechen und diese dann, von einem Minuszeichen getrennt, wieder zusammensetzen. Das passende Skript lautet wie folgt:

tell application "TextEdit" 
    set Absatz to first paragraph of first document 
    set Anzahl to count words of Absatz 
    set Ergebnis to "" 
    repeat with Zaehler from 1 to Anzahl 
    set Wort to word Zaehler of Absatz as string 
    set Ergebnis to Ergebnis & Wort & "-" 
    end repeat 
end tell

Der Aufbau dieses Skriptes entspricht weitgehend dem vorhergehenden. Der Unterschied besteht aber darin, dass zuerst eine leere Variable Ergebnis definiert wird. Anstelle der Sprachausgabe wird an diese Variable das jeweils aktuelle Wort, gefolgt von einem Minuszeichen, angehängt. Die Definition des Minuszeichens in einer Variablen, die angehängt wird, ist nicht erforderlich. Sie können diesen vorgegebenen Text mit Hilfe zweier Anführungsstriche auch im Skript fest angeben.


Galileo Design

21.9.3 Text formatieren  downtop

Direkt von TextEdit übergebene Texte lassen sich nicht mit say vorlesen. Sie enthalten noch Werte zur Formatierung, die Sie ebenfalls mit Hilfe von AppleScript verändern können. Nehmen wir eine Textdatei im RTF-Format, bei der wir den ersten Absatz mit einer Schriftgröße von 18 Punkt und der Schriftart Times, den zweiten Absatz mit einer Schriftgröße 14 Punkt und der Schriftart Courier und im dritten Absatz lediglich den ersten Buchstaben als Initiale mit einer Größe von 24 Punkt versehen wollen. Mit folgendem Skript kommen wir zum gewünschten Ergebnis:

tell application "TextEdit" 
    tell first document 
        set size of paragraph 1 to 18 
        set font of paragraph 1 to "Times" 
        set size of paragraph 2 to 14 
        set font of paragraph 2 to "Courier" 
        set size of character 1 of paragraph 3 to 24 
    end tell 
end tell

Dieses Skript ist an sich selbsterklärend. Es wurde lediglich, um sich für jede set-Anweisung die explizite Angabe des Dokuments zu ersparen, ein Block eingefügt, der alle umschlossenen Anweisungen auf das erste Dokument anwendet.

Abbildung 21.16 Den Elementen eines Textes werden einzelne Eigenschaften und deren Werte zugewiesen.

Abbildung 21.17 Der Text wurde mit Hilfe von AppleScript formatiert.


Galileo Design

21.9.4 Farben zuweisen  toptop

Wenn Sie Text farbig formatieren möchten oder in einem anderen Zusammenhang eine Farbe zuweisen möchten, können Sie sich auch dafür der Möglichkeiten von AppleScript bedienen. Die Anweisung

set Farbe to choose color

ruft den Farbdialog von Mac OS X auf und speichert die ausgewählte Farbe als RGB-Wert in der Variablen Farbe. Zuweisen ließe sich eine neue Farbe für den Text etwa mit dem Befehl:

set color of character 1 of paragraph 3 to Farbe


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