Organizar array

Post Reply
Francisco Horta
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Organizar array

Post by Francisco Horta »

Hola foro,
tengo un arreglo multidimensional este lo ordeno con el "asort", pero por un dato, lo que quiero es organizar el arreglo por medio de 2 datos, como si fuera un campo de dbf "a+b" alguna pista?
gracias
paco
User avatar
TecniSoftware
Posts: 213
Joined: Fri Oct 28, 2005 6:29 pm
Location: Quilmes, Buenos Aires, Argentina

Post by TecniSoftware »

Francisco:

Yo hago lo siguiente:

aConceptos := ASort( aTemp,,, { |a,b| ( DtoS( a[1] ) + Str( a[2], 2, 0 ) ) < ( DtoS( b[1] ) + Str( b[2], 2, 0 ) ) } )

Puedes ver que a[1] y a[2] son los elementos del array que se quiere ordenar.

Espero que te sirva.

Salu2!
Alejandro Cebolido
Buenos Aires, Argentina
Francisco Horta
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Post by Francisco Horta »

gracias alejandro,
salu2
paco
User avatar
omarelunico
Posts: 33
Joined: Sun May 14, 2006 7:31 am
Location: Lima - Perú

ordenar array basico

Post by omarelunico »

fn_asort(@matrizciudades,1,'A')

Function Fn_ASort(matriz,columna,orden) // orden='A'Asc.'D'Desc.
Local _aAux,_n,_m,_x,bCondicion
If ValType(columna)=
bCondicion:=columna
Else
bCondicion:={||If(orden='A',matriz[columna,_n]>matriz[columna,_m],matriz[columna,_n]<matriz[columna,_m])}
Endif
For _n=1 To Len(matriz)
For _m=_n+1 To Len(matriz)
If matriz[_n]>matriz[_m]
For _x=1 To Len(matriz)
_aAux:=matriz[_n]
matriz[_n]:=matriz[_m]
matriz[_m]:=_aAux
Next
Endif
Next
Next
Return Nil
Post Reply