[GastForen Programmierung/Entwicklung AppleScript Damit ich mich nicht überhebe...

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

Damit ich mich nicht überhebe...

Anonym
Beiträge gesamt: 22827

5. Mär 2004, 11:31
Beitrag # 1 von 6
Bewertung:
(994 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Skripter :D !
Damit das Leben ja nicht zu leicht wird, habe ich jetzt XPress 6...  :?

Mensch, da funktioniert mit AS ja fast nichts mehr mit meinen Skripten wie zuvor. :(

Gibt es irgendwo ein Aufstellung mit vergleichbaren Befehlen? :shock:
Oder kann mir einer mal auf die schnelle erklären, wo jetzt die Unterschiede liegen...  :)

Schönen Gruss

Andreas :wink:
X

Damit ich mich nicht überhebe...

Hans Haesler
  
Beiträge gesamt: 5816

7. Mär 2004, 20:51
Beitrag # 2 von 6
Beitrag ID: #418657
Bewertung:
(993 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Andreas,

leider habe ich (noch) keine Liste, welche die Unterschiede aufzeigt.

Schon für die Version 5 musste ich die meisten meiner Scripts anpassen.
Die wichtigste Änderung war, dass die handlichen Vier-Zeichen-Strings
nicht mehr vorhanden sind. Alle mussten durch die längere Konstanten-
Version ersetzt werden.

Ein Beispiel. Statt "TXTx" muss nun 'text box type' gebraucht werden.

Ein zweiter grosser Unterschied: mit QXP 4 kann man mehreren Boxen den
gleichen Namen geben. Und mit einem einzigen Befehl, welcher scheinbar
an eine einzelne Box gerichtet ist, alle ansprechen. Seit QXP 5 wird
nur noch die vorderste Box adressiert.

Aber ich nehme an, dass Deine Scripts andere Befehle enthalten, welche
angepasst werden müssen. Kannst Du ein Beispiel veröffentlichen und
schildern, was nicht mehr geht?

Hans Haesler <[email protected]>


als Antwort auf: [#418656]

Damit ich mich nicht überhebe...

Anonym
Beiträge gesamt: 22827

12. Mär 2004, 13:35
Beitrag # 3 von 6
Beitrag ID: #418658
Bewertung:
(993 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

<war ein paar Tage mit etwas anderem beschäftigt, deshalb erst jetzt eine Antwort>,

Nichts geht mehr!

Weiß gar nicht, wo ich anfangen soll:

picture box 1 geht nicht mehr
delete geht nicht mehr

Rahmen benennen geht nicht mehr.
etc. pp.
Sämtliche Definitionen sind ja anders!

So ein Schmarrn...
Wo soll man da denn anfangen?
Kann ich nicht irgendwo mal nachsehen, wie's heißen könnte?

Bin ehrlich verzweifelt!

Hättest du irgendein Beispielscript, das man mal sich anschauen könnte, um einen Einblick in die Änderungen zu bekommen?


Gruss

Andreas


als Antwort auf: [#418656]

Damit ich mich nicht überhebe...

Hans Haesler
  
Beiträge gesamt: 5816

12. Mär 2004, 13:54
Beitrag # 4 von 6
Beitrag ID: #418659
Bewertung:
(993 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Andreas,

nur mit der Ruhe! Das bringen wir schon hin. Doch ein Beispielscript, welches transparent die Änderungen zeigt, habe ich nicht.

Deshalb hier mein Angebot: Sende mir ein paar Scripts (oder Snippets daraus), welche nicht mehr funktionieren. Wenn möglich mit kurzer Beschreibung. Und ich zeige Dir, wo etwas geändert werden muss.

Hans Haesler <[email protected]>


als Antwort auf: [#418656]

Damit ich mich nicht überhebe...

Anonym
Beiträge gesamt: 22827

12. Mär 2004, 14:27
Beitrag # 5 von 6
Beitrag ID: #418660
Bewertung:
(993 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

vielen Dank.
Hier ein ungehobeltes script in XPress 4, dass dort zumindest läuft.
Best. Daten werden aus FM übernommen und dann in einem selektierten Rahmen ein Bild gesetzt.





global DerPfad
global Rahmenname
tell application "FileMaker Pro"
 tell database "Bilder.FP5"
  set DerPfad to cell "Pfad" of current record
set Rahmenname to cell "Bestnr." of current record
 end tell
end tell
tell application "QuarkXPress Passport&#153;"
 tell document 1
  activate
 
  if exists current box then
if class of current box is text box then
global A
global B
global C
global D
global y

tell application "QuarkXPress Passport&#153;"
 tell document 1
  activate
  set y to current page
  set x to bounds of current box as list
  set A to item 1 of x
  set B to item 2 of x
  set C to item 3 of x
  set D to item 4 of x
 
  delete selection
 
 end tell
end tell
tell application "QuarkXPress Passport&#153;"
 tell document 1
  activate
  tell last page
   make picture box with properties {bounds:{A, B, C, D}} at beginning
 
 
set name of picture box 1 to Rahmenname
   select picture box Rahmenname
   set tool mode to drag mode
   
  end tell
 end tell
end tell
end if
   if class of current box is picture box then
    tell current box
     set image 1 to alias DerPfad
     set bounds of image 1 to proportional fit
     
    end tell
   else
    display dialog "No picture frame was chosen! Il n'existe pas un cadre choisi! Kein Bildrahmen gewählt!"

   end if
  else
   display dialog "No picture frame was chosen! Il n'existe pas un cadre choisi! Kein Bildrahmen gewählt!"

  end if
 end tell
end tell
---

Hoffe du wirst schlau daraus!


Gruss

Andreas


als Antwort auf: [#418656]

Damit ich mich nicht überhebe...

Hans Haesler
  
Beiträge gesamt: 5816

12. Mär 2004, 16:15
Beitrag # 6 von 6
Beitrag ID: #418661
Bewertung:
(993 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Andreas,

ich kann die Syntax Deines Scripts erst prüfen, wenn ich 'last page' in 'page -1' verwandle. Auch mit XPress 4.11 unter Mac OS 9.2.1.

Mit QuarkXPress 6.1 unter Mac OS X 10.3.2 muss nur wenig geändert werden, damit das Script läuft:
1. 'page -1' (anstelle von 'last page'
2. 'delete current box' (anstelle von 'delete selection')
3. die Zeile 'set tool mode to drag mode' aus dem 'tell page -1'-Blocks hinaus verschieben.

Das ist alles. Ich habe aber den Pfad und den Namen für die Box nicht von FileMaker bezogen, sondern einfach den beiden Variablen zugewiesen.

Einige Bemerkungen (ich befürchte zwar, dass einige widerlegt werden, wenn Teile des Scripts in Betracht gezogen werden, welche ich nicht kenne).
A. Die Variablen müssen nicht als 'global' deklariert werden.
B. Der Wert von 'set y to current page' wird nirgends gebraucht.
C. Die Liste der 'bounds' kann man direkter ausziehen.
D. Beide Fehlermeldungen sprechen von Bildboxen, obwohl bei einer ausgewählten Textbox auch eine Aktion erfolgt.
E. Der Befehl 'activate' muss nur einmal erfolgen. Die weiteren sind überflüssig.
F. Der äussere XPress-Block enthält zwei weitere XPress-Blocks.
G. Statt 'class' ist es gebräuchlicher 'box type' zu benutzen.
H. Der Test 'if class of current box' sollte nicht mit 'end if' abgeschlossen und dann gleich nochmals gestartet werden. Es ist effizienter, die beiden Tests mit 'else if' in einer Schleife zusammenzufassen. Okay, bei nur zweien ist der Unterschied nicht spürbar. Aber bei einer grossen Anzahl wird die Schleife verlassen, sobald eine Übereinstimmung da ist, während bei isolierten 'if / end if'-Konstruktionen jede drangenommen wird.

Ich habe das Ganze etwas gestrafft und so sieht es aus:
---
set DerPfad to ((path to "cusr") as string) & "Documents:dtpro_Forum:Andreas_Probleme:fleur.tif"
set Rahmenname to "1234"

tell document 1 of application "QuarkXPress 4.11"
  activate
  try
    set boxType to box type of current box
  on error
    display dialog "No box is selected.
Il n'y a pas de bloc s&eacute;lectionn&eacute;.
Kein Rahmen ist ausgewählt." buttons "OK" default button 1 with icon 2
    error number -128
  end try
  if boxType is text box type then
    set {y1, x1, y2, x2} to bounds of current box as list
   
    delete current box
   
    tell page -1
      make picture box at beginning with properties {bounds:{y1, x1, y2, x2}}
      set name of picture box 1 to Rahmenname
      select picture box Rahmenname
    end tell
    set tool mode to drag mode
  else if boxType is picture box type then
    tell current box
      set image 1 to alias DerPfad
      set bounds of image 1 to proportional fit
    end tell
  end if
end tell
---
Bitte führe dieses Script erst Mal ohne FileMaker-Präsenz aus. Du musst nur den Pfad anpassen. Der '((path to "cusr") as string)' ist der Pfad zu Deinem Benutzerordner. Nach dem "&"-Zeichen folgen dann die Namen weiterer Ordner und zum Schluss jener der Bilddatei.

Hans Haesler <[email protected]>


als Antwort auf: [#418656]
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
08.11.2022

Frankfurt, Fraport Conference Center
Dienstag, 08. Nov. 2022, 13.30 - 18.00 Uhr

Seminar

Auf der Enfocus World Tour stellen wir Ihnen gemeinsam mit Enfocus die aktuellen Highlights von Enfocus Switch und dem Impressed Workflow Server (IWS) vor. Wir präsentieren Ihnen anhand typischer Aufgabenstellungen in einem modernen Produktionsbetrieb die Möglichkeiten, die Enfocus Switch für die Automatisierung und Standardisierung von Abläufen bietet. Wir haben sowohl für Produktionsverantwortliche als auch technisch Interessierte ein spannendes Programm vorbereitet, bei dem Sie sicherlich viel Neues erfahren werden, welches Sie in Ihrem eigenen Betrieb umsetzen können. Die Veranstaltung bietet darüber hinaus eine hervorragende Möglichkeit, sich mit anderen Anwendern und Workflow-Spezialisten auszutauschen und Antworten auf konkrete Aufgabenstellungen zu erhalten, welche Sie mit Hilfe von Enfocus Switch/IWS umsetzen möchten.

Wir sind jeweils an 2 Tagen in Frankfurt, Hamburg und München vor Ort. Der erste (halbe) Tag richtet sich in erster Linie an Betriebsleiter und Produktionsverantwortliche in Druckereien - ist also weniger technisch orientiert - sondern gibt einen Überblick zu den heutigen Möglichkeiten einer automatisierten Produktion.

Der zweite Tag (Switch Anwender-Treffen) richtet sich an bestehende Switch-Anwender und Administratoren.

Anmeldung und weitere Infos: https://www.impressed.de/schulung.php?c=sDetail&sid=310

Ja

Organisator: Enfocus/Impressed

Kontaktinformation: Silvia Noack, E-Mailsnoack AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=310

Enfocus World Tour 2022
Veranstaltungen
08.11.2022

Frankfurt, Fraport Conference Center
Dienstag, 08. Nov. 2022, 13.30 - 18.00 Uhr

Seminar

Auf der Enfocus World Tour stellen wir Ihnen gemeinsam mit Enfocus die aktuellen Highlights von Enfocus Switch und dem Impressed Workflow Server (IWS) vor. Wir präsentieren Ihnen anhand typischer Aufgabenstellungen in einem modernen Produktionsbetrieb die Möglichkeiten, die Enfocus Switch für die Automatisierung und Standardisierung von Abläufen bietet. Wir haben sowohl für Produktionsverantwortliche als auch technisch Interessierte ein spannendes Programm vorbereitet, bei dem Sie sicherlich viel Neues erfahren werden, welches Sie in Ihrem eigenen Betrieb umsetzen können. Die Veranstaltung bietet darüber hinaus eine hervorragende Möglichkeit, sich mit anderen Anwendern und Workflow-Spezialisten auszutauschen und Antworten auf konkrete Aufgabenstellungen zu erhalten, welche Sie mit Hilfe von Enfocus Switch/IWS umsetzen möchten.

Wir sind jeweils an 2 Tagen in Frankfurt, Hamburg und München vor Ort. Der erste (halbe) Tag richtet sich in erster Linie an Betriebsleiter und Produktionsverantwortliche in Druckereien - ist also weniger technisch orientiert - sondern gibt einen Überblick zu den heutigen Möglichkeiten einer automatisierten Produktion.

Der zweite Tag (Switch Anwender-Treffen) richtet sich an bestehende Switch-Anwender und Administratoren.

Anmeldung und weitere Infos: https://www.impressed.de/schulung.php?c=sDetail&sid=310

Ja

Organisator: Enfocus/Impressed

Kontaktinformation: Silvia Noack, E-Mailsnoack AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=310

Enfocus World Tour 2022