Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 03-09-2004, 09:47   #1 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
dynamisches syntax prob

hola,
hab mal ne frage und vielleicht habt ihr ne idee dazu...

es geht um diesen aufruf hier:
PHP-Code:
_level0[whichchild].id 
whichchild ist ne var und sieht so zunächst aus: "child1"
also:
PHP-Code:
_level0.child1.id 
alles noch ganz easy. jetzt habe ich aber eine schleife, in der ich nach einer bestimmten aktion ne ebene tiefer, bzw höher will... also so z.B.:
PHP-Code:
_level0.child1.child1.id 
und hier gibts dann auch das prob:
PHP-Code:
_level0[whichchild].id 
bisher bin ich dann einfach hergegangen und habe dann im verlauf der schleife die var whichchild modifiziert. also das die dann z.B. child1.child1 ist. zum verdeutlichen würde das dann so aussehen:
PHP-Code:
_level0[child1.child1].id 
genau das aber funzt ja nicht. es müßte ja so aussehen:
PHP-Code:
_level0[whichchild][whichchild].id 
bzw
PHP-Code:
_level0[child1][child1].id 
nur wie mach ich das am besten in meiner function bzw schleife? also wie könnte man das mit den klammern am besten dynamisch erzeugen? habt ihr ne idee?

thx & cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!

Geändert von salazar (03-09-2004 um 09:48 Uhr)
salazar ist offline   Mit Zitat antworten
Alt 03-09-2004, 10:05   #2 (permalink)
will code HTML for food
 
Benutzerbild von querkopf
 
Registriert seit: Mar 2003
Beiträge: 1.232
Code:
 _level0["child1.child1"].id
so sollte es klappen, wenn ich Dich jetzt richtig verstanden hab'...
__________________
Alles ist wie immer. Nur schlimmer.
querkopf ist offline   Mit Zitat antworten
Alt 03-09-2004, 10:11   #3 (permalink)
will code HTML for food
 
Benutzerbild von querkopf
 
Registriert seit: Mar 2003
Beiträge: 1.232
ups.. mhm.. nee... so funktioniert das wohl doch nicht....
__________________
Alles ist wie immer. Nur schlimmer.
querkopf ist offline   Mit Zitat antworten
Alt 03-09-2004, 10:16   #4 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
thx, nicht ganz...
denn wichchild setzt sich auch wieder aus zwei vars zusammen... whichchild wird also nach dem durchlaufen der schleife neu gesetzt...

bei durchgang 1 also _level0[whichchild].id und bei durchgang 2 dann
also _level0[alterwertbleibt][whichchild].id usw usw usw...

cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 03-09-2004, 10:40   #5 (permalink)
Ühnen
 
Benutzerbild von Barabas1977
 
Registriert seit: Aug 2003
Ort: Bad Nauheim
Beiträge: 52
Hi,

erzeuge doch einfach in jedem Schleifendurchgang eine neue Variable nach dem Muster "child"+i, also child1, child2, child3 etc...
Dann kannst Du die im Pfad so zusammenbauen:
PHP-Code:
_level0[child1][child2][child3].id 
Verstehe ich Dein Problem richtig?

Gruß
Flo
Barabas1977 ist offline   Mit Zitat antworten
Alt 03-09-2004, 10:42   #6 (permalink)
alien
 
Benutzerbild von Smirgel
 
Registriert seit: May 2002
Ort: Colonia
Beiträge: 7.597
hi sal.

oder vielleicht hilft eval:

pfad= "child1.child";
eval(pfad).id

und dann halt den string "pfad" zusammensetzen.

