Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 27-11-2005, 12:08   #1 (permalink)
Neuer User
 
Registriert seit: Jul 2002
Ort: Köln
Beiträge: 79
Question 2 dimensionalen array sortieren

Hallo zusammen,

hab schon diverse Threads durchgelesen, bin aber noch auf keine Lösung für mein Problem gestoßen. Entweder hab ich es überlesen oder einfach keinen Plan (letzteres wird wohl eher der Fall sein ), hoffe jedenfalls das mir jmd helfen kann

Es geht um einen Poll / Voting. Die Grafen sollen nach Menge der abgegebenen Stimmen sortiert werden.

Für die jeweilige antwort gibt es aber dann 3 werte zu übergeben:
1. die Antwort als Text
2. die Menge der abgegebenen Stimmen
3. die Farbe des Balkens

Nun hab ich mir überlegt das ganze in ein 2D array zu schreiben.
quasi so: array [position][werte]

Das Skript soll nun die Menge der abgegebenen Stimmen vergleichen und entsprechend die Position Ändern
(ich hoffe ich drück das verständlich aus)


Code:
for (var i=1; i<=answer_ammount; i++) { // 
   answer[i][0] = XMLdata.firstChild.childNodes[poll_id].attributes["answer_" + i ]; // answer text
   answer[i][1] = Number(XMLdata.firstChild.childNodes[poll_id].attributes["answer_" + i + "_ammount"]); // ammount of given answers
   answer[i][2] = XMLdata.firstChild.childNodes[poll_id].attributes["answer_" + i + "_color"]; // answer color
   // determine ammount of all answers
   trace (answer[i][0]);
   trace (answer[i][1]);
   trace (answer[i][2]);
   trace ("-------------");
}

die daten werden zwar richtig aus der XML gelesen, jedoch kommen die im Array nicht an

vielleicht ist der ganze Ansatz aber auch nicht der richtige, hoffe jedenfalls das jmd Rat weiß und vielleicht auch einpaar Tips zum eigentlichen sortieren geben kann
kharn ist offline   Mit Zitat antworten
Alt 27-11-2005, 15:40   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.321
(bitte hier bei ActionScript immer dazuschreiben, welche flash-version du benützt!)

http://www.seibsprogrammladen.de/fra...ispiele/flash5
-> Sortieren
Mehrdimensionales Array sortieren.

und mal in der doku nachlesen:
sort (Array.sort-Methode)

---------------------
var at = XMLdata.firstChild.childNodes[poll_id].attributes;
for (var i = 1; i<=answer_ammount; i++) {
answer[i] = [];
answer[i][0] = at["answer_"+i];
answer[i][1] = Number(at["answer_"+i+"_ammount"]);
answer[i][2] = at["answer_"+i+"_color"];
}
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (27-11-2005 um 15:41 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 04-12-2005, 18:17   #3 (permalink)
Neuer User
 
Registriert seit: Jul 2002
Ort: Köln
Beiträge: 79
erstmal ein FETTES dankeschön
bin leider die letzten tage kaum zum proggen gekommen, das ganze klappt aber leider noch nicht, werd mich noch weiter dahinter klemmen müssen...
kharn ist offline   Mit Zitat antworten
Alt 04-12-2005, 19:57   #4 (permalink)
Neuer User
 
Registriert seit: Jul 2002
Ort: Köln
Beiträge: 79
Es Läuft

wie das Sortieren klappt hab ich noch nicht auf die Reihe bekommen, aber zumindest klappt es schon den ganzen schmarn ins Array zu schreiben und da auch wieder ordentlich raus zu bekommen

Code:
var answers_total:Number = Number(0); // ammount of all given answers 
_global.answer = []; // create array to store answer infos
for (var i=1; i<=answer_ammount; i++) { //
	answer[i] = []; // create array within answer array for specific answer info

	// push vars into array within answer array
	answer[i][0] = at["answer_" + i ]; // answer text
	answer[i][1] = Number(at["answer_" + i + "_ammount"]); // ammount of given answers
	answer[i][2] = at["answer_" + i + "_color"]; // answer color
			
	// determine ammount of all answers
	answers_total += Number(answer[i][1]);
	_global.answers_total = answers_total; // makes the var global, somehow this didn`t work when initialising the var..
}
kharn 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 19:54 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele