1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

preferences für ein Skript erstellen

Dieses Thema im Forum "AppleScript" wurde erstellt von JohannesDörnte, 23.05.06.

  1. Hi,

    ich möchte für ein Skript Preferences erstellen. Beim Start soll das Script diese auf bestimmte Werte (Zahlen, Pfad als Strings) abfragen - und bei Fehlen anlegen (in ~/Library/Preferences). Während der Laufzeit müssen Werte neu geschrieben werden.

    Kann mir jemand helfen, wo ich das nachlesen kann - oder gerne auch ein Beispiel posten.

    Ist das möglich? Jede andere Möglichkeit außer einer Pref-Datei wäre natürlich auch interessant. Die Werte müssen halt nur mehrere Aufrufe des Skriptes überdauern.

    Vielen Dank im Voraus
    Johannes Dörnte
     
  2. Daisy

    Daisy Uelzener Rambour

    Dabei seit:
    14.01.06
    Beiträge:
    366
    Hallo Johannes,

    wenn du dein Scriptprogramm mit dem AppleScriptStudio (Xcode) anlegst, dann kannst du direkt auf die 'user defaults' deines Programms zugreifen:

    Code:
    -- Eintrag anlegen
    make new default entry at end of default entries of user defaults with properties {name:"nameOfTheKey", contents:theValue}
    
    -- Eintrag überschreiben/neu setzen
    set contents of default entry "nameOfTheKey" of user defaults to theNewValue
    
    -- Eintrag auslesen
    set myValue to  (contents of default entry "nameOfTheKey" of user defaults)
    
    bei einem reinen AppleScript (SkriptEditor) könnte das mit dem Shellbefehl 'defaults' realisiert werden:
    Code:
    defaults write com.me.myNewScript "nameOfTheKey" 'value' -- *
    defaults read com.me.myNewScript "nameOfTheKey"
    * lies dazu in den man pages von 'defaults':

    write domain key 'value'
    Writes value as the value for key in domain. value must be
    a property list, and must be enclosed in single quotes. For
    example:

    defaults write com.companyname.appname "Default Color" '(255, 0, 0)'

    sets the value for Default Color to an array containing the
    strings 255, 0, 0 (the red, green, and blue components).
    Note that the key is enclosed in quotation marks because it
    contains a space.


    vom AppleScript aus kannst du das mit 'do shell script' einbauen:

    Code:
    do shell script ("defaults write com.me.myNewScript \"Prefs Value 1\" '(255,0,0)'")
    get (do shell script "defaults read com.me.myNewScript \"Prefs Value 1\"")

    Ich hoffe, das hilft dir weiter ...

    Grüße,

    D.
     
  3. Ich denke erst ma ja - vielen Dank. Ich werde mich wohl doch mal mit XCode beschäftigen müssen. Erzeugt XCode ganz normale AppleScripts oder werden damits Applications auf der Basis eines AppleScripts erzeugt?

    Gibt es da vieleicht einen Tipp für ein gutes Tutorial (so wie das auf Fischer-Bayer.de für AppleScript)?

    Johannes Dörnte
     
  4. Daisy

    Daisy Uelzener Rambour

    Dabei seit:
    14.01.06
    Beiträge:
    366
    Letzteres. Mit dem AppleScript Studio (ist integriert in Xcode) kannst du auf Basis von AppleScript Cocoa-Programme erstellen und auch dabei auch (fast) alle User Interface 'Bausteine' verwenden, die Cocoa bietet - das Ergebnis sieht damit dann aus wie ein 'richtiges' Programm ;) Ein weiterer Pluspunkt gegenüber dem 'reinen AppleScript' vom SkriptEditor, ist die Möglichkeit, AppleScript-Bestandteile mit Objective-C oder anderen Sprachen in einem Projekt zu kombinieren.


    Zum Einstieg ist sicher der AppleScript Studio Programming Guide (http://developer.apple.com/documentation/AppleScript/Conceptual/StudioBuildingApps/index.html) geeignet. Dann gibt's im Ordner 'Developer', der bei der Installation der Developrt Tools auf deiner Festplatte angelegt wird, auch einen Ordner mit 'Examples' - dort schaust du im Ordner 'AppleScript Studio'. Da gibt es eine ganze Menge Anschauungsmaterial. Foren zum Stöbern sind neben dem bayerischen Fischer (der hat doch auch eine Abteilung für AppleScript Studio, wenn ich mich nicht irre) - das Forum bei MacScripter: (http://bbs.applescript.net/viewforum.php?id=3).
    Lohnenswert ist auch das Abbonement (und Archiv) der Apple'schen Mailing Liste zum AppleScript-studio (http://lists.apple.com)

    Grüße,

    D.
     
  5. Vielen Dank - ich war ein paar Tage verreist und konnte nichts probieren. Jetzt funktioniert es. Ein Tipp für andere, die gleiches versuchen: Einen Wert, der in einer Variablen gespeichert ist, speichert man folgendermaßen (es wird ein string gespeichert)

    do shell script ("defaults write \"nameDesKeys\" " & wertInVariable)


    Johannes
     
    #5 JohannesDörnte, 30.05.06
    Zuletzt von einem Moderator bearbeitet: 30.05.06

Diese Seite empfehlen