ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
323
323
EMPFEHLEN
-
Hallo
Bin neu hier und hätt da auch gleich mal ne Frage.
Ein Kommilitone hat ein Servlet programmiert, daß die Daten einer Prozesssimulation bereitstellt. Wahlweise als HTML- oder XML-Daten.
Meine Aufgabe war/ist es dazu eine Visualisierung in Flash zu programmieren. An sich läuft sie auch schon, aber bei der Übergabe der Variablen und deren Werte hakt es noch etwas.
Im Moment ist es so gelöst, daß ich ein LoadVars-Objekt erzeuge, über load die Variablen abrufe und je nach Wert MCs ein-/ausblende bzw. Textfelder setze. Also so:
Code :1 2 3 4 5 6
loadData = new LoadVars(); loadData.onLoad = function () { if (this.pumpe1_an==0) {pumpe1._visible=false;} else {pumpe1._visible=true;}; abgefuellt.text=Math.round(this.abgefuelltTank1); //usw. für alle MC loadData.load("http://*IP-Adresse*/Server/Server?type=html&list=");
Die Antwort des Servlet sieht dann so aus:
Jetzt ist das Problem, daß der allererste Wert nicht richtig gelesen wird. Das funktioniert nur einwandfrei, wenn das Servlet die HTML-Tags weglassen würde. Das Servlet darf ich aber nicht ändern. Gibts da irgendein workaround oder mach ich vielleicht irgendwas falsch?HTML-Code:<html> <head> </head> <body> pumpe1_an=0&abgefuelltTank1=7.0&........... </body> </html>
Ne Alternative wäre noch das Servlet mit "type=xml" aufzurufen. Dann sieht die Antwort so aus:
Aber ich habs einfach nicht geschafft das irgendwie auszulesen. Muss aber auch dazu sagen, dass ich Flash-Neuling bin. Das hier ist mein erstes Projekt. Bin für jede Hilfe dankbar.Code :1 2 3 4 5 6
<?xml version='1.0' encoding='ISO-8859-1'?> <daten> <item id='pumpe1_an'>0</item> <item id='abgefuelltTank1'>8.0</item> usw........ </daten>
Grüße
cowo
-
Hallo,
anstatt eines LoadVars-Objekts empfehl ich dir die Verwendung der XML-Klasse, die XML-Daten parsen und DOM-ähnlich auslesen kann:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
loadData = new XML(); loadData.ignoreWhite = true; loadData.onLoad = function () { //erstelle ein Objekt als Daten-Container var obj = {}; //<daten>-Knoten in der Variable n speichern var n = this.firstChild; //Fülle obj ab: den id-Wert als Member-Name, den Knoten-Inhalt als Wert for (var i = 0; i < n.childNodes.length; i++) { var id = n.childNodes[i].attributes.id; obj[id] = n.childNodes[i].firstChild.nodeValue; } //Nun hast du entsprechende Variablen in obj gespeichert und kannst damit verfahren, wie dir beliebt trace (obj.pumpe_1); trace (obj.abgefuelltTank1); } loadData.load("http://*IP-Adresse*/Server/Server?type=xml&list=");
Schau dir vielleicht auch mal in der Hilfe das Thema XML an.
gruss
-
Wow ging das schnell.
Und es funktioniert sogar, danke dir.
Ich hatte mir zwar Sachen zum XML Objekt durchgelesen, habe es aber nicht geschafft die ID und den Wert getrennt auszulesen.
Vielleicht noch ne allgemeine Frage.
Der Flashfilm ist zehn Frames lang und läuft im loop. Also im zehnten Frame steht "gotoAndPlay(1)". Im ersten Frame steht das von dir verbesserte Script und ca. fünfzig Zeilen if-then-else Anweisungen.
Kann man das irgendwie eleganter lösen?
Grüße
cowo
-
Bestimmt - aber dann wäre es hilfreich, Du würdest die Datei einmal posten.Kann man das irgendwie eleganter lösen?
Soll der Film denn als Loop laufen? Auf diese Weise wird Dein Code in Frame 1 ja immer wieder ausgeführt ...
Gruß
.
Ähnliche Themen
-
Probleme beim laden der DLL
Von fsmarine im Forum C/C++Antworten: 0Letzter Beitrag: 01.07.08, 10:28 -
Probleme beim Servlet erstellen + Fragen
Von kle-ben im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 8Letzter Beitrag: 21.05.07, 18:25 -
[HILFE] Was mache ich falsch beim Variablen laden?
Von ChrisGru im Forum Flash PlattformAntworten: 9Letzter Beitrag: 16.03.04, 15:40 -
[MX] Variablen Problem beim Laden in externe swf's
Von Comander_Keen im Forum Flash PlattformAntworten: 4Letzter Beitrag: 12.09.03, 23:58 -
variablen beim laden....
Von TheScary im Forum Flash PlattformAntworten: 1Letzter Beitrag: 31.03.03, 15:32





Zitieren
Login





