On 03 Jun 2005, at 20:09, Jim Ault wrote:

Greetings, jack

snip


on sortFldSource
  put fld "source" into tSource  --lines to sort
  sort lines of tSource numeric by numberConvert(each)
  put tSource into fld "destination"  --output for your review
end sortFldSource

function numberConvert pStrToConvert
  if pStrToConvert is "" then
    return ""
  else
    set itemdel to  "."
    if the last char of pStrToConvert is "-" then
      put the last char of pStrToConvert into tSign
      delete the last char of pStrToConvert
    end if
    put item 1 of pStrToConvert into tIntPart
    put item 2 of pStrToConvert into tDecPart1
    if the number of items in pStrToConvert > 2 then
      put item 3 of pStrToConvert into tDecPart2
    else
      put "" into tDecPart2
    end if
    put tSign & tIntPart & "." & tDecPart1 & tDecPart2 into tReply
    return tReply
  end if
end numberConvert

Thanks to jeanne a. e. devoto for this (each) form of the "sort lines of"
command.

Jim Ault
Las Vegas

On 6/3/05 9:45 AM, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> wrote:

Hi Jim,

I don't know on your computer but on my mac this handler gives the following result for Jack's list:

10.101-
11.151-
4.101-
5.101.1-
20.101-
11.101.1-
10.501-
10.401-
10.351-
10.301.1-
10.201-
9.351-
9.101.1-
8.301-
8.101-
7.501.1-
7.401-
7.251-
7.201.1-
7.151.1-
7.101-
6.401.1-
6.301-
6.201.1-
6.101.1-
5.701-
5.651-
5.501-
5.451-
5.401-
5.351.1-
5.301-
5.201-
5.151-
4.991-
3.101-
2.301-
2.101-
1.101-

To make it more universal (no matter leading or trailing - and +) one could change it to:

on mouseUp
  get field 1
  put numsort(it,"ascending") into fld 2
end mouseUp

function numSort pList,pDirection
  set the itemdelimiter to "."
  repeat for each line i in pList
    put i into x
if char -1 of word 1 of i is in "-+" then put char -1 of word 1 of i & char 1 to -2 of word 1 of i into x if the num of items in x > 2 then put item 1 to 2 of x & item 3 of x into x
    put i into numArray[x]
  end repeat
  put the keys of numArray into y
  if pDirection = "ascending" then sort lines of y numeric ascending
  else sort lines of y numeric descending
  repeat for each line i in y
    put numArray[i] & cr after tList
  end repeat
  return tList
end numSort

Greetings,
Wouter
_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to