AppleScript <-> Applikation Kommunikation

Dieses Thema im Forum "Scripting und Automatisierung" wurde erstellt von heck, 10.10.2003.

  1. heck

    heck Thread Starter MacUser Mitglied

    Beiträge:
    1
    Zustimmungen:
    0
    MacUser seit:
    10.10.2003
    Hallo AppleSript gemeinschaft

    weiss jemand von euch welche Varianten es gibt, von einer Applikation
    aus (Prozess) ein AppleScript mit Parameterübergabe aufzurufen.

    Die einzige methode die ich kenne ist der Start eines Applesctipts
    welches die dargebotenen Objekte der Applikation ausliest.

    Ist dies die einzige Methode?

    Zweite frage, wie kann ich herausfinden welche AppleScript Objekte eine Applikation anbietet, wenn ich keine Dokumentation von der Applikation habe?
     
  2. Snow

    Snow MacUser Mitglied

    Beiträge:
    262
    Zustimmungen:
    2
    MacUser seit:
    24.03.2003
    Ich fange mal mit der zweiten Frage an:

    Zieh' die entsprechende Application auf den Skripteditor, dann wird das Befehlsverzeichnis geöffnet.

    Zur ersten Frage:

    Du könntest dir ein Skript quasi als Bibliothek mit verschiedenen Funktionen anlegen.

    In einem anderen Skript lädst du per "load script" dieses erste Skript in eine Variable und kannst dann auf all diese Funktionen zugreifen (natürlich auch mit Parameter-Übergabe).

    Beispiel:

    Skript 1:

    on MeineRoutine(MeinParameter)
    display dialog MeinParameter as string
    end MeineRoutine


    Dieses Skript (Ich nenne es mal "Library") enthält die Routine, die die eigentliche Arbeit leistet. Jetzt kommt das aufrufende Skript:

    Skript 2:

    set myScript to ¬
    load script (choose file with prompt "Wo ist die Datei \"Library\"?")

    tell myScript to MeineRoutine("AppleScript macht Spaß!")


    Hier wird also zunächst das Skript 1 in die Variable "myScript" geladen (Statt "choose file" kann natürlich auch eine feste Pfadangabe verwendet werden). Somit stehen alle Funktionen von Skript 1 in Skript 2 zur Verfügung.

    Der Aufruf einer Funktion aus Skript 2 wird nun an die Variable "myScript" gerichtet, wobei beim Aufruf mitgeteilt wird, dass die Routine "MeineRoutine" mit dem Parameter "AppleScript macht Spaß!" ausgeführt werden soll.

    Wirklich sinnvoll ist diese Vorgehensweise aber nur, wenn man wirklich eine Funktionsbibliothek benutzt.

    Es muss ja schließlich zunächst das Skript 1 gestartet werden und hier müsste dann wiederum erst mal der entsprechende Wert aus der jeweiligen Applikation abgefragt werden, um dann an eine entsprechende Routine übergeben zu werden.

    Wenn man nicht wirklich viele Funktionen ständig wieder braucht könnte man diese also genauso gut gleich in Skript 1 notieren.


    Programme, die ein AppleScript aufrufen können sind ja eher die Seltenheit. Mir fällt da jetzt nur FileMaker ein. Ansonsten ist es ja eher so, dass ein AppleScript ein bestimmtes Programm anspricht - somit sind wir schon wieder beim "Datenabholen".

    AppleScripts, die gleich mit übergebenen Parametern starten, wären Droplets, bei denen die Dateireferenzen der darauf gezogenen Dateien automatisch an das Skript übergeben werden und dann natürlich die Ordneraktionen. Auch hier werden Datei- bzw. Ordnerreferenzen an das Skript übergeben.

    Mehr fällt mir im Augenblick auch nicht zum Thema ein.

    Gruß
     
  3. Snow

    Snow MacUser Mitglied

    Beiträge:
    262
    Zustimmungen:
    2
    MacUser seit:
    24.03.2003
    Was FileMaker anbelangt, gibt es dort den Befehl "Apple Event senden". Damit ist es möglich, ein Skript aufzurufen und dabei Parameter zu übergeben.

    Wie das genau geht, habe ich soeben in meinem eigenen Forum gepostet (inkl. Screenshots). Deshalb hier nur der Link zum betreffenden Thema:

    http://www.fischer-bayern.de/phpBB2/viewtopic.php?p=3357#3357
     
Die Seite wird geladen...
Ähnliche Themen - AppleScript Applikation Kommunikation
  1. ben9016
    Antworten:
    13
    Aufrufe:
    271
    Olivetti
    29.10.2016
  2. mikemobile
    Antworten:
    9
    Aufrufe:
    221
    Olivetti
    09.10.2016
  3. momo1990
    Antworten:
    18
    Aufrufe:
    369
    Olivetti
    05.10.2016
  4. Tastentipper
    Antworten:
    1
    Aufrufe:
    148
    oneOeight
    16.09.2016
  5. HaubenTaucher
    Antworten:
    2
    Aufrufe:
    208
    HaubenTaucher
    20.08.2016