[GastForen

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Forenindex -- Lesezeichen

1 Lesezeichen für eigenschaften

Liste aller Eigenschaften eines Objekts
Hallo zusammen,

basierend auf dem Script von IndiSnip
http://indisnip.wordpress.com/2010/12/29/quicktip-find-properties-quickly/
habe ich versucht ein erweitertes Script zu erstellen.

Ziel ist es von app alle Objekte und Eigenschaften mit den jeweiligen Werten auszulesen.

Genaugenommen kann das Script das jetzt schon.
Die Erweiterung soll sein, dass bei einem gefundenen Objekt tiefer verschachtelt wird.

Beispiel:
Für _objekt = app; erhalte ich als erste Zeilen folgendes zurück:

Application.activeBook = cannot read
Application.activeDocument = [object Document]
Application.activeScript = cannot read
Application.activeScriptUndoMode = 1699967573
Application.activeWindow = [object LayoutWindow]
Application.alignDistributePreferences = [object AlignDistributePreference]

Nun möchte ich für den Fall, dass im Rückgabewert object vorkommt die Funktion rekursiv aufrufen und zusätzlich zu app auch die Werte für app.activeDocument erhalten.

Mein bisheriger Ansatz:

Code
// object 
var _objekt = app;
var _resultArray = [];

// hier wird Array mit den Werten von app gefüllt.
readObject(_objekt);

// nun durchlaufe ich das Array und prüfe, ob einer der Werte nach Split und Substring den Inhalt "object" hat.
for (x = 0; x < _resultArray.length; x++) {
try {
var tempResult = _resultArray[x].toString().split(" = ");
if (tempResult[1].substring(1,7) == "object") {
var subObjekt = tempResult[0].split(".");
// hier sollte eigentlich die Funktion erneut aufgerufen werden mit dem Parameter
readObject(_objekt+"."+subObjekt[1]);
}
} catch (e) {
alert(e);
}
}


// display properties
alert_scroll("Object properties", _resultArray.sort());

//Eigenschaften auslesen
function readObject (_objekt){
for (var i = 0; i < _objekt.reflect.properties.length; i++) {
var _property = _objekt.reflect.properties[i];
if (_property.toString() === "__proto__" || _property.toString() === "reflect" || _property.toString() === "properties") continue;
try { _result = _objekt[_property]; }
catch (e) { _result = "cannot read"; }
if (_result != null && _result.constructor.name === "Array") _resultArray.push(_objekt.constructor.name + "." + _property + " = [" + _result + "]");
else _resultArray.push(_objekt.constructor.name + "." + _property + " = " + _result);
}
}

// Scrollable alert function
function alert_scroll (title, input){
if (input instanceof Array)
input = input.join ("\r");
var w = new Window ("dialog", title);
var list = w.add ("edittext", undefined, input, {multiline: true, scrolling: true});
list.maximumSize.height = w.maximumSize.height-100;
list.minimumSize.width = 250;
w.add ("button", undefined, "Close", {name: "ok"});
w.show ();
}


Leider werden die Eigentschaften der subObjekte nicht aufgerufen.
Hat jemand eine Idee, wo ich mich da verrant habe?

Viele Grüße und eine besinnliche Adventszeit.
Jürgen
...
JuMayr
12. Dez 2012, 21:35

Aktuell

Web / SEO / Blockchain / Betriebsystem
pixabay_300

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
07.02.2020 - 11.09.2020

Digicomp Academy AG, 8005 Zürich
Freitag, 07. Feb. 2020, 13.00 Uhr - Freitag, 11. Sept. 2020, 12.00 Uhr

Lehrgang

Bilden Sie sich zum zertifizierten Publishing-Multimedia-Profi aus. Neben Fotografie und Video befassen Sie sich mit der Medienproduktion, digitalen Publikationen und dem Webdesign für Desktop- und mobile Endgeräte. Mit dem Abschluss «Publisher Professional – Profil «Multimedia» verliehen durch die Digicomp Academy AG, bestätigen Sie Ihre Praxiserfahrungen und Qualifizierung in den genannten Themengebieten gegenüber Ihrem Arbeitgeber sowie Ihren Kunden.

Preis: CHF 10'500.-
Dauer: 30 Tage (ca. 210 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt

Nein

Organisator: Digicomp Academy AG

Kontaktinformation: Isil Günalp, E-Mailisil.guenalp AT digicomp DOT ch

https://www.digicomp.ch/weiterbildung/software-anwendungs-trainings/adobe-trainings/publishing-lehrgaenge/lehrgang-publisher-professional-profil-multimedia

Veranstaltungen
22.02.2020 - 04.07.2020

Lehrgang zielgerichtet auf die Zertifizierung zum Publisher Basic

Schulungsraum PubliCollege, Kronenhalde 9d, 3400 Burgdorf
Samstag, 22. Feb. 2020, 13.14 Uhr - Samstag, 04. Juli 2020, 13.15 Uhr

Projektseminar/Lehrgang

Ziele In der Medienproduktion unter Einbezug der aktuellen Publishing-Programme mitarbeiten. Voraussetzungen Sie möchten gestalterisch tätig sein und eigene grafische Ideen kompetent entwickeln sowie umsetzen; Medienproduktionen professionell planen und ausführen. Kompetenzen Nach Abschluss dieses Lehrgangs können Sie Printpublikationen aller Art von der Gestaltung über die Umsetzung bis zu druckfertige PDFs erstellen. Sie sind fähig, CI/CD-Vorgaben umzusetzen. Sie lernen die Grundlagen der grafischen Gestaltung kennen und setzen diese mit Adobe Photoshop, InDesign und Illustrator effizient um.

15 Halbtage, jeweils am Samstag von 08.30 bis 14 Uhr im Kursraum des PubliCollege, 3400 Burgdorf


Daten
Samstag, 22.2., 29.2., 14.3., 21.3., 28.3., 4.4., 25.4., 2.5., 9.5., 16.5., 6.6., 13.6., 20.6., 27.6., 4.7. 2020
Reservedatum am 23.5. 2020

Ja

Organisator: PubliCollege GmbH, 3400 Burgdorf

Kontaktinformation: Beat Kipfer, E-Mailinfo AT publicollege DOT ch

https://www.publicollege.ch/kursangebote/20-publisher-basic