FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour Asort based on two array elements
Posts: 858
Joined: Fri Oct 07, 2005 12:00 PM
Asort based on two array elements
Posted: Thu May 19, 2016 02:21 PM

Hi all,
I need to order the following array by date and by name (inside a date).
Do you have any suggest about ?

  • date is the first element, name is the second
    aArray:={}
    aadd(aArray,{"01/10/2015","Marc"})
    aadd(aArray,{"01/10/2015","Alexandra"})
    aadd(aArray,{"01/07/2015","Paul"})
    aadd(aArray,{"01/04/2015","Alexandra"})
    aadd(aArray,{"01/04/2015","Marc"})

Thank you in advance

Best Regards,



Marco Turco

SOFTWARE XP LLP
Posts: 40
Joined: Fri Aug 22, 2014 06:21 AM
Re: Asort based on two array elements
Posted: Thu May 19, 2016 02:46 PM

Hi Marco,

maybe using a third element?

aadd(aArray,{ "01/10/2015", "Marc", DTOS( CTOD( "01/10/2015" ) ) + "Marc" } )

Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: Asort based on two array elements
Posted: Thu May 19, 2016 04:07 PM
Code (fw): Select all Collapse
ASort( aArray, nil, nil, { |x,y| If( x[ 1 ] == y[ 1 ], x[ 2 ] < y[ 2 ], x[ 1 ] < y[ 1 ] ) } )
Regards



G. N. Rao.

Hyderabad, India
Posts: 858
Joined: Fri Oct 07, 2005 12:00 PM
Re: Asort based on two array elements
Posted: Sat May 21, 2016 03:44 PM

Solved, thank you Nages

Best Regards,



Marco Turco

SOFTWARE XP LLP

Continue the discussion