[GastForen Programmierung/Entwicklung AppleScript Scripts beschleunigen, mit QXP 6.1 aktueller denn je

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Scripts beschleunigen, mit QXP 6.1 aktueller denn je

Hans Haesler
  
Beiträge gesamt: 5818

29. Okt 2004, 09:39
Beitrag # 1 von 1
Bewertung:
(341 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Scripter,

eine Bemerkung von Michael [<--mmaass-->] veranlasste mich, einige Massnahmen zum Beschleunigen der Script-Ausführung ein weiteres Mal zu posten.

Sehr viel bringt es, wenn man die Handler in Script-Objekte verwandelt. Es hat jede Menge Beispiele in den optimierten Script-Menü-Scripts. Nicht so einfach zu handhaben und in gewissen Fällen nicht geeignet, weil die Bildschirmanzeige nicht aufgefrischt wird. Kann man manchmal nachhelfen, z.B. wenn das Script-Objekt aus einer Repeat-Schleife aufgerufen wird. Vor jedem Aufruf die Zeile 'do updates' einschieben.

Man sollte auch darauf achten, dass keine Box ausgewählt ist. Wenn eine Script zu Beginn eine ausgewählte Box erwartet, dann sofort eine Objektreferenz oder die 'uniqueID' davon speichern und die Auswahl mit 'set selection to null' aufheben.

Ein weiterer Bremsklotz wird von XPress &#150; je nach Aufgabe des Scripts &#150; während der Ausführung fabriziert. Wenn das Script Boxen erzeugt, dann bleiben sie ausgewählt. Der Ablauf wird gewaltig gesteigert, wenn nach jeder neuen Box die Auswahl aufgehoben wird.

Sparte man mit QXP 4.11 noch einige Sekunden ein, wenn man zum Objektwerkzeug wechselte, muss mit QXP 6.1 das Inhaltswerkzeug ausgewählt sein, wenn Textboxen adressiert werden.

Soviel Geschwindigkeitsschub ein Script-Objekt auch bringt, ich habe kürzlich eine Fall gehabt, wo eine zusätzliche Massnahme notwendig wurde: Das Ansichtsprozent auf 800 setzen und das Fenster auf das Minimum verkleinern. Achtung: Damit das Verkleinern per Script funktioniert, muss man zuerst eventuell nachhelfen. Bei einem Projekt die Ecke rechts unten packen und die Grösse des Fensters ändern. Damit wird XPress an diese Möglichkeit erinnert und macht es bei weiteren Projekten selbständig &#133;
---
tell application "QuarkXPress 6.1"
   activate
   -- ... die Namen des Projekts und des Layouts und das Ansichtsprozent  speichern ...   
   tell document 1
      set projName to name
      set viewScale to view scale
   end tell
   tell project 1
      tell active layout space
         set layName to name
      end tell
   end tell
   -- ... die Namen zusammensetzen ...
   set winName to projName & " : " & layName
   -- ... damit das Fenster minimiert werden kann (dadurch wird die Ausführung beschleunigt)
   tell window winName
      -- die Reihenfolge "horizontal/vertikal" des Abfragens ...
      set {wx1, wy1, wx2, wy2} to bounds
      -- ... muss beim Zuweisen in "vertikal/horizontal" verkehrt werden (N.-B.: die beiden Werte 'wy2' und 'wx2'
      -- werden nicht beachtet; ein Minimum von '{2, 25, 366, 165}' wird nicht unterschritten)
      set bounds to {wy1, wx1, 23, 23}
   end tell
   tell document 1
      set view scale to 800
   end tell
   (*
   Hier die Aufgaben ausführen
   *)
   -- Eine Verzögerung einbauen, aber nur damit man mit dieser Skizze sieht, wie das Fenster
   -- verkleinert und dann wieder auf die ursprüngliche Grösse gebracht wird
   delay 2 -- <<< in einem "richtigen" Script enfernen   
   -- Das Fenster wieder aufklappen
   tell window winName
      -- Die Werte x und y der Originalabfrage müssen dabei ausgetauscht (= y, x) werden
      set bounds to {wy1, wx1, wy2, wx2}
   end tell
   -- Das ursprüngliche Ansichtsprozent wiederherstellen
   tell document 1
      set view scale to viewScale
      show page 1
   end tell
end tell
---

Gruss, Hans
X

Aktuell

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
02.02.2023

Prozesse optimieren und effizient gestalten

Zürich
Donnerstag, 02. Feb. 2023, 08.00 - 10.00 Uhr

Digitalisierung, Webauftritt

Digitalisierung mitgestalten - Worauf kommt es an? Wie wichtig ist die Webseite? Webseite mit Word Press? Interne Prozesse optimieren

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: Birol Isik, E-Mailinfo AT bkcc DOT ch

https://digitalisierung-heute.ch/digitalisierung-informationstag-schweiz/

Veranstaltungen
01.03.2023 - 09.03.2023

Online
Mittwoch, 01. März 2023, 00.00 Uhr - Donnerstag, 09. März 2023, 00.00 Uhr

Online Webinar

Wie gehen wir mit diesen Veränderungen um? Was ist notwendig, damit wir die Digitalisierung im Unternehmen klappt? Veränderungsprozesse verstehen und entsprechend handeln Mitarbeiter als Botschafter Webseite mit WordPress erstellen SEA /SEO (Ads aufschalten)

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: B. Isik, E-Mailinfo AT snfa DOT ch

https://www.fernstudiumfitness.ch/digitalisierung-schweiz/