property/identifier

Dieses Thema im Forum "Scripting und Automatisierung" wurde erstellt von lengsel, 20.08.2004.

  1. lengsel

    lengsel Thread Starter MacUser Mitglied

    Beiträge:
    4.627
    Zustimmungen:
    53
    MacUser seit:
    25.11.2003
    Ich stehe gerade etwas vor einem Rätsel.
    Ich habe mehrere OSAX-Erweiterungen installiert, die eigentlich eindeutig zu benutzen sind und auch funktionieren, aber jetzt habe ich ein Problem.
    Und zwar scheint das Metric Conversions Osax nicht zu funktionieren, aber wahrscheinlich bin ich nur zu doof.
    Enthalten in dem Osax ist u.a. der Befehl convert time.
    Wenn ich diesen benutze sagt mir der Skripteditor bei der Ausführung: "property" kann nicht diesem "identifier" folgen.

    Warum?

    Grüße,
    Flo
     
  2. Winter

    Winter MacUser Mitglied

    Beiträge:
    1.083
    Zustimmungen:
    24
    MacUser seit:
    16.03.2004
    Hast Du eine Seite mit einigen Erweiterungen zum download parat?
     
  3. lengsel

    lengsel Thread Starter MacUser Mitglied

    Beiträge:
    4.627
    Zustimmungen:
    53
    MacUser seit:
    25.11.2003
  4. Winter

    Winter MacUser Mitglied

    Beiträge:
    1.083
    Zustimmungen:
    24
    MacUser seit:
    16.03.2004
    Vielen Dank, da werde ich mal stöbern. Ich suche etwas wie display dialog director. Es muss allerdings auch unter Panther laufen.
     
  5. Snow

    Snow MacUser Mitglied

    Beiträge:
    262
    Zustimmungen:
    2
    MacUser seit:
    24.03.2003
    @lengsel
    Die Metric Conversions Osax ist von 1997 - also mit Sicherheit nur bis OS 9 nutzbar.

    Unter OS X brauchst du sie unter Umständen gar nicht. Probiere einfach mal einige Umrechnungen aus. Hier ein Beispiel:

    set x to 1000 as meters
    set x to x as miles


    Oder:

    set x to 1 as miles
    set x to x as kilometers


    Oder:

    set x to 50 as meters
    set x to x as yards


    Einfach mal munter drauflos probieren.
     
    Zuletzt bearbeitet: 21.08.2004
  6. Snow

    Snow MacUser Mitglied

    Beiträge:
    262
    Zustimmungen:
    2
    MacUser seit:
    24.03.2003
    Damit das Probieren einfacher wird, hier die unterstützten Formate, wie sie im AppleScript Language Guide stehen:

    Length:
    - centimetres
    - centimeters
    - feet
    - inches
    - kilometres
    - kilometers
    - metres
    - meters
    - miles
    - yards

    Area:
    - square feet
    - square kilometres
    - square kilometers
    - square metres
    - square meters
    - square miles
    - square yards

    Cubic Volume:
    - cubic centimetres
    - cubic centimeters
    - cubic feet
    - cubic inches
    - cubic metres
    - cubic meters
    - cubic yards

    Liquid Volume:
    - gallons
    - litres
    - liters
    - quarts

    Weight:
    - grams
    - kilograms
    - ounces
    - pounds

    Temperature:
    - degrees Celsius
    - degrees Fahrenheit
    - degrees Kelvin

    Da diese Angaben aus dem AppleScript Language Guide stammen (hat ja schon einige Jahre auf dem Buckel), funktionieren sie mit Sicherheit auch unter OS 9 ab AppleScript 1.3
     
    Zuletzt bearbeitet: 21.08.2004
  7. lengsel

    lengsel Thread Starter MacUser Mitglied

    Beiträge:
    4.627
    Zustimmungen:
    53
    MacUser seit:
    25.11.2003
    Oh, das ist mir wohl entgangen.

    Danke für die Beispiele, werd ich probieren.
    Hauptsächlich wollte ich Zeiten umrechnen.


    Und weil ich gerade fertig geworden bin damit, hier noch Code aus zwei Skripten die ich verändert habe um die Songs in iTunes hübsch anzuzeigen.
    Vielleicht gefällt es ja auch dem einen oder anderen.
    Einziges Problem ist dass sich das Icon nicht ändert wenn es zu einem Song kein Artwork gibt. Dann bekommt man immer noch das vom letzten Song mit Artwork zu sehen. Schick wäre da sowas wie ein Standardicon...

    ====================================

    (*
    Dieses Script ist aus leicht veränderten Versionen der Skripte
    "Save Artwork to Folder" (Credits siehe unten) und "iTunes Bezel"
    (http://www.macosxhints.com/article.php?story=20040810091734861&query=bezel)
    entstanden. Mit Sicherheit lassen sich die Veränderungen am Code die ich
    vorgenommen habe auch eleganter lösen, aber für meine Problemlösung reicht es aus.
    Flo Gründel (flo@florian-gruendel.de)

    "Save Artwork To Folder" for iTunes
    written by Doug Adams
    dougadams@mac.com

    Thanks to Olivier Hericord for main routines!
    v1.0 june 6 04
    - initial release

    Get more free AppleScripts and info on writing your own
    at Doug's AppleScripts for iTunes
    http://www.malcolmadams.com/itunes/
    *)
    tell application "iTunes"

    if selection is not {} and (count items of selection) is 1 then
    set theTrack to item 1 of selection
    else
    my alert_user_and_cancel("Please select one track.")
    end if

    if class of theTrack is not file track or artworks of theTrack is {} then
    my alert_user_and_cancel("The selected track does not contain Artwork.")
    end if

    set artworkFolder to (("Macintosh HD:Users:USERNAME:Library:Application Support:LanOSD:icons:") as string)

    try
    set artworkData to (data of artwork 1 of theTrack) as picture
    set artworkFormat to (format of artwork 1 of theTrack) as string
    if artworkFormat contains "JPEG" then
    set extension to ".jpg"
    else if artworkFormat contains "PNG" then
    set extension to ".png"
    end if

    set theName to ("icon-music")

    set tempartworkFile to (artworkFolder & "temp" & extension) as string
    set finalartworkFile to (artworkFolder & theName & extension) as string

    set file_reference to (open for access tempartworkFile write permission 1)
    write artworkData starting at 0 to file_reference as picture
    close access file_reference

    do shell script "cd " & quoted form of (POSIX path of artworkFolder) & ¬
    ";tail -c+223 " & quoted form of ("temp" & extension) & "> " & ¬
    quoted form of (theName & extension) & ";rm " & ¬
    quoted form of ("temp" & extension)

    on error errM
    close access file_reference
    my alert_user_and_cancel("Unable to export Artwork from the selected track." & ¬
    return & return & errM)
    end try
    end tell

    to alert_user_and_cancel(message)
    tell application "iTunes" to display dialog message buttons {"Cancel"} ¬
    default button 1 with icon 0
    end alert_user_and_cancel

    tell application "System Events" to set doit to (exists process "iTunes")
    tell application "iTunes" to set doit to doit and not (minimized of first EQ window)
    tell application "iTunes" to set doit to doit and (player state is playing)
    if doit then
    tell application "iTunes"
    set trk_arts to the artist of the current track
    set trk_name to the name of the current track
    set trk_albm to the album of the current track
    end tell
    tell application "LanOSD"
    message kind "itunes-song" text trk_arts fade delay 10 over 1 quadrant 6 icon "music"
    message kind "itunes-song" text trk_name fade delay 10 over 2
    message kind "itunes-song" text "From \"" & trk_albm & "\"" fade delay 10 over 3
    end tell
    end if

    ================================

    Grüße,
    Flo

    P.S.: Ist eigentlich schon mal jemandem aufgefallen dass sich diese Pfefferschoten pepp /Gurken banana /wie auch immer-Smileys nahezu exakt zu "She was" von den Talking Heads bewegen? (Kleines bisschen zu schnell, aber doch irgendwie passend) Wenn das mal kein Zufall ist.... :)
     
  8. Snow

    Snow MacUser Mitglied

    Beiträge:
    262
    Zustimmungen:
    2
    MacUser seit:
    24.03.2003
    Dafür gibt es hours und minutes als Konstanten. AppleScript rechnet die Zeit immer in Sekunden.

    Also gesamte Sekunden in Std:Min:Sek umrechnen klappt z.B. so:

    set tSec to 3687 -- Sekunden gesamt
    set tHrs to tSec div hours
    set tMin to (tSec mod hours) div minutes
    set trSec to ((tSec mod hours) mod minutes)

    set tTime to (tHrs & ":" & tMin & ":" & trSec) as string


    Ergebnis:
    "1:1:27"


    Und nun das Ganze anders herum:

    set Zeitangabe to "1:1:27"
    set AppleScript's text item delimiters to ":"
    set Hrs to text item 1 of Zeitangabe
    set Min to text item 2 of Zeitangabe
    set Sec to text item 3 of Zeitangabe
    set AppleScript's text item delimiters to ""

    set GesamtSekunden to (Hrs * 3600) + (Min * 60) + Sec


    Ergebnis:
    3687
     
  9. lengsel

    lengsel Thread Starter MacUser Mitglied

    Beiträge:
    4.627
    Zustimmungen:
    53
    MacUser seit:
    25.11.2003
    Super, vielen Dank.
    Habe mir jetzt auch mal den AS Language Guide runtergeladen, damit ich nicht mehr so oft blöd fragen muss...hoffentlich :)

    Grüße,
    Flo
     
  10. Winter

    Winter MacUser Mitglied

    Beiträge:
    1.083
    Zustimmungen:
    24
    MacUser seit:
    16.03.2004
    Snow, ich wusste gar nicht, dass Du auch bei MacUser unterwegs bist. Das macht das Ganze natürlich wesentlich leichter :)
    Dann kann man Dir Dein Wissen ja auch hier aus dem Bauch leiern … ;)
     
Die Seite wird geladen...
Ähnliche Themen - property identifier
  1. hansi181075
    Antworten:
    4
    Aufrufe:
    528

Diese Seite empfehlen