time shorthand convertor
Josh Mellicker
josh at dvcreators.net
Thu Jul 27 16:36:38 EDT 2006
Wow, thanks Jim, a nice improvement!
On Jul 27, 2006, at 12:23 PM, Jim Ault wrote:
> A different approach to get to the same point....
> ... added error checking for invalid time strings
>
> ON convertTime
> put the text of the target into str
>
> repeat for each char CH in str
> if CH is a number then put CH after timeStr
> end repeat
> put " 00" after timeStr
> get char -4 to -3 of word 1 of timeStr & " " & \
> char -2 to -1 of word 1 timeStr && word -1 of timeStr
> put word 1 to 2 of it into timeStr
> replace space with ":" in timeStr
>
> if str contains "a" then put " AM" after timeStr
> else put " PM" after timeStr
> --now let's error check --------------------------
> get timeStr
> convert it to seconds
> if it = timeStr then --no conversion was done
> answer "oops.. "& str & " does not look like a time"
> exit to top
> else
> ---- looks good -----------------------------------------
> --so we will publish the result
> set the twelvehourtime to true
> convert it to short time
> put it into target
> end if
> END convertTime
>
>
>
> On 7/27/06 11:06 AM, "Josh Mellicker" <josh at dvcreators.net> wrote:
>
>> Here is an interesting handler so that a user can enter a time in a
>> field in a "shorthand" and get a full, properly formatted date out of
>> it.
>>
>> Here are some examples:
>>
>> enter this = get this
>>
>> 1 = 1:00 PM
>> 12 = 12:00 PM
>> 123 = 1:23 PM
>> 1234 = 12:34 PM
>>
>> add an "a" at the end for am, like:
>>
>> 1a = 1:00 AM
>>
>> We have been using this for a few days and everyone really likes it,
>> it seems intuitive and faster than any other method of entering a
>> time.
>>
>>
>>
>> field script:
>>
>> ON enterInField
>> convertTime
>> END enterInField
>>
>> ON returnInField
>> convertTime
>> END returnInField
>>
>> ON closeField
>> convertTime
>> END closeField
>>
>>
>> put this somewhere in the message path:
>>
>> ON convertTime
>> put the text of the target into t
>> IF (char -1 to -2 of t = "am") OR (char -1 of t = "a") THEN
>> put "AM" into ampm
>> ELSE
>> put "PM" into ampm
>> END IF
>> REPEAT for each char c in t
>> IF c is a number THEN put c after t2
>> END REPEAT
>>
>> SWITCH
>> CASE the number of chars of t2 < 3
>> put ":00" after t2
>> break
>> CASE the number of chars of t2 = 3
>> put char 1 of t2 & ":" & char 2 to 3 of t2 into t2
>> break
>> CASE the number of chars of t2 = 4
>> put char 1 to 2 of t2 & ":" & char 3 to 4 of t2 into t2
>> break
>> END SWITCH
>> put space & ampm after t2
>> put t2 into the target
>> END convertTime
>> _______________________________________________
>> use-revolution mailing list
>> use-revolution at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription
>> preferences:
>> http://lists.runrev.com/mailman/listinfo/use-revolution
>
>
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-revolution
More information about the use-livecode
mailing list