Sort on two sortTypes

Randy Hengst iowahengst at mac.com
Sat Apr 8 16:13:58 EDT 2017


Mike, thank you. I didn’t try the function you mentioned… to be honest, it would take me a bit to get my head around it.

be well,
randy

Randy Hengst
www.classroomFocusedSoftware.com



> On Apr 8, 2017, at 1:17 PM, Mike Bonner via use-livecode <use-livecode at lists.runrev.com> wrote:
> 
> do 2 consecutive sorts..
> First by item 3
> then by item 2 datetime
> 
> Alternatively, you might be able to use a function sort to do it, but I'd
> have to really think about how to accomplish it that way, and its too early.
> 
> Basically though, a sort using a function looks like the following example..
> (if the lines contain an item like a hex code for example, 00 to ff, one
> could use a function to convert the value to a decimal and then return the
> decimal value as the numeric sort key)
> 
> sort lines of <container> ascending numeric by myFunction(each)
> 
> function myFunction pVar
>   return baseconvert(item 3 of pvar,16,10)
> end myFunction
> 
> This would return the decimal value of the hex and use the value as the
> sort key.  Like I say, since you're using two data types for your sort, it
> would require some pondering to figure out the best way to normalize the
> data and generate the proper sort key, but it should be possible.  Still,
> much easier to just do two consecutive sorts.
> 
> 
> On Sat, Apr 8, 2017 at 11:45 AM, Randy Hengst via use-livecode <
> use-livecode at lists.runrev.com> wrote:
> 
>> Hi All,
>> 
>> I’m working an app to facilitate the development of student class
>> schedules.
>> 
>> Right now there are three items for each course that I’d like to sort in
>> various ways: CourseName, Time, Days. The information is placed in that
>> order in a field for display.
>> 
>> It’s easy to sort on any one of the items. For example….
>> sort lines of field "FIRSTyear_FALL" by item 1 of each
>> 
>> sort lines of field "FIRSTyear_FALL" dateTime by item 2 of each
>> 
>> sort lines of field "FIRSTyear_FALL" by item 3 of each
>> 
>> 
>> But I can’t figure out how to sort first on item 3, Days and then by item
>> 2, Time. My goal is sort by matching Days and then by time in ascending
>> order. The courses meeting on the same day would be grouped together by
>> time earliest to latest. A sort does take place, but it’s text. I’ve not
>> figured out how/where to place the dateTime sortType when combining a sort
>> on item 3 and item 2.
>> 
>> Here’s the basic line of script… where does “dateTime” go? I’ve tried
>> placing it in all the points of the line that I can think of….
>> sort lines of field "FIRSTyear_FALL" by item 3 of each & item 2 of each
>> 
>> The dictionary under “Sort Container” suggests what I want to do is
>> possible:
>> The sort container command is a stable sort. This means that if the
>> sortKey for two items or lines is the same, sorting does not change their
>> order, so you can do two successive sorts to create subcategories within
>> the major sort categories.
>> Tip: To create a custom sort order, use the each keyword to pass each line
>> or item to a custom function. The value returned by the function is used as
>> the sort key for that line or item. It is not currently possible to debug
>> custom sort functions, and doing so could make the IDE unstable. It is
>> recommended to use logging messages instead.
>> The information in the “LiveCode Resource Center” doesn’t include an
>> example of sorting on two criteria.
>> 
>> Thanks in advance for any thoughts you can share.
>> 
>> be well,
>> randy
>> 
>> Randy Hengst
>> www.classroomFocusedSoftware.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




More information about the use-livecode mailing list