12-28-2006, 09:11 AM
Example
Function SortVariantArray2Dim
Function __SortVarArr
out
;Create test array
ARRAY(VARIANT) a.create(3 12)
int i j; str s ss
ss=
;january
;february
;march
;april
;may
;june
;july
;august
;september
;october
;november
;december
for i 0 a.len
,a[0 i]=i+1
,s.getl(ss -i)
,a[1 i]=s
out "[]Unsorted array:"
for(i 0 a.len) out a[1 i]
;Sort by second column
SortVariantArray2Dim a 1
out "[]Sorted by second column:"
for(i 0 a.len) out a[1 i]
;Sort by first column
SortVariantArray2Dim a 0
out "[]Sorted by first column:"
for(i 0 a.len) out a[1 i]Function SortVariantArray2Dim
;/
function ARRAY(VARIANT)&a col
if(!a.len) ret
if(a.ndim!=2) end "must be 2-dim array"
if(col>=a.len(1) or col<0) end "invalid column index"
int- t_sortArrCol
t_sortArrCol=col
qsort &a[0 0] a.len a.len(1)*sizeof(VARIANT) &__SortVarArrFunction __SortVarArr
