FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Organizar array
Posts: 845
Joined: Sun Oct 09, 2005 05:36 PM
Organizar array
Posted: Mon Oct 20, 2008 04:18 PM

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

____________________

Paco
Posts: 244
Joined: Fri Oct 28, 2005 06:29 PM
Organizar array
Posted: Mon Oct 20, 2008 04:27 PM

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
Posts: 845
Joined: Sun Oct 09, 2005 05:36 PM
Organizar array
Posted: Mon Oct 20, 2008 04:42 PM

gracias alejandro,
salu2
paco

____________________

Paco
Posts: 33
Joined: Sun May 14, 2006 07:31 AM
ordenar array basico
Posted: Thu Jul 15, 2010 07:47 PM
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)=[B]
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

Continue the discussion