On May 24, 2010, at 4:59 PM, Robert Poland wrote:
Is there a simple command that will do this (convert WakeUpTime to an integer), and probably quicker?
set WakeUpTime to "6:31"
set AppleScript's text item delimiters to ":"
set WakeUpTime to my decoupe(WakeUpTime) as integer
display dialog WakeUpTime
set AppleScript's text item delimiters to "" -- restore
on decoupe(t) -- t = time
set {h, m} to text items of t
set timeNumber to ((m as integer) + ((h as integer) * 60)) * 60
return timeNumber as integer
end decoupe
Well, you're not really dealing with data-time formats there; it's strictly string manipulation and arithmetic. You have extraneous "as integer" statements there.
Also, I'd set and restore the text item delimiters within the handler, because that's the only place they're used. So here's how I would write it:
set WakeUpTime to "6:31"
set WakeUpTime to my decoupe(WakeUpTime)
display dialog WakeUpTime
on decoupe(t) -- t = time
set AppleScript's text item delimiters to ":"
set {h, m} to text items of t
set AppleScript's text item delimiters to "" -- restore
set timeNumber to ((m as integer) + ((h as integer) * 60)) * 60
return timeNumber
end decoupe
-- Michelle
--
Life is not a journey to the grave with the intention of arriving safely in a pretty and well preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming, "WOW! What a ride!!!"