diff options
Diffstat (limited to 'samples/AppleScript/Time Of Day.applescript')
| -rw-r--r-- | samples/AppleScript/Time Of Day.applescript | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/samples/AppleScript/Time Of Day.applescript b/samples/AppleScript/Time Of Day.applescript new file mode 100644 index 0000000..7efadcb --- /dev/null +++ b/samples/AppleScript/Time Of Day.applescript @@ -0,0 +1,75 @@ +(* + Speaks the date and time of day + + Copyright 2008 Apple Inc. All rights reserved. + + You may incorporate this Apple sample code into your program(s) without + restriction. This Apple sample code has been provided "AS IS" and the + responsibility for its operation is yours. You are not permitted to + redistribute this Apple sample code as "Apple sample code" after having + made changes. If you're going to redistribute the code, we require + that you make it clear that the code was descended from Apple sample + code, but that you've made changes. + *) + +on isVoiceOverRunning() + set isRunning to false + tell application "System Events" + set isRunning to (name of processes) contains "VoiceOver" + end tell + return isRunning +end isVoiceOverRunning + +on isVoiceOverRunningWithAppleScript() + if isVoiceOverRunning() then + set isRunningWithAppleScript to true + + -- is AppleScript enabled on VoiceOver -- + tell application "VoiceOver" + try + set x to bounds of vo cursor + on error + set isRunningWithAppleScript to false + end try + end tell + return isRunningWithAppleScript + end if + return false +end isVoiceOverRunningWithAppleScript + +set currentDate to current date +set amPM to "AM" +set currentHour to (currentDate's hours) +set currentMinutes to currentDate's minutes + +if (currentHour > 12 and currentHour < 24) then + set amPM to "PM" +else + set amPM to "AM" +end if + +-- make minutes below 10 sound nice +if currentMinutes < 10 then + set currentMinutes to ("0" & currentMinutes) as text +end if + +-- ensure 0:nn gets set to 12:nn AM +if currentHour is equal to 0 then + set currentHour to 12 +end if + +-- readjust for 12 hour time +if (currentHour > 12) then + set currentHour to (currentHour - 12) +end if + +set currentTime to ((currentDate's month) as text) & " " & ((currentDate's day) as text) & ", " & (currentHour as text) & ":" & ((currentMinutes) as text) & " " & amPM as text + +if isVoiceOverRunningWithAppleScript() then + tell application "VoiceOver" + output currentTime + end tell +else + say currentTime + delay 2 +end if |
