(answering my own responses again :-)

It depends what your file contains if the time is more than one hour. If the time was, say, sixty-five-and-a-half minutes, would the file entry be 65:30 or 1:05:30

If it's the former, then Mark's two-step sort is the right answer.
If it's the latter, then my custom function sort given earlier will work.
If it could be either - then you'd need to extend the custom function; this will work for either 65:30 or 1:05:30

function hoursMinsSecs pTime
  -- change a time in mins:secs to hours:mins:secs
  set the itemDel to ":"
  if  the number of items in pTime = 2 then
    put item 1 of pTime into tMins
    put tMins div 60 into tHours
    put tMins mod 60 into tMins
     return tHours & ":" & tMins & ":" & item 2 of pTime
  end if
   return pTime -- already is hours:mins:secs
 end hoursMinsSecs

And if minutes can be negative, then .... that's left as an exercise :-)

-- Alex.

On 02/04/2014 12:04, Alex Tweedly wrote:

I think of 16:33 as sixteen hours and 33 minutes - LC won't interpret it as minutes and seconds, and thus anything above 23:59 is invalid - and therefore apparently interpreted as "0:00"

Unfortunately I can't find a definitive list of valid formats in the docs, but nothing in the dictionary entry for 'convert' includes mins:secs - it's always either hours:mins or hours:mins:secs, so I'm fairly sure that's what's happening.


(You could use a sort by custom function to convert them all to hours:min:secs , e.g.

sort field myTimes descending dateTime by hoursMinsSecs(each)

function hoursMinsSecs pTime
  -- change a time in mins:secs to hours:mins:secs
  set the itemDel to ":"
  if  the number of items in pTime = 2 then
     return "0:" & pTime
  end if
   return pTime -- already is hours:mins:secs
 end hoursMinsSecs

-- Alex.


On 02/04/2014 09:02, [email protected] wrote:
Sorry Alex, I do not understand.

16:33 is sixteen minutes and 33 seconds.
So why is 25:34 not twenty-five minutes and 34 seconds?
Last time I checked, there are 60 minutes in an hour.

----- Original Message ----- From: "Alex Tweedly" <[email protected]>
To: <[email protected]>
Sent: Wednesday, April 02, 2014 1:59 AM
Subject: Re: extremely weird and frustrating...


25:34 and 34:55 are not valid dateTimes, so where those lines get sorted to is not well undefined; it looks as though LC simply decides to give them a '0:00'.

Apart from those two lines, it looks (to me) like the result is correct. Isn't it ?

-- Alex.


On 02/04/2014 08:41, [email protected] wrote:
Here is my script line:
sort field myTimes descending dateTime


And here is the result:
16:33

15:56

12:16

11:35

9:14

7:47

2:08

1:22

25:34

34:55



Here is my other script line:

sort field myTimes ascending dateTime

And here is the result for that:

25:34

34:55

1:22

2:08

7:47

9:14

11:35

12:16

15:56

16:33



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


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


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


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


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

Reply via email to