Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 26-08-2004, 13:46   #1 (permalink)
Neuer User
 
Benutzerbild von lukasboehle
 
Registriert seit: Jul 2004
Ort: Köln
Beiträge: 102
csv in Array laden?

Hallo zusammen,

ich möchte Daten einer Exceldatei in Flash laden. Ich habe schon nachgelesen, das man eine csv Datei in ein Array laden kann. Das würde mein Problem lösen. ABER: Ich bekomme die csv nicht importiert und dementsprechend nicht geladen.

Ist csv (Trennzeichen getrennt) die richtige Wahl?

Wenn ich die csv dann drin hätte - Wie Lade ich sie ein?

Vielen dank im voraus. Gruß, Lukas.
lukasboehle ist offline   Mit Zitat antworten
Alt 26-08-2004, 13:50   #2 (permalink)
Farbe ist Luxus
 
Benutzerbild von ludabruda
 
Registriert seit: May 2003
Ort: Köln
Beiträge: 2.405
Hi,

du kannst das csv einfach mit dem LoadVars-Objekt laden und dann splitten:

ActionScript:
  1. // csv:
  2. peter;müller;Hauptstr. 9;50000;Köln
  3.  
  4. // Flash
  5. loader = new LoadVars();
  6. loader.onLoad = function(ok) {
  7.     if(ok) {
  8.          meinArray = this.split(";");
  9.     }
  10. };
  11. loader.load("mein.csv");
Damit wird die Zeile nach Semikolon getrennt in ein Array gepackt.
Wenn du mehrere Zeilen hast, kannst du vorher noch nach \n splitten.

Grüße
Sascha
__________________
12:15, press return
ludabruda ist offline   Mit Zitat antworten
Alt 26-08-2004, 15:45   #3 (permalink)
Neuer User
 
Benutzerbild von lukasboehle
 
Registriert seit: Jul 2004
Ort: Köln
Beiträge: 102
Hey, ersteinmal Danke für die schnelle Hilfe. Leider bin ich noch nicht dazu gekommen das Script auszuprobieren. Ich bekomme die csv nicht impotiert. Keine Ahnung woran das liegt!?

Man kann doch eigentlich nicht viel falsch machen. Einfach unter Excel als csv abspeichern und importieren. Will "er" aber nicht!? Gilt es irgendetwas besonderes zu beachten?

Gruß, Lukas.
lukasboehle ist offline   Mit Zitat antworten
Alt 28-08-2004, 14:44   #4 (permalink)
Farbe ist Luxus
 
Benutzerbild von ludabruda
 
Registriert seit: May 2003
Ort: Köln
Beiträge: 2.405
das Skript läd das csv auch zur Laufzeit, nicht per Import direkt in Flash...
Wenn du es direkt in Flash haben willst, mach es mit Copy&Paste...

Grüße
Sascha
__________________
12:15, press return
ludabruda ist offline   Mit Zitat antworten
Alt 30-08-2004, 09:29   #5 (permalink)
Neuer User
 
Benutzerbild von lukasboehle
 
Registriert seit: Jul 2004
Ort: Köln
Beiträge: 102
Okay, Danke. Werd mal mein Glück versuchen.

Allzu viele Fehler kann ich ja nun nicht mehr machen...

Gruss, Lukas.
lukasboehle ist offline   Mit Zitat antworten
Alt 01-09-2004, 17:16   #6 (permalink)
Neuer User
 
Benutzerbild von lukasboehle
 
Registriert seit: Jul 2004
Ort: Köln
Beiträge: 102
LoadVars

So, ich habs mal mit loadVars geschrieben:

loader=new LoadVars();
loader.onLoad = function(success) {
if(success){
trace("yo");}
else{trace("ne");}
}
loader.load("map.csv",0);

Die Ausgabe sagt: yo. Leider werden meine Variablen weder in ihre Rechnungen noch in ihre Textfelder geladen. Was fehlt mir?
lukasboehle ist offline   Mit Zitat antworten
Alt 01-09-2004, 17:20   #7 (permalink)
Farbe ist Luxus
 
Benutzerbild von ludabruda
 
Registriert seit: May 2003
Ort: Köln
Beiträge: 2.405
Zitat:
Was fehlt mir?
Bin ich dein Arzt?! SCNR

Nach dem Laden befinden sich deine Daten im LoadVars-Objekt. Davon wissen deine Textfelder natürlich nichts.

Du kannst z.B. folgendes machen:

ActionScript:
  1. loader=new LoadVars();
  2. loader.onLoad = function(success) {
  3. if(success){
  4.     meinTextFeld.text = this;
  5. }
  6. else{trace("ne");}
  7. }
  8. loader.load("map.csv",0);

meinTextFeld ist der Instanzname eines Textfeldes. Darin wird dann der gesamte Inhalt deines csv dargestellt. Je nachdem, was du genau machen willst, solltest du die Daten aber erst weiterverarbeiten, etwa splitten o.ä.

Was steht denn in der csv und was soll passieren?

Grüße
Sascha
__________________
12:15, press return
ludabruda ist offline   Mit Zitat antworten
Alt 01-09-2004, 17:31   #8 (permalink)
Neuer User
 
Benutzerbild von lukasboehle
 
Registriert seit: Jul 2004
Ort: Köln
Beiträge: 102
Hi,

du bist zwar nicht mein Artzt, aber ich komm mir allmählich vor wie dein Sorgenkind

