Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 14-04-2004, 13:52   #1 (permalink)
NeoXan_tnl
Gast
 
Beiträge: n/a
Unhappy Verdammte Arrays [AS Array Noob]

ActionScript:
  1. RepData          = new Array();
  2. Sub_RepData      = new Array();
  3. SubSub_RepData   = new Array();
  4. Marks_Data       = new Array();
  5.  
  6. RepData[0]       = Sub_RepData;    // 2D
  7. RepData[0][0]    = SubSub_RepData; // 3D
  8. RepData[0][1]    = SubSub_RepData; // 3D
  9. RepData[0][0][0] = Marks_Data;     // 4D
  10. RepData[0][1][0] = Marks_Data;     // 4D
  11.  
  12. /* THIS IS THE DATA */
  13. RepData[0][0][0][0] = "Englisch"; RepData[0][0][0][1] = "15";
  14. RepData[0][0][1][0] = "Kunst";    RepData[0][0][1][1] = "15";   
  15. RepData[0][0][2][0] = "Deutsch";  RepData[0][0][2][1] = "15";
  16. RepData[0][0][3][0] = "";         RepData[0][0][3][1] = "";
  17. RepData[0][0][4][0] = "";         RepData[0][0][4][1] = "";
  18. RepData[0][0][5][0] = "";         RepData[0][0][5][1] = "";
  19.  
  20. RepData[0][1][0][0] = "PW";       RepData[0][1][0][1] = "15";
  21. RepData[0][1][1][0] = "PS";       RepData[0][1][1][1] = "15";   
  22. RepData[0][1][2][0] = "";         RepData[0][1][2][1] = "";
  23. RepData[0][1][3][0] = "";         RepData[0][1][3][1] = "";
  24. RepData[0][1][4][0] = "";         RepData[0][1][4][1] = "";
  25. RepData[0][1][5][0] = "";         RepData[0][1][5][1] = "";
  26.  
  27. trace(RepData[0][0][0][0]);
  28. trace(RepData[0][1][0][0]);
und er gibt mir 2 mal "PW" aus...warum?
und viel wichtiger...gibt es eine einfachere Lösung? Habe es schon mit Object probiert, aber da war das gleiche Problem ...

mfg
NeoXan

Geändert von NeoXan_tnl (14-04-2004 um 13:54 Uhr)
  Mit Zitat antworten
Alt 14-04-2004, 15:23   #2 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Ort: Münster
Beiträge: 39
hallo NeoXan,

mit Deiner Zuweisung der Arrays vorab, also

Marks_data = new Array();

RepData[0] [0][0] = Marks_Data;
RepData[0] [1][0] = Marks_Data;

verweist Du innerhalb von Flash auf das gleiche Objekt, d.h. mit der zweiten Zuweisung änderst Du den entsprechenden Wert in Marks_Data, nicht innerhalb eines neuen Arrays. Flash verwendet jedes Array immer nur einmal, d.h. Du mußt zwei unterschiedliche Arrays vordefinieren, die dann gefüllt werden, oder Du definierst sie in Form von

RepData = [
["PW",["Englisch",15]],
["PS",["Kunst",15]],
["",["Deutsch",15]]
]

Ich hoffe, ich habe jetzt zumindest einen Gedanken Deiner Definition richtig erfasst.

Gruß John
Der John ist offline   Mit Zitat antworten
Alt 14-04-2004, 16:31   #3 (permalink)
NeoXan_tnl
Gast
 
Beiträge: n/a
Also ich habe ein Feld von 4x3 Feldern...

[ ] [ ] [ ] [ ]
[ ] [ ] [ ] [ ]
[ ] [ ] [ ] [ ]


so...in jedem Feld stehen jetzt "Tabellen"...

z.B.
[X] [ ] [ ] [ ]
[ ] [ ] [ ] [ ]
[ ] [ ] [ ] [ ]

1.0=XXX 1.1=xx
2.0=XXX 2.1=xx
3.0= 3.1=
4.0=XXX 4.1=xx
5.0= 5.1=


dann wollte ich halt mit einem Array...hier wäre es dann z.B. das linke obere Feld...also
[0][0]
...und dann das 2te Paar, also
[0][0][2][0] und [0][0][2][1]

Am besten wäre das doch auch mit
ActionScript:
  1. o = new Object();
  2. o.Rep  = "XXX"
  3. o.Mark = "xx"
dann hätte man nur noch ein 3D Array, also z.B.
[0][0][1].Rep
und
[0][0][1].Mark

...

mfg
NeoXan
  Mit Zitat antworten
Alt 14-04-2004, 17:05   #4 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Ort: Münster
Beiträge: 39
???

Also so richtig verstanden habe ich Dich noch immer nicht. Du kannst das natürlich mit multidimesionalen Arrays lösen oder mit Objekten. Wobei die Umsetzung von Tabellen oder DB-ähnlichen Strukturen IMHO immer besser mit Arrays umgesetzt wird.

Am besten fängst Du auf der untersten Ebene Deiner Daten an und erweiterst Dein Array dann nach oben hin.

z.B. eine Menüstruktur mit 2 Sprachen und Submenü:

ActionScript:
  1. _root.men = [
  2. [["Menü1"],["Menü2_1","Menü2_2","Menü2_3"],["Menü3"]],
  3. [["Menue1"],["Menue2_1","Menue2_2","Menue2_3"],["Menue3"]],
  4. ];

Beim Wechsel der Sprachen wird hier nur von _root.men[0] aud _root.men[1] gewechselt und dann natürlich entsprechend abgearbeitet. Das ist natürlich auch für Deinen Fall entsprechend umsetzbar.

Deinen ersten Fehler habe ich aber hoffentlich richtig erkannt mit der Setzung des Arrays?

Wenn Du ein bisschen mehr zu Deiner Theorie schreiben würdest, könnte ich Dir sicherlich noch weiter helfen.

John
Der John 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 11:02 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele