Texte erweitern

Von Jürgen Schell. | 9 April, 2008 - 09:14
Beschreibung:

Texte werden am einfachsten mit “make new text� eingefügt:

tell application "RagTime 6.5"
     tell text flow 1 of document 1
          make new text at end with data " Schlusswort"
     end tell
end tell

Am Ende der Komponente wird “ Schlusswort� angehängt. Die Position kann mit den gängigen “at beginning�, “at end�, “at after� und “at before� erfolgen. Beispiele:

tell application "RagTime 6.5"
     tell text flow 1 of document 1
          make new text at after paragraph 2 with data "Dies ist ein zusätzlicher Absatz nach Absatz 2\r"
     end tell
end tell

Beachten Sie, dass nur am Ende des Textes ein Return steht, nicht am Anfang. “after paragraph� erzeugt immer einen neuen Absatz.

Eine Besonderheit von Texten ist, dass man oft dort etwas einfügen will, wo noch nichts steht. Soll heißen: Nicht Buchstabe 2 eines Absatzes soll auf xyz gesetzt werden, sondern zwischen Buchstabe 2 und 3 soll xyz eingefügt werden. In der von Apple normierten Text Suite ist das Hilfsmittel dafür der “insertion point�. Der folgender Code setzt am Anfang des zweiten Absatzes Text ein:

tell application "RagTime 6.5"
     tell text flow 1 of document 1
          set insertion point before paragraph 2 to "Dies ist ein neuer Anfangssatz für Absatz 2. "
     end tell
end tell

Statt “before paragraph 2� könnte auch “after paragraph 1� stehen. Der Effekt wäre derselbe. In dieser Notation können Sie das Ende eines Absatzes ansprechen in der Form:

...
set insertion point after character -2 of paragraph 2 to...
...

Achten Sie darauf, dass der insertion point mit after oder before, nicht aber mit at benutzt wird: Das Ziel ist nicht ein bestehendes Objekt.