anderes Programm aufrufen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
BlackJack

@hajo: Wenn ich mal raten müsste ist der Schlüssel 'ExecutionMode' für das Menü verantwortlich.
hajo
User
Beiträge: 23
Registriert: Samstag 30. April 2011, 11:01

Hallo BlackJack,

das war's! :

Code: Alles auswählen

      #        'ExecutionMode': App.Constants.ExecutionMode.Default, 
                            'ExecutionMode': App.Constants.ExecutionMode.Silent, 
Danke an alle, die mich hier unterstützt haben!

Damit ist mein Problem gelöst.

Wenn jemand noch einen Hinweis auf die Dokumentation der PSP-Skriptsprache für die Lösung später aufkommender Fragen hat,
wäre das die absolute Spitze.

Gruß an alle
Hajo
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

hajo hat geschrieben: Wenn jemand noch einen Hinweis auf die Dokumentation der PSP-Skriptsprache für die Lösung später aufkommender Fragen hat, wäre das die absolute Spitze.
Ich wiederhole mich noch mal: Ich habe doch einige Links gepostet. Hast Du Dir die überhaupt mal angeguckt? Darunter waren ja grad Tutorials und Referenzen...
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
hajo
User
Beiträge: 23
Registriert: Samstag 30. April 2011, 11:01

Hallo Hyperion,

natürlich habe ich mir die Adressen angesehen.
Skript-Literatur war nicht zu finden.
In dem angegebenen Forum läßt die Technik eine Anmeldung z.Zt. nicht zu,
aber ich werde dran bleiben.

Ich bin anscheinend von dem WORD-Visual Basic-Editor verwöhnt und erwarte hier
etwas Entsprechendes.

Gruß
Hajo
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

hajo hat geschrieben: natürlich habe ich mir die Adressen angesehen.
Skript-Literatur war nicht zu finden.
http://www.jasc.com/support/kb/articles ... onents.asp
Dort dann "Scripting for Script Authors" und darunter ist eine Doku zur API zu finden. Hatte ich ja weiter oben schon gepostet.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
hajo
User
Beiträge: 23
Registriert: Samstag 30. April 2011, 11:01

Hallo Hyperion,

dem Hinweis war ich nachgegangen;
im Handbuch 'Scripting for Script Authors.pdf' fehlte mir die Auflistung der commands usw. und
mit den 'psp9_scripting\api' wusste ich nichts anzufangen.

Nochmaliges Hinsehen machte mir nun klar, dass beides im Zusammenhang zu sehen ist.
Die 'api' sind die von mir vermisste Auflistung der Commands mit ihren Parametern.
Die Darstellung ist für Ungeübte etwas ungewöhnlich und gewöhnungsbedürftig.

Aber letzten Endes ist es das, was ich gesucht habe.

Danke, dass Du noch einmal nachgehakt hast!

Gruss
Hajo
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Naja, besonders schick ist die API ja eh nicht, weil sie alles über Zeichenketten regelt. Da ist ja selbst die API von Scribus schöner, die auch ihre Schwächen hat, aber wenigstens Objekte zur Verfügung stellt.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
hajo
User
Beiträge: 23
Registriert: Samstag 30. April 2011, 11:01

Hallo Hyperion,

nun wird doch noch eine Frage fällig:

'aber wenigstens Objekte zur Verfügung stellt.'

Heisst das, in den PSP-Api fehlt etwas?

Gruß
Hajo
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Nee, bzw. kann ich ja nicht beurteilen. Es ging mir um die Art und Weise, wie man eine API designed.

Ein pythonisches API würde ich mir in etwa so vorstellen:

Code: Alles auswählen

doc = environment.current_document()
for pic in doc.page[4].pictures():
    pic.do_something().do_another_thing()
Stattdessen muss man das API hier ja umständlich über Strings aufrufen:

Code: Alles auswählen

    App.Do( Environment, 'Resize', {
            'AspectRatio': 1.46171,
            'CurrentDimensionUnits': App.Constants.UnitsOfMeasure.Pixels, 
             ...
    })
Aus dem ominösen Environment-Objekt zieht sich die `Do`-Methode des Applications-Objektes eben die internen Objekte, die zur Manipulation benötigt werden. Die Operation `Resize` kann ich aber nur über einen String aufrufen und nicht direkt auf dem entsprechenden Objekt, welches ich manipulieren will:

Code: Alles auswählen

doc.resize(*params)
Das sähe halt schöner aus und passte besser in die Python-Welt.

Das aktuelle API sieht ziemlich lieblos "aufgepflantscht" aus.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Antworten