Apple Script optimieren, wie?(flüssiger laufen)

Leser

Leser

Aktives Mitglied
Thread Starter
Dabei seit
01.01.2011
Beiträge
620
Reaktionspunkte
33
Hallo

Ich habe mir ein kleines Script gebastelt. Dabei sollen Finder-Fenster eingeblendet werden und die Position verändert werden. Nun blitzt es zum Anfang an einer Stelle kurz auf und ruckelt sehr stark bis es an der richtigen Position ist.

Kann man das noch optimieren und wenn ja wie?
Oder sind da die Grenzen von AS erreicht und man sollte es vielleicht in einer anderen Programmiersprache versuchen?

Ich würde mich sehr über den einen oder anderen Tipp freuen und bedanke mich schon mal im voraus.

VG

Code:
tell application "Finder"
    activate
    set Fenster to make new Finder window
    repeat with Durchlauf from 350 to 0 by -3
        set position of Fenster to {Durchlauf, 250}
        set Zielordner to ":Users:michael" as alias
        set target of Fenster to Zielordner
    end repeat
    set Fenster to make new Finder window
    repeat with Durchlauf from 450 to 720 by 3
        set position of Fenster to {Durchlauf, 250}
        set Zielordner to ":Users:michael:downloads" as alias
        set target of Fenster to Zielordner
    end repeat
end tell
display notification with title "Erfolgreich" subtitle "los geht`s"
 
Du solltest die letzten beiden Zeilen, in denen jeweils der Zielordner festgelegt und als target dem Fenster zugewiesen wird aus der repeat-Schleife herausziehen, damit diese nur ein einziges mal ausgeführt werden, statt ~100 mal. Im Schleifenrumpf musst Du bloß die Position neu setzen.
 
Hallo

@kermitd
Vielen Dank für deine Hilfe.
Ich habe den Code etwas geändert.
Jetzt läuft es flüssiger und schneller. (Auch wenn es immer noch etwas hackelt)

Macht es einen Unterschied ob man 2 tell Blöcke nacheinander ausführt oder ist das egal?

Code:
tell application "Finder"
    activate
    set Fenster to make new Finder window
    repeat with Durchlauf from 720 to 0 by -9
        set position of Fenster to {Durchlauf, 0}
    end repeat
    --set Zielordner to ":Users:michael" as alias
    --set target of Fenster to Zielordner
end tell
tell application "Finder"
    activate
    set Fenster to make new Finder window
    repeat with Durchlauf from 0 to 720 by 9
        set position of Fenster to {Durchlauf, 0}
    end repeat
    --set Zielordner to ":Users:michael:downloads" as alias
    --set target of Fenster to Zielordner
end tell
display notification with title "Umgebung erstellt" subtitle "please start work"
 
Macht es einen Unterschied ob man 2 tell Blöcke nacheinander ausführt oder ist das egal?
Während der Ausführung hat das keine Bedeutung mehr ob Du zwei Blöcke hintereinander gesetzt oder zusammengefasst hast, oder sogar jeder relevanten Zeile einzeln die tell-Anweisung vorangestellt hast. Resultiert im gleichen Bytecode, in den das Script kompiliert wird. Dient immer bloß dazu den Kontext/Ansprechpartner festzulegen. Insofern solltest Du das einfach so handhaben, dass es für Dich (und vielleicht auch andere Adressaten) gut lesbar/strukturiert ist.
 
alles klar , danke für deine Hilfe.

beste Grüße
 
Zurück
Oben Unten