FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Ordenar Array
Posts: 1364
Joined: Wed Jun 21, 2006 12:39 AM

Ordenar Array

Posted: Wed Mar 16, 2011 11:43 AM
Compañeros, quiero ordenar un array por dos claves: localidad y apellido. Utilizo Asort pero no lo ordena de la forma deseada, el código es el siguiente:

Code (fw): Select all Collapse
oVarAlumnos : aAlumnos := ASort( oVarAlumnos : aAlumnos,,, { | x, y | x[ 5 ] < y[ 5 ]  .and. x[ 2 ] < y[ 2 ] } ) // x[ 5 ] es localidad y x[ 2 ] es apellido

Alguien sabe, desde ya muchisimas gracias
Posts: 1446
Joined: Mon Oct 10, 2005 02:38 PM

Re: Ordenar Array

Posted: Wed Mar 16, 2011 01:16 PM
horacio wrote:Compañeros, quiero ordenar un array por dos claves: localidad y apellido. Utilizo Asort pero no lo ordena de la forma deseada, el código es el siguiente:

Code (fw): Select all Collapse
oVarAlumnos : aAlumnos := ASort( oVarAlumnos : aAlumnos,,, { | x, y | x[ 5 ] < y[ 5 ]  .and. x[ 2 ] < y[ 2 ] } ) // x[ 5 ] es localidad y x[ 2 ] es apellido

Alguien sabe, desde ya muchisimas gracias


En mi caso lo hago así y me funciona:
Code (fw): Select all Collapse
ArraRelcon := Asort( ArraRelcon, , , { |a, b| (a[45] + a[24] + a[19]) < (b[45] + b[24] + b[19]) } )

Un Saludo

Carlos G.



FiveWin 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home

Posts: 1364
Joined: Wed Jun 21, 2006 12:39 AM

Re: Ordenar Array

Posted: Wed Mar 16, 2011 02:21 PM

Muchísimas gracias, funcionó perfecto.
Salu2

Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM

Re: Ordenar Array

Posted: Thu Mar 17, 2011 12:54 PM

Gente;
Y que pasarñia si la primer columna es caracter y la segunda de otro tipo de dato?, logico por ejemplo
Entonces podría ser así:
ASORT(aMultiarray,,, { |x, y| if( x[1]==y[1], x[2]<y[2], x[1]<y[1] ) })

Saludos

Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina

Continue the discussion