Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 04-09-2006, 10:37   #1 (permalink)
Hardstyle DJ
 
Benutzerbild von djdwarf
 
Registriert seit: Nov 2004
Ort: Hamburg
Beiträge: 622
Mehrdimensionale Arrays erstellen - ich raff's nicht

Hallo FF,


ich habe bereits mehrmals mit mehrdimensonales Arrays gearbeitet. Wenn ich sie erfolgreich erstellt habe ist alles weitere auch kein Problem soweit. Das Problem ist jedesmal aufs neue das erstellen! Ich brech mir da jedes mal wieder einen ab und das zeigt mir dass ichs einfach nicht richtig verstanden habe. Vielleicht könnte mich da mal jemand aufklären.

Warum funktionert folgendes Script nicht? Was mach ich falsch?

PHP-Code:
_root.produkte = new Array;
//Testschleife zum erstellen der TestProdukte
for(i=0;i<4;i++){
    
_root.produkte[i] = "produkt_"+(i+1);
}
//in den Produkten neues Array für aktive Tage erstellen
for(i=0;i<_root.produkte.length;i++){
    
_root["produkt_"+(i+1)] = new Array;
    
_root["produkt_"+(i+1)][i] = new Array;
    };
    
_root.produkt_1[0][0] = "14.02.2006";
_root.produkt_1[0][1] = "BBo";
_root.produkt_1[0][2] = 3.0;
_root.produkt_1[0][3] = "Coorparate Design";

_root.produkt_1[1][0] = "18.02.2006";
_root.produkt_1[1][1] = "Kga";
_root.produkt_1[1][2] = 2.0;
_root.produkt_1[1][3] = "Coorparate Design";

_root.produkt_1[2][0] = "21.02.2006";
_root.produkt_1[2][1] = "BBo";
_root.produkt_1[2][2] = 1.5;
_root.produkt_1[2][3] = "Coorparate Design";


trace(_root.produkt_1[2][0]) 

Das schmeißt mir undefined aus ... Warum?



Gruß,
Dwarf
djdwarf ist offline   Mit Zitat antworten
Alt 04-09-2006, 11:05   #2 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
Post

was machst du da überhaupt?! auérdem heißt es doch new Array(). du hattest also zudem noch die klammern vergessen

probier mal so:
PHP-Code:
produkt_1 = new Array();

produkt_1[0] = new Array();
produkt_1[0][0] = "14.02.2006";
produkt_1[0][1] = "BBo";
produkt_1[0][2] = 3.0;
produkt_1[0][3] = "Coorparate Design";

produkt_1[1] = new Array();
produkt_1[1][0] = "18.02.2006";
produkt_1[1][1] = "Kga";
produkt_1[1][2] = 2.0;
produkt_1[1][3] = "Coorparate Design";

produkt_1[2] = new Array();
produkt_1[2][0] = "21.02.2006";
produkt_1[2][1] = "BBo";
produkt_1[2][2] = 1.5;
produkt_1[2][3] = "Coorparate Design"

trace(produkt_1[2][0]) 
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 04-09-2006, 11:10   #3 (permalink)
Hardstyle DJ
 
Benutzerbild von djdwarf
 
Registriert seit: Nov 2004
Ort: Hamburg
Beiträge: 622
Zitat:
Zitat von salazar
was machst du da überhaupt?!
Ich versuch Mehrdimensionale Arrays zu erstellen



Das ganze sollte sich schon dynamisch halten, die Arrays sollten sich also in der Schleife erstellen. Sprich, wenn ich oben in der ersten Schleife statt 4 eine 20 eingebe, müssten trotzdem alle Arrays korrekt erstellt werden. Derzeit übergebe ich die Werte da nur fest zum testen, wird später dann alles über XML gefüttert.


Also ausschließlich an den () lags leider nicht
djdwarf ist offline   Mit Zitat antworten
Alt 04-09-2006, 11:41   #4 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
das mit den for schleifen sieht halt schon komisch aus... wenn ich dich richtig verstanden habe sollteste mit einer verschachtelten for schleife arbeiten.. aber abgesehen davon. wieso schiebst du denn deine xml in ein array? du kannst doch auch mit dem xml object in flash weiter abrieten und kommst an alles dort drinn enthaltene drann!

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 04-09-2006, 11:48   #5 (permalink)
Hardstyle DJ
 
Benutzerbild von djdwarf
 
Registriert seit: Nov 2004
Ort: Hamburg
Beiträge: 622
Ja, aber mit XML bin ich noch nich so fit, deswegen bau ich den ganzen Kram wie ichs brauch erstmal nur mit Arrays und Vorgabewerten, wenn dann alles steht knüpf ich vorne das XML an die Variabeln. Ist für mich einfacher um erstmal das Programm zu erstellen.


Zitat:
Zitat von salazar
wenn ich dich richtig verstanden habe sollteste mit einer verschachtelten for schleife arbeiten..
Aber das tu ich doch (derzeit auf Umwegen), oder versteh ich das falsch?
Also, für jedes Element im Array wird ein neues Array erstellt. Sollte doch funktionieren, eigentlich

Geändert von djdwarf (04-09-2006 um 11:49 Uhr)
djdwarf ist offline   Mit Zitat antworten
Alt 04-09-2006, 12:00   #6 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
Post

so meinte ich das:
PHP-Code:
produkte = new Array();

for(
04i++) {
    
    
produkte[i] = new Array();

    for(
04j++) produkte[i][j] = " ( " " - " " ) ";
    
}

trace(produkte); 
trace(produkte[0]);
trace(produkte[0][0]);
trace(produkte[0][1]);
trace(produkte[0][2]);
trace(produkte[0][3]);
trace(produkte[1]);
trace(produkte[1][0]);
trace(produkte[1][1]);
trace(produkte[1][2]);
trace(produkte[1][3]);
trace(produkte[2]);
trace(produkte[2][0]);
trace(produkte[2][1]);
trace(produkte[2][2]);
trace(produkte[2][3]);
trace(produkte[3]);
trace(produkte[3][0]);
trace(produkte[3][1]);
trace(produkte[3][2]);
trace(produkte[3][3]); 
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 04-09-2006, 15:03   #7 (permalink)
Hardstyle DJ
 
Benutzerbild von djdwarf
 
Registriert seit: Nov 2004
Ort: Hamburg
Beiträge: 622
Ach je, jetzt hab ich erst gesehen was ich da gemacht hab. Das ist natürlich Unsinn ... schätze mal deswegen hast du auch nicht verstanden, wo ich hinwill .. am Ende muss ich nämlich zu folgendem Ergebniss:

PHP-Code:
_root.produkt_1[0][0] = "14.02.2006";
_root.produkt_1[0][1] = "BBo";
_root.produkt_1[0][2] = 3.0;
_root.produkt_1[0][3] = "Coorparate Design";

_root.produkt_1[1][0] = "18.02.2006";
_root.produkt_1[1][1] = "Kga";
_root.produkt_1[1][2] = 2.0;
_root.produkt_1[1][3] = "Coorparate Design";

_root.produkt_1[2][0] = "21.02.2006";
_root.produkt_1[2][1] = "BBo";
_root.produkt_1[2][2] = 1.5;
_root.produkt_1[2][3] = "Coorparate Design";

_root.produkt_2[0][0] = "14.02.2006";
_root.produkt_2[0][1] = "BBo";
_root.produkt_2[0][2] = 3.0;
_root.produkt_2[0][3] = "Coorparate Design";

_root.produkt_2[1][0] = "18.02.2006";
_root.produkt_2[1][1] = "Kga";
_root.produkt_2[1][2] = 2.0;
_root.produkt_2[1][3] = "Coorparate Design";

_root.produkt_2[2][0] = "21.02.2006";
_root.produkt_2[2][1] = "BBo";
_root.produkt_2[2][2] = 1.5;
_root.produkt_2[2][3] = "Coorparate Design";

_root.produkt_3[0][0] = "14.02.2006";
_root.produkt_3[0][1] = "BBo";
_root.produkt_3[0][2] = 3.0;
_root.produkt_3[0][3] = "Coorparate Design";

_root.produkt_3[1][0] = "18.02.2006";
_root.produkt_3[1][1] = "Kga";
_root.produkt_3[1][2] = 2.0;
_root.produkt_3[1][3] = "Coorparate Design";

_root.produkt_3[2][0] = "21.02.2006";
_root.produkt_3[2][1] = "BBo";
_root.produkt_3[2][2] = 1.5;
_root.produkt_3[2][3] = "Coorparate Design"
usw.




So klappts nu:

PHP-Code:
_root.produkte = new Array;
//Testschleife zum erstellen der TestProdukte
for(i=0;i<4;i++){
    
_root.produkte[i] = "produkt_"+(i+1);
}
//in den Produkten neues Array für aktive Tage erstellen
for(i=0;i<_root.produkte.length;i++){
        
_root["produkt_"+(i+1)] = new Array;
            for(
x=0;x<4;x++){
                    
_root["produkt_"+(i+1)][x] = new Array;
                }
    }; 
Ok, trotzdem danke, mal wieder n blöder Fehler.

Geändert von djdwarf (04-09-2006 um 15:04 Uhr)
djdwarf 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 22:41 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele