> Is there a way to sort an array that has more than one dimension by telling
>  Gambas on which field the sorting shoiuld be done?
> 
> For example, if I have the array
> Max, 14
> Anna, 8
> Fabien, 7
> 
> I would expect the result of sorting by the first field to be
> Anna, 8
> Fabien, 7
> Max, 14
> 
> Instead, when using Array.Sort, I get
> 7, 8
> 14, Anna
> Fabien, Max
> 
> which is useless.
> 
> I have a workaround now, reading the array into a single-dimensioned array
>  like Max~14
> Anna~8
> Fabien~7
> 
> and then sort it, which produces
> Anna~8
> Fabien~7
> Max~14
> 
> and then split and read everything back to the original array:
> Anna, 8
> Fabien, 7
> Max, 14
> 
> But that just works, it's not really elegant.
> Somebody knows a better way?
> 
> Thanks
> Matti
> 

Not really. The array Sort() method is very simple, as it sorts the contents 
of the array linearly, whatever the number of dimensions is.

A workaround is using a Object[], and storing each line of your table inside 
by using a dedicated class, or another array. 

Sorting an Object[] calls the "_compare" public method on each object. This 
way you can sort the array the way you want. Look at the documenation of 
Object[].Sort() in the wiki for more details.

In Gambas 3, you don't have to use an Object[], you can use a Variant[][] 
instead.

Regards,

-- 
Benoît Minisini

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Gambas-user mailing list
Gambas-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gambas-user

Reply via email to