sonst poste mal deine schleife.
grüße.
smirgel.
__________________
bei fragen, fragen.
Smirgel ist offline   Mit Zitat antworten
Alt 03-09-2004, 10:53   #7 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
PHP-Code:
function searchtree(savedtree) {
    
//vars setzen und werte initialisieren
    //_level0.child1.doc
    
var childnamesave "child";
    var 
whichchildnr 1;
    var 
whichchild;
    var 
firsttry true;
    var 
children;
    var 
depth 0;
    var 
child;
    var 
0;
    var 
myarrumgekehrt savedtree;
    var 
myarr = new Array();
    var 
myarrpossav = new Array();
    
this.createEmptyMovieClip("myarrschleife",11111);
    
//----
    //dreht das array richtig rum
    
for(var i=(myarrumgekehrt.length-2); i>-1i--){ 
        
myarr.push(myarrumgekehrt[i]);
    }
    
trace("myarr: "+myarr);
    
//----
    //
    
searchmyxml = function(depth) { 
        
trace("searchmyxml = function(depth): "+depth);
        if(
firsttry){ 
            
firsttry false;
            
whichchild += (childnamesave+whichchildnr);
        }else{
            
whichchild += "."+(childnamesave+whichchildnr);
            
        }
        
//trace("level0.child1.doc.childNodes: "+level0.child1.doc.childNodes);
        
trace("___whichchild: "+whichchild);
        
children _level0[whichchild].doc.childNodes;//HIER IST DAS PROBLEM.......................................................
        
trace("___children: "+children);
        
0;
        
myarrschleife.onEnterFrame = function(){
            
i++
            
child children[i].firstchild;
            if(
myarr[depth] == child){
                
delete myarrschleife.onEnterFrame;
                
myarrpossav.push(i);
                
depth++;
                
whichchildnr i;
                
trace("child: "+child);
                
trace("i: "+i);
                
trace("depth: "+depth);
                
searchmyxml(depth);
            }
        }
    }
    
searchmyxml(depth);
    
//----

@Barabas1977... nee. ich glaub das haste nicht richtig verstanden
@smirgel. das mit eval mußte mir bitte nochmal genauer erklären... oben ist auch die function...

thx & cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!

Geändert von salazar (03-09-2004 um 11:02 Uhr)
salazar ist offline   Mit Zitat antworten
Alt 03-09-2004, 11:00   #8 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
@Barabas1977: genau das was du schreibst mache ich ja auch soweit... aber die eckigen klammern machen probs...

cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 03-09-2004, 11:13   #9 (permalink)
will code HTML for food
 
Benutzerbild von querkopf
 
Registriert seit: Mar 2003
Beiträge: 1.232
smirgel!!!!!!
Du hast's!!!!!!!!!!

cool

das funzt!
__________________
Alles ist wie immer. Nur schlimmer.
querkopf ist offline   Mit Zitat antworten
Alt 03-09-2004, 11:14   #10 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
ein dickes merci an euch!
es funzt wunderbar..
thx & cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 03-09-2004, 11:19   #11 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
ach ja... die lösung post ich natürlich auch noch...:
PHP-Code:
function searchtree(savedtree) {
    
//vars setzen und werte initialisieren
    //_level0.child1.doc
    
var childnamesave "child";
    var 
whichchildnr 1;
    var 
whichchild;
    var 
whichchildbuild;
    var 
firsttry true;
    var 
children;
    var 
depth 0;
    var 
child;
    var 
0;
    var 
myarrumgekehrt savedtree;
    var 
myarr = new Array();
    var 
myarrpossav = new Array();
    
this.createEmptyMovieClip("myarrschleife",11111);
    
//----
    //dreht das array richtig rum
    
for(var i=(myarrumgekehrt.length-2); i>-1i--){ 
        
myarr.push(myarrumgekehrt[i]);
    }
    
trace("myarr: "+myarr);
    
//----
    //
    
searchmyxml = function(depth) { 
        
trace("searchmyxml = function(depth): "+depth);
        if(
firsttry){ 
            
firsttry false;
            
whichchildbuild childnamesave+whichchildnr;
            
whichchild "_level0."+(whichchildbuild)+".doc.childNodes";
        }else{
            
whichchildbuild += "."+childnamesave+whichchildnr;
            
whichchild "_level0."+(whichchildbuild)+".doc.childNodes";
            
        }
        
trace("___whichchild: "+whichchild);
        
        
children = eval(whichchild);
        
//children = _level0[whichchild].doc.childNodes;
        
trace("___children: "+children);
        
0;
        
myarrschleife.onEnterFrame = function(){
            
i++
            
child children[i].firstchild;
            if(
myarr[depth] == child){
                
delete myarrschleife.onEnterFrame;
                
myarrpossav.push(i);
                
depth++;
                
whichchildnr i;
                
trace("child: "+child);
                
trace("i: "+i);
                
trace("depth: "+depth);
                
searchmyxml(depth);
            }
        }
    }
    
searchmyxml(depth);
    
//----

cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar 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 05:56 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele