Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21-08-2003, 17:07   #1 (permalink)
Was ? Wo? Wie?
 
Registriert seit: Jun 2003
Ort: Berlin
Beiträge: 58
Benanntes Array - Name auslesen

Hallo alle miteinander,

ich konvertiere eine XML-Datei mithilfe von XML2AS in Objekte und Arrays, die genau die Struktur der XML-Datei nachbilden.

Man kann dann auch mit dem Namen auf die Werte zugreifen nur muss ich dann auch immer genau den Namen des benannten arrays wissen.

Gibt es eine Möglichkeit den Namen auszulesen ?

z.B. buchliste.buch[1].WasGibtEsHierFürFelder

Ich steh' echt auf dem Schlauch.

Gruß
DocZito
DocZito ist offline   Mit Zitat antworten
Alt 21-08-2003, 17:11   #2 (permalink)
Revived @ Sunday
 
Benutzerbild von MacEvil
 
Registriert seit: Apr 2003
Ort: Nowhereland
Beiträge: 3.244
ActionScript:
  1. trace(buchliste.buch[1]);
MacEvil ist offline   Mit Zitat antworten
Alt 21-08-2003, 17:15   #3 (permalink)
Was ? Wo? Wie?
 
Registriert seit: Jun 2003
Ort: Berlin
Beiträge: 58
Wow das ging ja schnell ....

Hmmm leider klappt das irgendwie nicht

er schreibt dann [object Object]

was bedeutet das ?
DocZito ist offline   Mit Zitat antworten
Alt 21-08-2003, 17:20   #4 (permalink)
Revived @ Sunday
 
Benutzerbild von MacEvil
 
Registriert seit: Apr 2003
Ort: Nowhereland
Beiträge: 3.244
Hm bin mir nicht ganz sicher mit dem object object.
Habs mal bei mir getestet : funkt !
mach mal :
ActionScript:
  1. if (_root.array[1] != undefined) {
  2. trace(_root.array[1]);
  3. }
MacEvil ist offline   Mit Zitat antworten
Alt 21-08-2003, 17:51   #5 (permalink)
Neuer User
 
Registriert seit: Dec 2002
Ort: mars
Beiträge: 90
hi,
ich kenne die xml2as wandlung leider nicht. macht sie aus allem ein array mit subarrays oder werden objecte auch mit eingebunden:
ich meine folgendes:
ActionScript:
  1. obi = new Object();
  2. obi = {a1:"hall0", a2:"duda"}; // ein object
  3. ara = new Array();
  4. ara[0] = "erster"; // ein string
  5. ara[1] = obi; // das object einsetzen
  6. ara[2] = ["sub", "arr", "ay"]; // ein subarray
  7. for (i in ara) {
  8.     if (ara[i].toString() == "[object Object]") {
  9.         trace(typeof ara[i]+" ---- die "+i+"-te stelle im array ist ein \"Object\" und kein subarray!!!!");
  10.     } else {
  11.         if (typeof ara[i] == "object") {
  12.             trace("ich bin ein \"array\" an der "+i+"-ten stelle");
  13.         } else {
  14.             trace("ich bin ein \"string\" an der "+i+"-ten stelle");
  15.         }
  16.     }
  17. }

hicks
whiskey
whiskeycola ist offline   Mit Zitat antworten
Alt 21-08-2003, 17:55   #6 (permalink)
Was ? Wo? Wie?
 
Registriert seit: Jun 2003
Ort: Berlin
Beiträge: 58
Jetzt gibt er nichts mehr aus.
Bedeutet das, dass es kein weiteres Objekt gibt ?

Das komische ist aber, dass er bei der Anweisung:

ActionScript:
  1. trace(_root.myPresentationList.slides[0].foil[0].title

den Textwert der im XML Dokument bei dem Element
<title>hier steht der titel<\title>
ausgibt, aber wenn ich das hier eingebe:

ActionScript:
  1. if (_root.myPresentationList.slides[0].foil[0] != undefined){
  2. trace(_root.myPresentationList.slides[0].foil[0]}

ausgeben will gibt er nichts aus.

Das verstehe ich nicht.
DocZito ist offline   Mit Zitat antworten
Alt 21-08-2003, 18:04   #7 (permalink)
Revived @ Sunday
 
Benutzerbild von MacEvil
 
Registriert seit: Apr 2003
Ort: Nowhereland
Beiträge: 3.244
Hm,weis eben nicht genau,sorry
so gehts aber :
ActionScript:
  1. if (_root.myPresentationList.slides[0].foil[0] != undefined){
  2.         trace(_root.myPresentationList.slides[0].foil[0]); // Hier ne normale Klammer und Semikolon
  3. }
MacEvil ist offline   Mit Zitat antworten
Alt 21-08-2003, 18:20   #8 (permalink)
Was ? Wo? Wie?
 
Registriert seit: Jun 2003
Ort: Berlin
Beiträge: 58
Danke für den Tip.
Ich hab das verbessert, aber jetzt gibt er wieder [object Object] aus ist echt komisch.

Trotzdem vielen Dank für Deine Hilfe. Vielleicht weiss ja jemand anderes was es mit dem onject Object auf sich hat.

Gruß
DocZito
DocZito ist offline   Mit Zitat antworten
Alt 21-08-2003, 18:30   #9 (permalink)
Neuer User
 
Registriert seit: Dec 2002
Ort: mars
Beiträge: 90
ok, schau dir nochmal dieses an:
ActionScript:
  1. obi = new Object();
  2. obi = {a1:"hall0", a2:"duda"};
  3. ara = new Array();
  4. ara[0] = "zweiter";
  5. ara[1] = obi;
  6. ara[2] = ["sub", "arr", "ay"];
  7. for (i in ara) {
  8.     if (ara[i].toString() == "[object Object]") {
  9.         trace("----------------------------------------------");
  10.         trace(typeof ara[i]+" ---- die "+i+"-te stelle im array ist ein \"Object\" und kein subarray!!!!");
  11.         trace("das Object beinhaltet folgende Vars");
  12.         for (n in ara[i]) {
  13.             trace(n+": "+ara[i][n]);
  14.         }
  15.         trace("----------------------------------------------");
  16.     } else {
  17.         if (typeof ara[i] == "object") {
  18.             trace("ich bin ein \"array\" an der "+i+"-ten stelle");
  19.         } else {
  20.             trace("ich bin ein \"string\" an der "+i+"-ten stelle");
  21.         }
  22.     }
  23. }
das müsste es erklären ,o der ?

hickswhiskey
whiskeycola ist offline   Mit Zitat antworten
Alt 21-08-2003, 20:32   #10 (permalink)
Was ? Wo? Wie?
 
Registriert seit: Jun 2003
Ort: Berlin
Beiträge: 58
Wow nicht schlecht ... nur ich blicke nicht so ganz durch.
Er gibt mir jetzt das folgende aus:

ich bin ein "array" an der title-ten stelle
ich bin ein "array" an der para-ten stelle
ich bin ein "array" an der attributes-ten stelle

und title, para und attributes sind genau die namen die ich brauche ... wie genau stelle ich das in einer zeile oder so an ? wieso hat denn i den Wert vom Namen des arrays ?
DocZito ist offline   Mit Zitat antworten
Alt 22-08-2003, 17:33   #11 (permalink)
Was ? Wo? Wie?
 
Registriert seit: Jun 2003
Ort: Berlin
Beiträge: 58
Danke jetzt habe ich es begriffen ... jedenfalls zu 80 % oder so

Wie mache ich denn das, wenn ich jetzt rausbekommen möchte, welches von diesen eigenschaften wiederum eigenschaften besitzen ?

Ich habe es schon mit 2 for in schleifen probiert, aber irgendwie macht er das nicht.

Gruß
DocZito
DocZito ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 19:34 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele