Hi Nicolas,

Custom sort functions to the rescue!

I made a simple stack with 2 fields and a button. The first field contains your 
original data, and the button has the following script:
##
on mouseUp
   put field 1 into tData
   sort tData ascending by MyCustomSort(each)
   put tData into field 2
end mouseUp

function MyCustomSort pLine
   set the itemDelimiter to space
   put item 2 of pLine into tDate
   replace ".." with "/" in tDate
   convert tDate from english date to dateItems
   set the itemDelimiter to comma
   put format("%4u%02u%02u", \
        item 1 of tDate, \
        item 2 of tDate, \
        item 3 of tDate) into tSortableDate
   return tSortableDate
end MyCustomSort
##

Clicking the button produced the expected results in field 2.

The trick is to return from your function a value that will sort the content 
correctly. In this case, the function will turn 12.3.09 into 20091203, 3.2.04 
into 20040302, etc. And those 'YYYYMMDD' versions of the date will sort 
correctly.

HTH,

Jan Schenkel
=====
Quartam Reports & PDF Library for Revolution
<http://www.quartam.com>

=====
"As we grow older, we grow both wiser and more foolish at the same time."  (La 
Rochefoucauld)


--- On Thu, 6/18/09, Nicolas Cueto <[email protected]> wrote:

> From: Nicolas Cueto <[email protected]>
> Subject: sorting advice
> To: "How to use Revolution" <[email protected]>
> Date: Thursday, June 18, 2009, 10:23 PM
> Still avoiding thinking too much...
> 
> Given this list (a ref-number followed
> by a dot-separated date):
> 
>  bg2334 12.21.09
>  bg9788 1.10.02
>  bg6554 11.30.11
>  bg8902 6.6.04
>  bg4021 2.29.12
>  bg1210 1.2.02
>  bg3008 12.3.09
>  bg5526 5.29.04
> 
> what sort-command combo would
> re-order it ascending by the date
> to become:
> 
>   bg1210 1.2.02
>   bg9788 1.10.02
>   bg5526 5.29.04
>   bg8902 6.6.04
>   bg3008 12.3.09
>   bg2334 12.21.09
>   bg6554 11.30.11
>   bg4021 2.29.12
> 
> 
> Note that the ref-number and the date
> are space-separated, and I'm using
> "." instead of the english date's "/".
> Also, the date form is "month[1-12,
> no leading zero], day[1-31], year [00-
> 09, leading zero].
> 
> I'll be experimenting on my own to hit on
> the magic combination, but in the meantime
> I thought I'd post a plea since someone is
> very likely to reply a solution sooner than I
> can guess one up.
> 
> Thank you.
> 
> --
> Nicolas Cueto
> _______________________________________________
> use-revolution mailing list
> [email protected]
> Please visit this url to subscribe, unsubscribe and manage
> your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-revolution
> 




_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to