In meiner csv sind nur Variablen (mit denen ich Rechnen möchte und auch Textfelder bedienen). Hier ein Auszug:

f1="Wenn Eichhörnchen Beachball spielen könnten, wären sie dann besser als Seehunde beim Rudel radeln?";
&a1="Richtig, du hast wirklich schwer ahnung von Biologie, kleiner.";
&fm1=fma12;
&wt1=2;
&rh1=2;

Ist noch alles Blindtext. Soll später mal ein Frage-Antwort-Spiel werden, bei dem man Fragetext, Reihenfolge, Wertigkeit etc. über csv einladen kann. Wenn ich die Variablen in meinen ersten Frame ins AS schreibe funktionierts. Nur übers einladen leider nicht.


Ich werd aber nun einmal versuchen mir alles aufzubröseln...

Geändert von lukasboehle (01-09-2004 um 17:34 Uhr)
lukasboehle ist offline   Mit Zitat antworten
Alt 01-09-2004, 17:33   #9 (permalink)
Farbe ist Luxus
 
Benutzerbild von ludabruda
 
Registriert seit: May 2003
Ort: Köln
Beiträge: 2.405
das ist dann aber keine CSV, sondern normaler QueryString...

Ok, du hast diese Variablen dann im LoadVars-Objekt und kannst sie dann zuweisen.

ActionScript:
  1. loader=new LoadVars();
  2. loader.onLoad = function(success) {
  3. if(success){
  4.     frage.text = this.f1;
  5. }
  6. else{trace("ne");}
  7. }
  8. loader.load("map.csv",0);

Grüße
Sascha
__________________
12:15, press return
ludabruda ist offline   Mit Zitat antworten
Alt 01-09-2004, 17:38   #10 (permalink)
Neuer User
 
Benutzerbild von lukasboehle
 
Registriert seit: Jul 2004
Ort: Köln
Beiträge: 102
Is schon ne *.csv eine *.txt würds aber auch tun... die Daten sind eben in excel angelegt.

Allmählich leuchtet das aber alles ein... Ich werds mal versuchen. Vorerst tausend dank für die Mühe!

Gruss, Lukas.
lukasboehle ist offline   Mit Zitat antworten
Alt 01-09-2004, 17:46   #11 (permalink)
Farbe ist Luxus
 
Benutzerbild von ludabruda
 
Registriert seit: May 2003
Ort: Köln
Beiträge: 2.405
CSV beschreibt auch nur den Inhalt. Letztlich ist das Datei-Format Plain-Text.
Nur sind die Daten in der CSV kommasepariert. In deinem Fall sind die Daten aber als QueryString angelegt.

Grüße
Sascha
__________________
12:15, press return
ludabruda ist offline   Mit Zitat antworten
Alt 02-09-2004, 13:01   #12 (permalink)
Neuer User
 
Benutzerbild von lukasboehle
 
Registriert seit: Jul 2004
Ort: Köln
Beiträge: 102
Hallo,

meine Variablen lassen sich wunderbar in die Textfelder laden! Vielen Dank nochmal. Auch die success-Funktion ist grosse Klasse! Leider habe ich immernoch zwei (hoffentlich) kleine Probleme:

Manche Textfeldinhalte enden mit ";" ohne meine Eingabe. Wie kann ich das weg bekommen?

Mit einigen Variablen möchte ich rechnen. Aber mein casting (Number()) funktioniert nicht. Da kommt immer null raus! Liegt wahrscheinlich auch an den ";"(dadurch dann Nan, oder so).

Danke im vorraus! Lukas.
lukasboehle ist offline   Mit Zitat antworten
Alt 02-09-2004, 13:07   #13 (permalink)
Farbe ist Luxus
 
Benutzerbild von ludabruda
 
Registriert seit: May 2003
Ort: Köln
Beiträge: 2.405
Hi,

also, die ; bekommst du weg, indem du sie aus der txt rausschmeißt...

Flash liest alles Vars grundsätzlich als Strings ein. Anführungsstriche brauchst du nicht, die werden sonst Teil der Variablen. Die Zuweisung ist insofern nicht identisch mit der Zuweisung direkt in Flash.
Wenn du &f1=2 schreibst, kannst du es auch mit Number() in eine Zahl konvertieren, oder mit parseInt...

Grüße
Sascha
__________________
12:15, press return
ludabruda ist offline   Mit Zitat antworten
Alt 02-09-2004, 13:32   #14 (permalink)
Neuer User
 
Benutzerbild von lukasboehle
 
Registriert seit: Jul 2004
Ort: Köln
Beiträge: 102
Hi, peinlich, peinlich. Ich hab jetzt ne .txt genommen, die trennt im gegensatz zur .csv mit Tabs und nicht mit ;...

Aber! Wenn ich caste kommt immernoch 0 in der Ausgabe. Obwohl ich die Variable gleich eins gesetzt hab!?
lukasboehle ist offline   Mit Zitat antworten
Alt 02-09-2004, 13:37   #15 (permalink)
Farbe ist Luxus
 
Benutzerbild von ludabruda
 
Registriert seit: May 2003
Ort: Köln
Beiträge: 2.405
Wie sieht der txt-Eintrag genau aus? Sind da evtl. noch Leerzeichen hinter?

Grüße
Sascha
__________________
12:15, press return
ludabruda 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 03:12 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele