hilfdirselbst.ch
Facebook Twitter gamper-media
Mac OS X enthält verschiedene integrierte Werkzeuge und Technologien, mit denen sich gängige Aufgaben schnell und einfach automatisieren lassen.
Goar S
Beiträge: 335
28. Okt 2013, 16:05
Beitrag #1 von 4
Bewertung:
(1419 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

QXP9: y1 in real umwandeln


Hallo Skripter,

das folgende Bruchstück läuft als normales Skript mit einem offenen Dokument (QXP 9.5.2) problemlos:
Code
set newPageWidth to 155 
set refPageWidth to 196
set refBoxWidth to 190
set refBoxHeight to 111


tell application "QuarkXPress"
tell document 1 -- neue Seitenbreite einstellen
set page width to newPageWidth -- neue Seitenbreite einstellen
set widthDiff to refPageWidth - newPageWidth -- Differenz zwischen ist und soll
-- neue Breite und Höhe für die gelben Hinterleger ermitteln
set newBoxWidth to refBoxWidth - widthDiff
set newBoxHeight to refBoxHeight / refBoxWidth * newBoxWidth
end tell

tell master document 1 -- Hinterleger umgrößern
repeat with i from 1 to 2
tell picture box ("∆:Satzspiegel_" & i)
set locked to false -- zunächst entsperren
set {y1, x1, y2, x2} to bounds as list
set y1 to y1 as real
set x1 to x1 as real
set y2 to y2 as real
set x2 to x2 as real
set y2b to y1 + newBoxHeight
set x2b to x1 + newBoxWidth
set bounds to {y1, x1, y2b, x2b}
set locked to true -- wieder sperren

end tell
end repeat
end tell
end tell

Eingebaut in ein Droplet (es werden zwei Textdateien auf das Droplet gezogen, aus denen vor dem QXP-Wickel der Wert newPageWidth ermittelt wird) kommt aber die Fehlermeldung:
«data FXVM5D2E1F00» kann nicht in Typ real umgewandelt werden.

Per beep-Zeile und einen testweise eingebauten Dialog (y1 wurde als "11 mm" angezeigt) stellte ich fest, dass die Zeile »set y1 to y1 as real« die Fehlermeldung hervorruft.

Weiß jemand, wo da der Haken liegt?
Goar
---
> iMac 3,2 GHz Intel Core i5, 8 GB, MacOS 10.11.6, QXP 2017 < Top
 
X
Hans Haesler  M  p
Beiträge: 5581
28. Okt 2013, 17:32
Beitrag #2 von 4
Beitrag ID: #519031
Bewertung:
(1399 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

QXP9: y1 in real umwandeln


Hallo Goar,

mit folgendem Mini-Droplet habe ich das Problem nachvollziehen können.
Das gedroppte XPress-Projekt besteht aus einer Seite mit einer Bildbox.

Code
on open droppedObjects 
tell application "QuarkXPress"
open (item 1 of droppedObjects) as alias
tell document 1
tell picture box 1
set {y1, x1, y2, x2} to bounds as list
set y1 to y1 as real
display dialog "" & y1
end tell
end tell
end tell
end open

Die Lösung: Mit coerce die Umwandlung "nachdrücklicher" machen.
Aufgepasst: Statt as muss to verwendet werden.

Code
set y1 to coerce y1 to real 

Gruss, Hans
als Antwort auf: [#519028] Top
 
Goar S
Beiträge: 335
28. Okt 2013, 17:57
Beitrag #3 von 4
Beitrag ID: #519033
Bewertung:
(1387 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

QXP9: y1 in real umwandeln


Hallo Hans,

mit coerce stand ich schon immer auf Kriegsfuß, da wäre ich auch dieses Mal nicht drauf gekommen.
Jetzt klappt alles wunderbar.

Vielen Dank
Goar
---
> iMac 3,2 GHz Intel Core i5, 8 GB, MacOS 10.11.6, QXP 2017 <
als Antwort auf: [#519031] Top
 
Hans Haesler  M  p
Beiträge: 5581
28. Okt 2013, 19:51
Beitrag #4 von 4
Beitrag ID: #519040
Bewertung:
(1353 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

QXP9: y1 in real umwandeln


Hallo Goar,

bitte sehr.

Das coerce musste schon vor mehr als zehn(!) Jahren bei normalen Umwandlungen zu Hilfe gerufen werden:
http://www.hilfdirselbst.ch/..._P418117.html#418117

Es ist zu befürchten, dass Quark dies nie in den Griff bekommen wird.

Gruss, Hans
als Antwort auf: [#519033] Top
 
X