[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

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, etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen. pdf-icon Hier eine kleine Anleitung.

Veranstaltungen
18.07.2019

München
Donnerstag, 18. Juli 2019, 12.44 Uhr

Infotag

Bereits zum 2. Mal kommen auch in diesem Jahr Experten zum Infotag in München zusammen, um sich zu Themen rund um das richtige Planen und Erstellen von barrierefreien PDF-Inhalten und Webseiten auszutauschen. Hierbei spielt die Berücksichtigung gesetzlicher Anforderungen eine ebenso große Rolle, wie das Erstellen selbst. U.a. wird axaio software, zusammen mit seinem Partner Klaas Posselt von einmanncombo, vor Ort sein, um sein Wissen zum Generieren barrierefreier PDFs aus Adobe InDesign mit den Teilnehmern zu teilen. Schauen Sie in die Agenda, um mehr über weitere Referenten und Themen zu erfahren!

18.07.2019, 10 Uhr – 16:30 Uhr (Einlass ab 09:30 Uhr)
Preis: 199,00 €/brutto (inkl. Verpflegung)

Ja

Organisator: cmt Training

Kontaktinformation: E-Mailinfo AT cmt DOT de

https://www.cmt.de/Barrierefreiheit/Barrierefreiheit-Digital/2-Infotag-Barrierefreie-Webseiten-und-PDF-Dokumente-3946.html

2. Infotag: Barrierefreie Webseiten & PDF Dokumente
Veranstaltungen
17.08.2019 - 07.03.2020

3400 Burgdorf, BE
Samstag, 17. Aug. 2019, 08.30 Uhr - Samstag, 07. März 2020, 08.30 Uhr

Lehrgang

Absolventen/innen der Qualifikation Publisher Professional – Profil «Gestaltung» verfügen über Kompetenzen, welche ihnen gestatten, Projekte und Aufgaben der gestalterischen Umsetzung der Medienproduktion mit dem Einsatz der üblichen Publishing-Programme selbständig in Betrieben oder Organisationen zu übernehmen.

Ja

Organisator: PubliCollege GmbH

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

www.publicollege.ch

Publisher Professional-Profil Gestaltung