[GastForen Programmierung/Entwicklung AppleScript Berechnung der Zeilenanzahl in QXP

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

Berechnung der Zeilenanzahl in QXP

Anonym
Beiträge gesamt: 22827

29. Okt 2008, 10:39
Beitrag # 1 von 12
Bewertung:
(2743 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Tach zusammen,
wenn wir die Anzahl der Zeilen berechnen wollen, kommen unterschiedliche Werte heraus, je nachdem ob die Textbox ganz aufgezogen wird, oder ein Teil des Textes als Überlauf angezeigt wird. Es wird immer nur der Wert für den sichtbaren Bereich ausgegeben.

Irgendwie kommen wir mit unseren Abfragen nicht weiter. Wir möchten gerne den Absoluten Wert der Zeilen wissen. Hat dazu jemand eine Idee??

Viele Grüße
Gerd
X

Berechnung der Zeilenanzahl in QXP

Hans Haesler
  
Beiträge gesamt: 5826

29. Okt 2008, 11:28
Beitrag # 2 von 12
Beitrag ID: #422730
Bewertung:
(2742 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gerd,

es ist unmöglich, die genaue Anzahl Zeilen von unsichtbarem Text zu bestimmen.

Denkbar wäre, mit den Werten des sichtbaren Textes eine Hochrechnung zu machen. Aber ein einigermassen korrektes Ergebnis würde man nur bei glattem Satz (ohne Einzüge, Returns, Zwischentitel usw.) erhalten.

Ein Abstecher zu InDesign. In der Informationspalette werden die Werte von ausgewähltem Text rapportiert:
Code
Buchstaben: 896 
    Worte: 152
    Zeilen: 18
  Absätze: 3

Wenn der Rahmen verkleinert wird, so dass die Auswahl überlaufenden Text enthält, werden die versteckten Zeichen hinter einem Pluszeichen angezeigt. Aber bei der Anzahl Zeilen steht ein Fragezeichen:
Code
Buchstaben: 637+259 
    Worte: 109+43
    Zeilen: 13+?
  Absätze: 3+0

Gruss, Hans


als Antwort auf: [#422729]

Berechnung der Zeilenanzahl in QXP

Anonym
Beiträge gesamt: 22827

30. Okt 2008, 08:06
Beitrag # 3 von 12
Beitrag ID: #422731
Bewertung:
(2742 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin,
Vielen Dank Hans,
dann wissen wir schon, dass mir nicht weitere Std. mit der Suche nach einer Möglichkeit verbringen müssen.

Wir sind ne andere Lösung angegangen. Wir vergrößeren den Rahmen so, dass immer alles sichtbar ist und lassen uns den Wert dann geben.

Die Ausgangsrahmenhöhe speichern wir in einer Variablen. Anschließend wollten wir die Rahmenhöhe wieder zurücksetzen. Wir müssen aber einen Punkt in der Höhe zugeben, da es sonst nicht klappt.

DAMIT UNSER NEUES PROBLEM:
Wir erhalten den Wert der Höhe ald Datentyp "data" und bekommen es einfach nicht hin, diesen um einen Punkt zu erhöhen. Der will sich einfach nicht umrechnen, und damit berechnen lassen.

Viele Grüße
Gerd


als Antwort auf: [#422729]

Berechnung der Zeilenanzahl in QXP

Hans Haesler
  
Beiträge gesamt: 5826

30. Okt 2008, 08:49
Beitrag # 4 von 12
Beitrag ID: #422732
Bewertung:
(2742 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gerd,

ich nehme an, dass die Höhe der Box so gespeichert wird:
---
tell document 1 of application "QuarkXPress 7.5"
   tell current box
      set bH to height of bounds
   end tell
end tell
---
Das Ergebnis sieht aus wie in der Masspalette.
Aber wenn man nun die "Klasse" dieses Ergebnisses verlangt ...
---
class of bH
---
... dann wird vertical measurement zurückgegeben. Und damit kann man keine mathematischen Operationen vornehmen.

Mit der Ergänzung as real wird das Ergebnis zur Bruchzahl konvertiert. Und nun kann man der Wert verändern.
---
tell document 1 of application "QuarkXPress 7.5"
   activate
   tell current box
      -- die Boxenhöhe speichern
      set bH to height of bounds as real
      -- die Box höher machen
      set height of bounds to 500
      --
      -- weitere Aktionen
      --
      -- die alte Boxenhöhe zuweisen und einen Punkt dazurechnen
      set height of bounds to (bH + 0.353)
   end tell
end tell
---
Das setzt voraus, dass die Masseinheiten immer "Millimeter" sind. Falls nicht, kann man vorgängig die aktuellen Einheiten speichern, temporär auf Millimeter umstellen und am Ende des Scripts wieder auf die ursprünglichen zurücksetzen.

Gruss, Hans


als Antwort auf: [#422729]

Berechnung der Zeilenanzahl in QXP

Anonym
Beiträge gesamt: 22827

30. Okt 2008, 09:21
Beitrag # 5 von 12
Beitrag ID: #422733
Bewertung:
(2742 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans, Fehler meinerseits in der Beschreibung. Hier nochmal, was wir machen:
- um das problem mit dem "nur sichtbaren" bereich zu umgehen wird der textrahmen erstmal auf 300 höhe gesetzt.
- nun wird mit
  set inhaltshoehe to (get height of text of current box)
   die höhe des textinhaltes ermittel. es wird mit display dialog z.B. "24 pt" ausgegeben
- nun soll die rahmenhöhe um diesen wert + 1 angepasst werden
  diese berechnung scheitert, da inhaltshoehe weder in string, number, text etc. konvertiert werden kann.
- get class of inhaltshoehe liefert beispielsweise "F_FN"????

Sagt Dir das was? Kann man das Format zur berechnung verwenden, oder konvertieren, berechnen, rück-konvertieren??

Merci und Gruss
Gerd


als Antwort auf: [#422729]

Berechnung der Zeilenanzahl in QXP

Hans Haesler
  
Beiträge gesamt: 5826

30. Okt 2008, 09:38
Beitrag # 6 von 12
Beitrag ID: #422734
Bewertung:
(2742 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gerd,

ich muss gleich weg. Deshalb nur kurz zu Deiner Frage.

Wenn man mit ...
---
class of inhaltshoehe
---
... Auskunft velangt, dann erhält man font units

Wenn man aber ...
---
set inhaltshoehe to (get height of text of current box) as real
---
... verwendet, dann sollte mit dem Ergebnis eine Rechenoperation gemacht werden können.

Gruss, Hans


als Antwort auf: [#422729]

Berechnung der Zeilenanzahl in QXP

Kultchris
Beiträge gesamt: 5

30. Okt 2008, 10:28
Beitrag # 7 von 12
Beitrag ID: #422735
Bewertung:
(2742 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans, Hallo Kultgerd,

ich habe das Problem bearbeitet und auch deine Tipps versucht.

set inhaltshoehe to (get height of text of current box) as real

bricht leider mit der Meldung

"AppleScript Fehler

<<data F_FN00560000>> kann nicht in Typ real umgewandelt werden."

ab :-(

Hast Du hier vielleicht irgendeinen Hinweis? Ich habe alles versucht was mir eingefallen ist (Copy, List, Konvertierungsversuche, Copy/Paste-Workarounds, Trims, etc.),  komme jedoch nicht an die Größenangabe als solche heran um mit ihr weiterzuarbeiten. Und ein komplett anderer Lösungsansatz fällt mir leider auch nicht ein.

Danke & Grüße,

Chris


als Antwort auf: [#422729]

Berechnung der Zeilenanzahl in QXP

Hans Haesler
  
Beiträge gesamt: 5826

30. Okt 2008, 11:37
Beitrag # 8 von 12
Beitrag ID: #422736
Bewertung:
(2742 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Kultchris,

herzlich willkommen im PAGE-Forum! :-)

Welche Version von QuarkXPress benutzest Du? Und welches Mac OS? Intel-Mac?

Dieses Problem wurde hier vor langer Zeit schon mal erklärt. Schade, funktioniert die Suche im Forum immer noch nicht. Aber durch geduldiges Zurückblättern habe ich ein Thema gefunden:
"Nochmals: ein "mysteriöses" Format" http://www.page-online.de/forum/viewthread/1815/

Damals, vor bald fünfeinhalb Jahren, wurde das Problem durch das Benutzen der Classic-Umgebung unter Mac OS X verursacht. Benutztest Du wirklich noch "Classic"?

Und die Lösung könnte Dir auch weiterhelfen:
---
tell document 1 of application "QuarkXPress 7.5"
   set inhaltshoehe to (get height of text of current box)
   set inhaltshoehe to coerce inhaltshoehe to real
end tell
---
Und? Funktioniert es?

Was, genau, willst Du damit erreichen? Sehr wahrscheinlich gibt es noch einen anderen Weg zum Ziel ...

Gruss, Hans


als Antwort auf: [#422729]

Berechnung der Zeilenanzahl in QXP

Anonym
Beiträge gesamt: 22827

30. Okt 2008, 12:41
Beitrag # 9 von 12
Beitrag ID: #422737
Bewertung:
(2742 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Kultchris .... LOL ..... das kommt dabei heraus, wenn einem nix gescheites einfällt :-)

Chris ist mein Kollege, der sich mit den aktuellen Projekten herumschlagen muss.

Gruß
Gerd


als Antwort auf: [#422729]

Berechnung der Zeilenanzahl in QXP

Kultchris
Beiträge gesamt: 5

30. Okt 2008, 13:14
Beitrag # 10 von 12
Beitrag ID: #422738
Bewertung:
(2742 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

herzlichen Dank für deine schnelle Antwort!
Mit "coerce" hast Du mir sehr weitergeholfen, das klappt prima.
Ich arbeite momentan noch mit Quark XPres 6.5, welches jedoch nun nach und nach durch Version 7 abgelöst wird.
Das System ist ein Mac OSX 10.4.8, nicht Classic.

Zu dem Hintergrund meiner Frage:
Ich möchte datenbankgestützt Texte automatisiert in Quark ausgeben, vorerst in einen manuell angelegten Textrahmen. Da die Länge des Textes unterschiedlich ausfällt, wollte ich die Rahmen automatisch an die Höhe des Textes angleichen. Da - durch eine Stilvorlage bedingt - ich einen Versatz von 1,5 mm zum oberen Textrahmen habe, musste ich den ermittelten Wert der Höhe um eben diese Angabe erhöhen, was nicht funktioniert hat. Nun klappt das Ganze wunderbar.

Ich stecke noch in Kinderschuhen und versuche mir AppleScript selbst etwas anzueignen. In die Zukunft gedacht möchte ich sehen, ob ich Textrahmen vollautomatisch durch den Zugriff auf die UniqueID steuern kann.

Danke nochmals & viele Grüße,

Chris


als Antwort auf: [#422729]

Berechnung der Zeilenanzahl in QXP

Hans Haesler
  
Beiträge gesamt: 5826

30. Okt 2008, 13:41
Beitrag # 11 von 12
Beitrag ID: #422739
Bewertung:
(2742 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Chris,

bitteschön.

Aber ungeklärt ist, weshalb das Script Raw-Codes zurückschickt.

Dennoch: Weiterhin viel Spass beim Scripten!

Gruss, Hans


als Antwort auf: [#422729]

Berechnung der Zeilenanzahl in QXP

Kultchris
Beiträge gesamt: 5

30. Okt 2008, 13:45
Beitrag # 12 von 12
Beitrag ID: #422740
Bewertung:
(2742 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

ja das hast Du Recht. Ich hab das jetzt für die Fertigstellung des Skripts einfach mal "als gegeben" gesehen. Ich kenne mich wie gesagt noch viel zu wenig aus, ich war nur total überrascht von dem Ausgabeformat. Ich werde mir das aber noch einmal ansehen - die besten Ideen kommen einem ja bekanntlich Abends :-)

Wenn ich noch etwas dazu herausfinde, werde ich es hier erwähnen.

Also mit Classic kanns eigentlich nichts zu tun haben.

Danke & Gruß,

Chris


als Antwort auf: [#422729]
X