Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 27-07-2005, 22:43   #1 (permalink)
FBx
 
Benutzerbild von xlive
 
Registriert seit: May 2003
Beiträge: 968
string mit komma trenne

hi,

ich habe lese aus einer .xml die werte für eine combobox und übergebe sie der var combo. in der var combo steht nun der string "VF, F, M, C, VC of EC" jetzt sollen der string aber durch kommas getrennt werden, um sie in meine comboBox.dataProvider einlesen zu können.

ActionScript:
  1. var combo:String = xmlwert.childNodes[2].childNodes[0].firstChild;
  2.  
  3. //comboBox.dataProvider = ["VF", "F", "M" ...];
  4. comboBox.dataProvider = combo;

wie bekomme ich meinen var combo:String in einzlne teilstrings?

gruß xlive
xlive ist offline   Mit Zitat antworten
Alt 28-07-2005, 02:02   #2 (permalink)
Neuer User
 
Registriert seit: Jul 2003
Ort: Berlin
Beiträge: 283
Willst du den String anhand der Kommas zerlegen, oder sollen die Kommas eingefügt werden?
Wenn du Ihn zerlegen willst, dann bieten dir Flash die Funktion
ActionScript:
  1. String.split('Trennzeichen')
Als Ergebnis erhälts du dann ein Array mit den einzelnen Teilzeichenketten.
__________________
ein mensch ohne macke ist kacke...
DaKinel ist offline   Mit Zitat antworten
Alt 28-07-2005, 09:55   #3 (permalink)
FBx
 
Benutzerbild von xlive
 
Registriert seit: May 2003
Beiträge: 968
danke, aber es haut so leider nicht hin?
warum wird bei einem trace (combo_array) undefined ausgegben?
ActionScript:
  1. var xmlwert = mein_xml.firstChild;
  2. var combo:String = xmlwert.childNodes[0].childNodes[0].firstChild;
  3. //var combo:String = "Hans,Peter,Bernd";
  4. trace("combo: "+combo);
  5. var combo_array:Array = combo.split(",");
  6. trace("combo_array: "+combo_array);
  7. comboBox.dataProvider = combo_array;
der datentyp der var combo ist doch ein string bzw. der wert aus der .xml wird doch als string übergeben?!

gx
xlive ist offline   Mit Zitat antworten
Alt 28-07-2005, 11:26   #4 (permalink)
Neuer User
 
Registriert seit: Jul 2003
Ort: Berlin
Beiträge: 283
Ganz einfach.
Wie man auch in der Flash Dokumentation nachlesen kann, muss ein Array mit dem Operator
ActionScript:
  1. new
erzeugt werden. Allein die Typdefinition
ActionScript:
  1. combo_array:Array;
bringt Flash dann nicht viel. Also besser
ActionScript:
  1. var xmlwert = mein_xml.firstChild;
  2.  var combo:String = xmlwert.childNodes[0].childNodes[0].firstChild;
  3.  //var combo:String = "Hans,Peter,Bernd";
  4.  trace("combo: "+combo);
  5.  var combo_array:Array = new Array();
  6.  var combo_array = combo.split(",");
  7.  trace("combo_array: "+combo_array);
  8.  comboBox.dataProvider = combo_array;
Dann sollte das auch klappen
__________________
ein mensch ohne macke ist kacke...
DaKinel ist offline   Mit Zitat antworten
Alt 28-07-2005, 11:35   #5 (permalink)
FBx
 
Benutzerbild von xlive
 
Registriert seit: May 2003
Beiträge: 968
nein geht leider nicht!
auch nicht mit 1x var
ActionScript:
  1. var combo_array:Array = new Array();
  2. combo_array = combo.split(",");

gx
xlive ist offline   Mit Zitat antworten
Alt 28-07-2005, 11:41   #6 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hallo!
Dann stimmt mit deinen XML-Daten was nicht. Denn das hier
ActionScript:
  1. var combo = "Hans,Peter,Bernd";
  2. trace("combo: "+combo);
  3. var combo_array = combo.split(",");
  4. trace("combo_array: "+combo_array);
klappt ja ohne Probleme.
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 28-07-2005, 11:43   #7 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg / Stuttgart
Beiträge: 4.338
@DaKinel
Das stimmt nur, wenn du ein neues, leeres Array erstellen möchtest.
Array.split allerdings gibt ein neues Array zurück, dafür muss noch kein Array bestehen:
ActionScript:
  1. var a:Array;
  2. var s:String = "Hallo ich bin ein Satz";
  3. a = s.split(" ");
  4. trace(a);
Das geht, und ist vollkommen richtig, a enthält nun die einzelnen Wörter.
__________________
»Carpe diem«, sagte der Graf. (Terry Pratchett: Ruhig Blut!)
Janoscharlipp ist offline   Mit Zitat antworten
Alt 28-07-2005, 11:48   #8 (permalink)
Neuer User
 
Registriert seit: Jul 2003
Ort: Berlin
Beiträge: 283
@Janoscharlipp: Okay
__________________
ein mensch ohne macke ist kacke...
DaKinel ist offline   Mit Zitat antworten
Alt 28-07-2005, 11:49   #9 (permalink)
FBx
 
Benutzerbild von xlive
 
Registriert seit: May 2003
Beiträge: 968
Der Frager: die daten werden ja in die var combo geschrieben und mit trace auch ausgegeben nur wenn ich sie dann splitten möchte haut´s n nicht mehr hin?!
ActionScript:
  1. var combo:String = xmlwert.childNodes[0].childNodes[0].firstChild;
  2. trace("combo: "+combo);
  3. //Ausgabe: combo: Hans,Peter,Bernd
  4.  
xlive ist offline   Mit Zitat antworten
Alt 28-07-2005, 11:58   #10 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Was gibt denn das hier zurück?
ActionScript:
  1. trace(typeof (combo))
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 28-07-2005, 12:06   #11 (permalink)
FBx
 
Benutzerbild von xlive
 
Registriert seit: May 2003
Beiträge: 968
object !!
stimmt, ist ja ein xml-objekt. ergo muss jetzt aus dem object ein string werden?!
xlive ist offline   Mit Zitat antworten
Alt 28-07-2005, 12:09   #12 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Geht das hier?!?!?
ActionScript:
  1. var combo_array = combo.toString.split(",");
  2. trace("combo_array: "+combo_array);
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 28-07-2005, 12:20   #13 (permalink)
FBx
 
Benutzerbild von xlive
 
Registriert seit: May 2003
Beiträge: 968
nein, ist immer noch ein object.
xlive ist offline   Mit Zitat antworten
Alt 28-07-2005, 12:28   #14 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Klammern vergessen...
ActionScript:
  1. var combo_array = combo.toString().split(",");
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 28-07-2005, 12:32   #15 (permalink)
FBx
 
Benutzerbild von xlive
 
Registriert seit: May 2003
Beiträge: 968
juuuuuuubbbbbel. sehr gut.
danke.

gruß xlive
xlive 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 08:41 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele