Applescript Anfänger - Wie Bibliothek nutzen?

Dieses Thema im Forum "Scripting und Automatisierung" wurde erstellt von SelKai, 10.07.2005.

  1. SelKai

    SelKai Thread Starter MacUser Mitglied

    Beiträge:
    81
    Zustimmungen:
    0
    MacUser seit:
    10.07.2005
    Hallo alle zusammen.

    Ich bin gerade dabei mich in AS "einzulesen". Kann mir vielleicht jemand an einem einfachen Beispiel erklären, wie ich die Bibliothek des Script Editors zB für den Finder richtig nutze?

    Vielen Dank!
     
  2. lengsel

    lengsel MacUser Mitglied

    Beiträge:
    4.627
    Zustimmungen:
    53
    MacUser seit:
    25.11.2003
    Die Bibliotheken sind insofern hilfreich, weil dort das mir zur Verfügung stehende Vokabular und seine Funktion(en) genannt werden.
    Ich möchte also zum Beispiel dass sich zwei Finderfenster gegenseitig über den Bildschirm jagen. Ich sehe also in der Bibliothek nach welches ein geeigneter Ausdruck sein könnte um mein Vorhaben zu verwirklichen.
    Unter Window classes, Klassen, window findet sich u.a. das Wort position.
    AS ist immer auch ganz viel Trial&Error, also probiere ich einfach mal folgendes:

    set position of Finder window 1 to {10, 336}

    Die Zahlen bezeichnen die in der Bibliothek angegebene Referenz (the upper left position of the window).
    Ich stelle fest dass das funktioniert, setze also andere Werte für Fenster 2, und habe meine erste Position für beide Fenster. Ich wiederhole die Positionsangaben für beide Fenster einige Male, und schon jagen sie sich über den Bildschirm. Aber die Fenster sind u.U. recht gross, und der Effekt des Jagens ist dann nicht mehr so toll. Ich will den Fenstern also eine definierte Größe geben. Ein Blick in die Bibliothek lässt mich hoffen dass das Wort bounds (the boundary rectangle for the window) hier hilfreich sein könnte.
    Ich probiere also:

    set bounds of Finder window 1 to {0, 0, 100, 100}

    Und siehe da, es klappt. Das Fenster hat die Größe die ich ihm geben wollte.

    Hoffe das kleine, sinnfreie Beispiel vermittelt eine Idee von der Nutzung der Bibliothek:
    Ich suche mir in der Bibliothek die "Wörter" raus die mir für mein aktuelles Vorhaben geeignet erscheinen und spiele damit rum.
    So benutze ich die Bibliothek. Wenn man sich mal an die "Sprache" gewöhnt hat, findet man meist recht schnell heraus welches Wort einem wann und wie weiterhilft.

    Grüße,
    Flo

    P.S.:
    Zur Belustigung hier das ganze "Windowchaser.scpt":

    repeat 2 times
    tell application "Finder"
    make new Finder window
    end tell
    end repeat

    tell application "Finder"
    set bounds of Finder window 1 to {0, 0, 100, 100}
    set bounds of Finder window 2 to {0, 0, 100, 100}
    end tell
    repeat 2 times
    tell application "Finder"
    activate
    set position of Finder window 1 to {10, 336}
    set position of Finder window 2 to {252, 275}
    set position of Finder window 1 to {15, 601}
    set position of Finder window 2 to {417, 338}
    set position of Finder window 1 to {338, 596}
    set position of Finder window 2 to {382, 132}
    set position of Finder window 1 to {739, 601}
    set position of Finder window 2 to {792, 115}
    set position of Finder window 1 to {750, 352}
    set position of Finder window 2 to {750, 352}
    set position of Finder window 1 to {792, 115}
    set position of Finder window 2 to {739, 601}
    set position of Finder window 1 to {382, 132}
    set position of Finder window 2 to {338, 596}
    set position of Finder window 1 to {417, 338}
    set position of Finder window 2 to {15, 601}
    set position of Finder window 1 to {252, 275}
    set position of Finder window 2 to {10, 336}
    end tell
    end repeat
    tell application "Finder"
    set bounds of Finder window 1 to {200, 200, 400, 300}
    set bounds of Finder window 2 to {200, 250, 300, 400}
    end tell
     
  3. SelKai

    SelKai Thread Starter MacUser Mitglied

    Beiträge:
    81
    Zustimmungen:
    0
    MacUser seit:
    10.07.2005
    Vielen Dank! Das hat mir schon weitergeholfen.
     
Die Seite wird geladen...