ActionScript3.0: nem sortering af Arrays :O)

24. juni 2008

fornylig lavede vi i Co3 dette Danmarkskort til Invita:
se kortet lavet for Invita her

det viser alle de danske Invita-butikker, både visuelt og via et sorteret Array bestående af postnumre.
(det skal nævnes at farverne i eksemplet er default farver, inden de bestemmes af Invita, og alle links er deaktiverede i denne testversion)

først, da vi skulle sortere listen med postnumre, var vi ude i en komplex bubble sort løsning, som jeg havde en programmør til at hjælpe mig med at lave. senere fandt jeg dog ud af, at det slet ikke var nødvendigt.

så her følger en kort guide til hvordan man kan sortere Arrays i ActionScript og bruge indholdet fra Array'et i en ComboBox.
her er det vil skal lave - indholdet fra et ikke-sorteret og et sorteret Array brugt i ComboBoxe


//stop timeline
stop();

//import
import fl.data.DataProvider;
import fl.controls.List;
import fl.events.ListEvent;
import fl.controls.ComboBox;

//her er vores ikke-sorterede Array - lettere rodet - vores DataProvider og vores ComboBox
var _unsortedArray:Array = [34000, 77800, 12300, 11000, 21600, 33120, 18190, 43090];
var dp:DataProvider = new DataProvider();
var _unsortedCombo:ComboBox = new ComboBox();

//et forklarende første label til vores DataProvider
dp.addItem( {label:"This list is unsorted"} );
//alt data fra Array'et fyldes i vores DataProvider
for (var i=0; i<_unsortedArray.length; i++) {
dp.addItem( {label:_unsortedArray[i], id:_unsortedArray[i]} );
}

//indholdet fra DataProvideren bruges i vores ComboBox
_unsortedCombo.dataProvider = dp;
//ComboBoxen placeres på Stage og fodret med info om x, y, width og rowCount
addChild(_unsortedCombo);
_unsortedCombo.width = 164;
_unsortedCombo.x = 50;
_unsortedCombo.y = 50;
_unsortedCombo.rowCount = 10;

//-------------------------------------------------------------------------
//det var den usorterede version gjort synlig
//vi gør det en gang til, men denne gang med sorteret indhold

//et nyt Array med indhold fra den gamle, en ny DataProvider og ComboBox
var _sortedArray:Array = _unsortedArray;
var dp2:DataProvider = new DataProvider();
var _sortedCombo:ComboBox = new ComboBox();

//sorter indholdet i vores Array numerisk
_sortedArray.sort(Array.NUMERIC);

//endnu et forklarende label
dp2.addItem( {label:"This list is sorted"} );
//indholdet fra det sorterede Array i den nye DataProvider
for (var j=0; j<_sortedArray.length; j++) {
dp2.addItem( {label:_sortedArray[j], id:_sortedArray[j]} );
}

//indholdet fra vores DataProvider brugt i vores nye ComboBox
_sortedCombo.dataProvider = dp2;

//på stage og width, x, y and rowcount på plads
addChild(_sortedCombo);
_sortedCombo.width = 164;
_sortedCombo.x = 280;
_sortedCombo.y = 50;
_sortedCombo.rowCount = 10;

//det var det :O)

Vær den første til at give point

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , , ,

Relaterede indlæg

Kommentarer

Tilføj kommentar


 

  Country flag

[b][/b] - [i][/i] - [u][/u]- [quote][/quote]



Live preview

09-09-2010 12:50:47

Powered by BlogEngine.NET 1.3.1.0
Theme by Mads Kristensen (Modifed by Co3)


Om mig

Felix Sanchez Felix Sanchez
Flashin’ about

Send mig en mail Send mail

Kategorier

None

Seneste kommentarer