[GastForen

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

1 Lesezeichen für auslesen

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, 20:35

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
05.11.2021 - 10.12.2021

Digicomp Academy AG, Zürich
Freitag, 05. Nov. 2021, 13.00 Uhr - Freitag, 10. Dez. 2021, 19.00 Uhr

Lehrgang

Im berufsbegleitenden Web Publisher Lehrgang vertiefen Sie Ihr Wissen rund um das Thema Screendesign und die Umsetzung von Websites. Wir befähigen Sie dazu selbständig und professionell Ihren Webauftritt zu planen und in die Realität umzusetzen.

Preis: 3'250.– zzgl. 7.7% MWST
Dauer: 8.5 Tage (ca. 56 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/9PWEB

Veranstaltungen
14.02.2022

Zürich, Online
Montag, 14. Feb. 2022, 07.30 - 18.00 Uhr

Word Press / Digitalisierung / Selbständigkeit

Digitalisierung und KMU's in der Schweiz Leistungsfähig im Zeitalter der Digitalisierung Machine Learning Künstliche Intelligenz CRM Change Management Kommunikation im Betrieb Kommunikation digitale Medien Digitale Vertriebsmodelle

Ja

Organisator: B. Isik

Kontaktinformation: B. Isik / Daniela Lovric, E-Mailinfo AT snfa DOT ch

https://www.fernstudiumfitness.ch/website-mit-wix-erstellen/