| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| *<):o) Registriert seit: Mar 2003
Beiträge: 83
| player7 vs. player8
hallo, ich arbeite unter flash8. ich habe jetzt eine swf erstellt und auf meiner rechner läuft die wunderbar, auf anderen rechner nicht. Grund: bei mir werkelt zum anzeigen und interpretieren der swf der flash-player-8. auf dem anderen rechner "nur" der flash-player-7. ich fand auch sofort das problem, den ich benutze den befehl "sortOn". in der hilfe steht: 1. Verfügbarkeit: ActionScript 1.0; Flash Player 6 2. ab Flash Player 7 umfasst der befehl den options-Parameter. 3. ab Flash Player 8 haben Sie die Möglichkeit, bei einer Sortierung nach mehreren Feldern für jedes Feld eine andere Sortieroption anzugeben und ich benutze mehrere Felder z.B.: PHP-Code: so. kann mir einer helfen, genau die selbe sortierung zu realisieren, aber die auf einen flash-player-7 läuft? ansonsten müsste ich mir selber eine funktion schreiben. angelehnt an bubble und quick sort. gruss m1cha
__________________ looser@www:~> su -l Password: root:~ # root:~ # chmod 777 WorldWideWeb root:~ # logout looser@www:~> Optimismus ist ein Mangel an Information! |
| | |
| | #2 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
|
sowas haben doch schon die alten römer dreistimmig über die alpen gejodelt ;-) http://www.seibsprogrammladen.de/fra...ispiele/flash5 -> Sortieren Mehrdimensionales Array sortieren. im wesentlichen: Code: // und das halt auf deine drei spalten erweitern
// ist a[0]==b[0] dann nach [1] ordnen
// ist a[1]==b[1] dann nach [2] ordnen
function fSortSub (a, b) {
if (a[gSpalte]<b[gSpalte]) {
return -1;
} else if (a[gSpalte]>b[gSpalte]) {
return 1;
} else {
return 0;
}
}
gArchiv.sort(fSortSub);
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (03-05-2006 um 22:22 Uhr) |
| | |
| | #3 (permalink) |
| *<):o) Registriert seit: Mar 2003
Beiträge: 83
|
besten dank hgseib, ich habe eine funktion geschrieben die mir das sortiert. und man kann angeben nach welchen spalten sortiert werden soll und in welche richtung. andere werden so eine funktion auch mal brauchen können die mit "sortOn" und den optionen kein erfolg haben wenn jemand den flash-player-6/7 benutzt. also werde ich das hier mal veröffendlichen: PHP-Code: gruss m1cha
__________________ looser@www:~> su -l Password: root:~ # root:~ # chmod 777 WorldWideWeb root:~ # logout looser@www:~> Optimismus ist ein Mangel an Information! |
| | |
| | #4 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
|
das hat nichts mit rekursion zu tun und ich hatte dir die lösung schon beschrieben Code: var test=[];
test.push([2, 1, 3, 2]);
test.push([1, 1, 3, 2]);
test.push([5, 2, 2, 6]);
test.push([2, 1, 3, 6]);
test.push([1, 2, 3, 9]);
test.push([2, 1, 5, 2]);
test.push([1, 2, 4, 0]);
test.push([2, 8, 3, 8]);
test.push([1, 2, 3, 6]);
//
function f_sort_sub(a, b) {
if (a[0]<b[0]) return 1;
else if (a[0]>b[0]) return -1;
else {
if (a[1]<b[1]) return 1;
else if (a[1]>b[1]) return -1;
else {
if (a[2]<b[2]) return 1;
else if (a[2]>b[2]) return -1;
else return 0;
}
}
}
//
trace(test.join("\r"));
trace("----------");
test.sort(f_sort_sub);
trace(test.join("\r")); Code: Array.prototype.fSortOn = function(rSortOn) {
this.fSortOnSub = function(a, b) {
var ret = 0, i = -3;
while ((i += 3)<rSortOn.length && !ret) {
var p = rSortOn[i];
var s = rSortOn[i+1] == 'STR' ? String : Number;
var r = rSortOn[i+2] == 'ASC' ? -1 : 1;
ret = s(a[p])<s(b[p]) ? r : s(a[p])>s(b[p]) ? -r : 0;
}
return ret;
};
return this.sort(this.fSortOnSub);
};
ASSetPropFlags(Array.prototype, ["fSortOn"], 1);
//
var test = [];
test.push([2, 1, 3, 'Anna']);
test.push([1, 11, 3, 'Anna']);
test.push([5, 2, 2, 'Otto']);
test.push([2, 1, 3, 'Otto']);
test.push([1, 2, 3, 'Rolf']);
test.push([2, 1, 5, 'Anna']);
test.push([1, 12, 4, 'Alf']);
test.push([2, 8, 3, 'Paul']);
test.push([1, 2, 3, 'Otto']);
//
trace(test.join("\r"));
trace("----------");
test.fSortOn([0, 'NUM', 'ASC', 1, 'STR', 'DESC', 3, 'STR', 'ASC']);
trace(test.join("\r"));
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (04-05-2006 um 12:52 Uhr) |
| | |
| | #5 (permalink) |
| *<):o) Registriert seit: Mar 2003
Beiträge: 83
|
die funktion von mir namens "f_sort_rekusion" ist rekursiv. und die kann man für alles 2d-array zum sortieren benutzen. man braucht nur das array: var sortieren:Array=new Array([0,0],[1,1],[3,0]); anzupassen und schon sortiert das ding so wie man es will. das erste(spalte 0) zb. aufsteigend das zweite(spalte 1) absteigend und dann das dritte(spalte 3) wieder aufsteigend. ohne gross irgendwelchen code zu änden und oder anzupassen. ist doch super. oder findest du funktionen die so arbeiten (rekursiv) abartig? der befehl "sortOn" arbeitet genau so. bis auf das bei dem befehl noch angaben zum inhalt gemacht werden können (inhalt als zahl/text) betrachten. gruss m1cha
__________________ looser@www:~> su -l Password: root:~ # root:~ # chmod 777 WorldWideWeb root:~ # logout looser@www:~> Optimismus ist ein Mangel an Information! |
| | |
| | #6 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
|
"f_sort_rekusion" ist rekursiv sorry, das habe ich nicht gesehen. ist super! (rekursiv) abartig? das habe ich nicht gesagt. und es ist doch nicht rekursiv ;-) sicher, du hasst das so programmiert, aber ein array arbeitet man in einer for oder einer while-schleife ab.
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (04-05-2006 um 12:20 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |