Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-11-2003, 22:11   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Beiträge: 34
Question Kann auf Object nicht zugreifen!

Hallo zusammen,
gleich zum Problem, ich lade in meinen Flim Daten aus einer Textdatei die etwa so aussehen:

daten_1=oskar|tanja|anna|otto
daten_2=sepp|Kati|peter|caro
... daten_n

diese Daten werden dann per split("|") innerhalb einer for schleife in ein temp_1 - _n Array geschrieben. Des weiteren, und jetzt wird's komplizierter, baue ich diese im Temp Array liegenden Daten in einen neuen Array mit Feldern auf, etwa so:

Data.push({vater: this["temp"+i][0], mutter: this["temp"+i][1]})

Bis jetzt klappt das soweit, wenn ich mir beim Flim testen die Variablen auflisten lasse sehe ich alle Objecte die ich erstellt habe.

Leider kann ich mir die Werte der Data Array's nicht tracen oder anderweitig anzeigen lassen!

Woran kann das liegen?

Dank im voraus
Hans

Geändert von schmalhans (16-11-2003 um 22:16 Uhr)
schmalhans ist offline   Mit Zitat antworten
Alt 16-11-2003, 22:31   #2 (permalink)
Erstmal n Herri!
 
Benutzerbild von _Hannes_
 
Registriert seit: Aug 2002
Ort: Hamburg
Beiträge: 1.233
zeig mal deinen kompletten Code bitte.

mfg
__________________
hannesstruss.de
_Hannes_ ist offline   Mit Zitat antworten
Alt 16-11-2003, 22:45   #3 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Beiträge: 34
Hi,
hier ist der Code:

loader = new LoadVars();
loader.load("data.txt", this);
loader.onLoad = function(ok)
{
if (ok)
{
_root.temp= new Array ();
_root.Data= new Array ();
for (var j=1; j<=7; j++)
{
this["temp"+j] = this["daten_"+j].split("|");
Data.push( { vater: this["temp"+j][0], mutter: this["temp"+j][1], oma: this["temp"+j][2], opa: this["temp"+j][3]} );
}
}
}


gruß Hans

Geändert von schmalhans (16-11-2003 um 22:46 Uhr)
schmalhans ist offline   Mit Zitat antworten
Alt 17-11-2003, 11:04   #4 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Beiträge: 34
Hallo,
kann mir denn keiner helfen, bin schon total verzweifelt!

Hans
schmalhans ist offline   Mit Zitat antworten
Alt 17-11-2003, 11:58   #5 (permalink)
Neuer User
 
Benutzerbild von K-Grabowski
 
Registriert seit: Jan 2003
Ort: Arminia!!!! Bielefeld
Beiträge: 1.138
vielleicht hilft dir das weiter
ActionScript:
  1. loader = new LoadVars();
  2. loader.load("data.txt");
  3. loader.onLoad = function(ok) {
  4.     if (ok) {
  5.         var temparray = [];
  6.         for (var i in this) {
  7. if (typeof this[i] == "string") {
  8.             temparray.push(this.i);
  9. }
  10.         }
  11.         _root.datenarray = [];
  12.         for (var i=0;i<temparray.length;i++) {
  13.             _root.datenarray[i] = [];
  14.             _root.datenarray[i]["Vater"] = temparray[i].split("|")[0];
  15.             _root.datenarray[i]["Mutter"] = temparray[i].split("|")[1];
  16.             _root.datenarray[i]["Kind"] = temparray[i].split("|")[2];
  17.             _root.datenarray[i]["Sohn"] = temparray[i].split("|")[3];
  18.         }
  19.         trace (_root.datenarray[1]["Vater"]);
  20.     }
  21. };

....ups, Fehler korrigiert
__________________
Wieviel hätte ich also für dieses Fahrzeug zu investieren???

Geändert von K-Grabowski (17-11-2003 um 12:26 Uhr)
K-Grabowski ist offline   Mit Zitat antworten
Alt 17-11-2003, 12:24   #6 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Beiträge: 34
hallo,
leider bekomme ich einen fehler in zeile 12 und 26 ?!?!

Szene=Szene 1, Ebene=Ebene 1, Bild=1: Zeile 12: ;' erwartet
var temparray.push(this.i);

Szene=Szene 1, Ebene=Ebene 1, Bild=1: Zeile 26: Unerwartetes Auftreten von '}'
};

keine ahnung, sieht eigentlich korrekt aus!

gruß hans
schmalhans ist offline   Mit Zitat antworten
Alt 17-11-2003, 12:27   #7 (permalink)
Neuer User
 
Benutzerbild von K-Grabowski
 
Registriert seit: Jan 2003
Ort: Arminia!!!! Bielefeld
Beiträge: 1.138
jetzt sollte es gehen
__________________
Wieviel hätte ich also für dieses Fahrzeug zu investieren???
K-Grabowski ist offline   Mit Zitat antworten
Alt 17-11-2003, 12:36   #8 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Beiträge: 34
hallo,
jetzt sind zwar die fehlermedlungen weg.
aber ich kann immer noch nicht auf die werte zugreifen!

trace (_root.datenarray[1]["Vater"]); // undefined

den teil im script check ich irgendwie nicht:

var temparray = [];
for (var i in this) {
if (typeof this[i] == "string") {
temparray.push(this.i);
}
}

woher checkt flash das er die daten_1 - _n nehmen soll?

übrigens sind alle felder in den datenarray's undefined

gruß hans
schmalhans ist offline   Mit Zitat antworten
Alt 17-11-2003, 12:49   #9 (permalink)
Neuer User
 
Benutzerbild von K-Grabowski
 
Registriert seit: Jan 2003
Ort: Arminia!!!! Bielefeld
Beiträge: 1.138
jetzt aber :

ActionScript:
  1. loader = new LoadVars();
  2.  
  3. loader.onLoad = function(ok) {
  4.         if (ok) {
  5.                 var temparray = [];
  6.                 for (var i in this) {
  7.                    
  8.                         if (typeof this[i] == "string" && this[i].indexOf("|") != -1) {
  9.                                 trace(this[i]);
  10.                                 temparray.push(this[i]);
  11.                         }
  12.                 }
  13.                 _root.datenarray = [];
  14.                 for (var i=0;i<temparray.length;i++) {
  15.                         _root.datenarray[i] = [];
  16.                         _root.datenarray[i]["Vater"] = temparray[i].split("|")[0];
  17.                         _root.datenarray[i]["Mutter"] = temparray[i].split("|")[1];
  18.                         _root.datenarray[i]["Kind"] = temparray[i].split("|")[2];
  19.                         _root.datenarray[i]["Sohn"] = temparray[i].split("|")[3];
  20.                 }
  21.                trace (_root.datenarray[1]["Vater"]);
  22.               
  23.         }
  24. };
  25. loader.load("daten.txt");

zur erklärung

mit temparray lege ich ein array an das nach der onLoad Funktion wieder aus dem Speicher verschwindet,
mit der for schleife durchlaufe ich das LoadVars Objekt nach allen Objekten die in ihm liegen (der Vorteil gegenüber deiner 1-7 Schleife ist, das ich beliebig viele Variablen in meine Textdatei schreiben kann, ich würde das ganze allerdings über XML lösen, da das noch komfortabler ist). Und die, die ein String sind und das Zeichen | enthalten sollen in mein Temparray eingefügt werden, danach wird alles ins datenarray eingefügt auf das man dann zugreifen kann.
__________________
Wieviel hätte ich also für dieses Fahrzeug zu investieren???
K-Grabowski ist offline   Mit Zitat antworten
Alt 17-11-2003, 12:55   #10 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Beiträge: 34
hi,
besten dank, jetzt funktionierts

hans
schmalhans 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 17:37 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele