Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 25-11-2005, 14:27   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 14
Datensatz Arrays generieren

Hallo,
wie kann ich beliebig viele Arrays für Datensätze mit Action Script erstellen?
Hab an diesem Code gearbeitet aber er funktioniert irgendwie nicht...
Definitv ein Fehler befindet sich bei der Arraydeklaration finde aber nicht herraus wie es richtig geht...
PHP-Code:
for(var i=0i<XMLobj.firstChild.childNodes.length;i++) {
// Vars
var ds XMLobj.firstChild.childNodes.length;
var 
"XMLobj_ds"+[i] = new Array(); // Hier sollen die Arrays erstellt werden
            
for (var i=0i<XMLobj.firstChild.childNodes[0].childNodes.lengthi++)
{
    
_root["XMLobj_ds"+i+"[i]"]= trace(XMLobj.firstChild.childNodes[0].childNodes[i].childNodes); // Das soll mein Zugriff sein

Könnte mir da eventuell jemand helfen bitte?
Fench_L_T ist offline   Mit Zitat antworten
Alt 25-11-2005, 14:33   #2 (permalink)
:Void
 
Benutzerbild von janoshnosh
 
Registriert seit: Jun 2005
Ort: börlin
Beiträge: 931
hi,
für diese schreibweise brauchst du eine zeitleiste oder ein objekt, an die du eine solche variable hängen kannst, z.B.
PHP-Code:
var o:Object = new Object ();
for (var 
i=0......) {
o["XMLobj_ds"]+= new Array();
//oder
this["XMLobj_ds"]+= new Array();
//oder
this["XMLobj_ds"]+= [];
}

//aufruf:
trace(o.XMLobj_ds2.length)
trace(this.XMLobj_ds2.length
gruß janosch
janoshnosh ist offline   Mit Zitat antworten
Alt 25-11-2005, 14:41   #3 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 14
Vielen Dank für deine schnelle Antwort!
Aber irgendwie fehlt mir da noch was. Die Deklaration wird immer noch als fehlerhaft angezeigt. Muss ich in dem Objekt zusätzlich noch etwas deklarieren???
Fench_L_T ist offline   Mit Zitat antworten
Alt 25-11-2005, 14:47   #4 (permalink)
using namespace
 
Benutzerbild von artjom
 
Registriert seit: May 2002
Ort: Hamburg underground
Beiträge: 657
Code:
this["XMLobj_ds"]+i = new Array();
was dassn?
versuch nach diesem prizip:
Code:
this["XMLobj_ds"+i] = [];
__________________
artjom.com -|- Melom
Einen PC beschleunigen? Klar, mit 9,81 m/s^2!
artjom ist offline   Mit Zitat antworten
Alt 25-11-2005, 14:50   #5 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 14
Hat sich erledigt war etwas voreilig...die Klammer muss hinters +i]
Vielen Dank nochmal !
Fench_L_T ist offline   Mit Zitat antworten
Alt 25-11-2005, 15:02   #6 (permalink)
:Void
 
Benutzerbild von janoshnosh
 
Registriert seit: Jun 2005
Ort: börlin
Beiträge: 931
[schaem] [/schaem]

janoshnosh ist offline   Mit Zitat antworten
Alt 25-11-2005, 15:31   #7 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 14
Hm wie kann ich dann auf die verschiedenen Array-Elemente der generierten Arrays zugreifen bzw zuweisen? Omg I'm a newb

Geändert von Fench_L_T (25-11-2005 um 15:37 Uhr)
Fench_L_T ist offline   Mit Zitat antworten
Alt 25-11-2005, 15:43   #8 (permalink)
:Void
 
Benutzerbild von janoshnosh
 
Registriert seit: Jun 2005
Ort: börlin
Beiträge: 931
PHP-Code:
this["XMLobj_ds"+i][0] = 'erstes array element';
trace(this["XMLobj_ds"+i][0]); //=> 'erstes array element' 
am besten ist, du schaust dir in der flash-hilfe alle methoden zur array-klasse an. da gibt es spannende sachen, die man nicht alle beherrschen muss, aber von denen es gut ist zu wissen, dass es sie gibt. mit array.push(element) fügst du z.b. ein element an ein array an, ohne dass du wissen musst, welche die letzte nicht benutzte stelle ist.

gruß janosch

Geändert von janoshnosh (25-11-2005 um 15:44 Uhr)
janoshnosh ist offline   Mit Zitat antworten
Alt 25-11-2005, 16:11   #9 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 14
super danke !
Fench_L_T ist offline   Mit Zitat antworten
Alt 25-11-2005, 16:41   #10 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 14
Das mit den Arrays und den Werten funktioniert jetzt super, aber sobald ich mit einem der Werte aus einem der Arrays eine Rechnung durchführen will, bekomme ich den fehler NaN bzw die Rechnung wird nicht ausgeführt. Woran könnte das liegen???
PHP-Code:
var o:Object = new Object ();
o["XMLobj_ds"+i] = new Array();
for (var 
b=0b<XMLobj.firstChild.childNodes[0].childNodes.lengthb++)
            {
                
o["XMLobj_ds"+i][b] = XMLobj.firstChild.childNodes[i].childNodes[b].childNodes;
            }
    var 
l:Number o["XMLobj_ds"+i][3];
    
trace(l); // ergibt die erwünschte zahl
    
_root["city"+i]._x l*2+400// ergibt NaN 
Fench_L_T ist offline   Mit Zitat antworten
Alt 25-11-2005, 16:44   #11 (permalink)
using namespace
 
Benutzerbild von artjom
 
Registriert seit: May 2002
Ort: Hamburg underground
Beiträge: 657
var l:Number = Number(o["XMLobj_ds"+i][3]);
__________________
artjom.com -|- Melom
Einen PC beschleunigen? Klar, mit 9,81 m/s^2!
artjom ist offline   Mit Zitat antworten
Alt 25-11-2005, 16:49   #12 (permalink)
:Void
 
Benutzerbild von janoshnosh
 
Registriert seit: Jun 2005
Ort: börlin
Beiträge: 931
oder bei der wurzel anpacken:
o["XMLobj_ds"+i][b] = Number(XMLobj.firstChild.childNodes[i].childNodes[b].childNodes);
janoshnosh ist offline   Mit Zitat antworten
Alt 25-11-2005, 16:49   #13 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 14
Das bringt leider nicht den gewünschten Effekt.

Geändert von Fench_L_T (25-11-2005 um 16:52 Uhr)
Fench_L_T ist offline   Mit Zitat antworten
Alt 25-11-2005, 16:53   #14 (permalink)
:Void
 
Benutzerbild von janoshnosh
 
Registriert seit: Jun 2005
Ort: börlin
Beiträge: 931
...childNodes sollte eigentlich auch nicht das letzte wort sein (im sinne von "der rede letzter schluss"), sowas wie ...childNodes[i].nodeValue oder ...childNodes[i].attributes.deinWert ist besser. childNodes liefert ein element vom typ "ChildNode" - ich würde behaupten wollen, dass sich das nicht mit Number() zum typ "Number" konvertieren lässt.

wie sieht denn die entsprechende zeile (ein beispiel) der xml-datei aus, deren wert du haben möchtest?
XMLobj.firstChild.childNodes[i].childNodes[b].childNodes; => ist nicht wirklich gut

gruß janosch

Geändert von janoshnosh (25-11-2005 um 16:54 Uhr)
janoshnosh ist offline   Mit Zitat antworten
Alt 25-11-2005, 16:57   #15 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 14
Die XML Datei hat so eine Struktur:
<xml....>
<data>
<entry>
<name>Stefan</name>
<ort>Nuernberg</ort>
<l>55</l>
<b>67</b>
</entry>

Geändert von Fench_L_T (25-11-2005 um 17:05 Uhr)
Fench_L_T 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 03:48 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele