text sortType

Dar Scott dsc at swcp.com
Tue May 28 17:01:26 EDT 2013


Great minds think alike!  That is the same return command I used!  Switching to capital L is a good idea, lower case l is hard to read.  

And you are right, I was so caught up in how I wanted to do it, I didn't see that yours should work, too, based on 'after'.

And you are right, this is a good place to consider the custom sorting value function.

I think had a slightly different interpretation of the format of the lines, but still...  This looks the same.

Dar




On May 28, 2013, at 2:27 PM, Peter Haworth wrote:

> Yes,
> Geoff's is definitely simpler, hadn't seen it when I made my post.  It did
> give me the opportunity to finally use the custom function feature of the
> sort command though!
> 
> I like the shortcut!
> 
> "After" is right in my code - I put the words into tKey, then the zeros,
> then the number.  With your shortcut, the whole thing could be compressed
> down to:
> 
> return word 1 to -2 of L &  char -6 to -1 of ("000000" & word -1 of L)   (I
> think!)
> 
> Pete
> lcSQL Software <http://www.lcsql.com>
> 
> 
> On Tue, May 28, 2013 at 12:51 PM, Dar Scott <dsc at swcp.com> wrote:
> 
>> I think this and Geoff's are good!  This one is more general if you can
>> come up with some sort of metric or sortvalue for each item/list.  Geoff's
>> is simpler for this case.  The speed difference will depend on the length
>> of the list.
>> 
>> Shouldn't the zero be put 'before' instead of 'after' to force a numerical
>> sort?
>> 
>> Also, there is a shortcut.
>> 
>> put char -6 to -1 of ("000000" & tKey) into tKey
>> 
>> Dar
>> 
>> 
>> On May 28, 2013, at 1:41 PM, Peter Haworth wrote:
>> 
>>> The following worked for me (with apologies ofr any asterisks that may be
>>> inserted into the script by my email client)
>>> 
>>> It assumes there won;t be any numbers > 6 digits.
>>> 
>>> *on* mouseUp
>>> 
>>>  *sort* lines of field "Field" by reformatLine(each)
>>> 
>>> *end* mouseUp
>>> 
>>> 
>>> *function* reformatLine l
>>> 
>>>  *local* tKey
>>> 
>>>  *put* word 1 to -2 of item 1 of l into tKey
>>> 
>>>  *repeat* 6-the length of word -1 of item 1 of l
>>> 
>>>     *put* zero after tKey
>>> 
>>>  *end* *repeat*
>>> 
>>>  *put* word -1 of item 1 of l after tKey
>>> 
>>>  *return* tKey
>>> 
>>> *end* reformatLine
>>> 
>>> Pete
>>> lcSQL Software <http://www.lcsql.com>
>>> _______________________________________________
>>> use-livecode mailing list
>>> use-livecode at lists.runrev.com
>>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>> 
>> 
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>> 
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode





More information about the use-livecode mailing list