Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 11-03-2005, 17:48   #1 (permalink)
Neuer User
 
Registriert seit: Mar 2005
Beiträge: 18
Array in einer Schleife belegen

Hallo,

ich bin bald am verzweifeln.
Ich will ein XML-Objekt in einer Schleife in ein Array auslesen.
Manuell funktioniert alles.
Aber in der Schleife werden nur die ersten zwei Elemente belegt, der dritte fehlt einfach.
Scheinbar kann das dritte Element des Arrays nicht initialisiert werden.
Im Debugger bleibt das Array jedenfalls immer nur zwei-elementig.
Hier der Code:

PHP-Code:
function getjpgs(path) {
    
//galerie.firstChild.firstChild.childNodes[0] ist erste galerie
    //galerie.firstChild.firstChild.childNodes[1] ist zweite usw.
    
if (path == null) {
        
path galerie.firstChild.firstChild.childNodes[0];
    }
    
arr = new Array([path.childNodes.length], [3]);
    
trace(path.childNodes); //3
    
trace(path.childNodes[0].attributes.name); //funktioniert
    
trace(path.childNodes[1].attributes.name); //funktioniert
    
trace(path.childNodes[2].attributes.name); //funktioniert
    
i=0;
    while (
i<path.childNodes.length){
        
arr[i][0] = path.childNodes[i].attributes.name;
        
arr[i][1] = path.childNodes[i].attributes.breite;
        
arr[i][2] = path.childNodes[i].attributes.hoehe;
        
i++;
        }
    return (
arr);
    
//arr[i,0]=name
    //arr[i,1]=breite
    //arr[i,2]=hoehe

Hoffe, es kann jemand helfen

Blackfox
blackfox1982 ist offline   Mit Zitat antworten
Alt 11-03-2005, 20:34   #2 (permalink)
helpQLODhelp
 
Benutzerbild von bokel
 
Registriert seit: Feb 2002
Ort: Köln
Beiträge: 8.505
Das liegt daran, dass du auch nur zwei Unter-Arrays anlegst.
ActionScript:
  1. arr = new Array([path.childNodes.length], [3]);

Am besten legst du nur ein leeres Array an und das jeweilige Unterarray erst dann, wenn du es brauchst.

ActionScript:
  1. arr = new Array();
  2. //...
  3. arr[i] = new Array():
  4. arr[i][0] = ....

mfg r.

Geändert von bokel (11-03-2005 um 22:06 Uhr)
bokel ist offline   Mit Zitat antworten
Alt 11-03-2005, 20:40   #3 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.321
machs so:
ActionScript:
  1. pcn=path.childNodes;
  2. arr = new Array();
  3. for (i in pcn) {
  4.  ats=pcn[i].attributes;
  5.  arr[i]=new Array(ats.name,ats.breite,ats.hoehe);
  6. }
da du keine files hochgeladen hast, hab ich's nicht getestet.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (11-03-2005 um 20:56 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 11-03-2005, 21:26   #4 (permalink)
Neuer User
 
Registriert seit: Mar 2005
Beiträge: 18
Danke sehr,

beides schöne Lösungen.

Jetzt funktionierts auf jeden Fall.
Frag mich zwar, was meine Definition da initialisiert hat, aber okay.

nochmal danke

Gruss Blackfox
blackfox1982 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 10:40 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele