sort question

Jim Ault JimAultWins at yahoo.com
Fri Jun 3 14:09:49 EDT 2005


Greetings, jack

First point is that these are not numbers, so numeric has no meaning.
These are text strings and are sorted as such.
You also have some lines with trailing spaces.  You need to clean these up
some how to make the sorting work as you wish.

Try converting these strings to a number format by using a technique of
sorting 'each' line

This is a bit confusing when you first attempt it, but hang in there because
it is really a valuable tool.

1) syntax>        sort lines of strList numeric by numberVersion(each)
"each" tells Rev to send each line to a function to be converted *before*
sorting

2) now the function that creates a number from the string (for each line of
the strList), and subsequently sorts that number list, giving back the
original strList in the new sort order based on the numbers.

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, "revinfo1155 at aol.com" <revinfo1155 at aol.com> wrote:

>  Greetings,
>  
>  I need a field to sort numerically and when I try it I get the result below.
> I checked the docs and experimented with the numberformat without success.
> Help!
>  
> jack
> 
>  
> 
> 1.101-
> 10.101- 
> 10.201-
> 10.301.1-
> 10.351-
> 10.401-
> 10.501-
> 11.101.1-
> 11.151- 
> 2.101-
> 2.301-
> 20.101-
> 3.101-
> 4.101- 
> 4.991-
> 5.101.1- 
> 5.151-
> 5.201-
> 5.301-
> 5.351.1-
> 5.401-
> 5.451-
> 5.501-
> 5.651-
> 5.701-
> 6.101.1-
> 6.201.1-
> 6.301-
> 6.401.1-
> 7.101-
> 7.151.1-
> 7.201.1-
> 7.251-
> 7.401-
> 7.501.1-
> 8.101-
> 8.301-
> 9.101.1-
> 9.351-
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> http://lists.runrev.com/mailman/listinfo/use-revolution




More information about the use-livecode mailing list