3.7. Creating Your First Application

You're now going to write a program to display a dialog containing the message "Good morning!" if it's before noon but after midnight; "Good afternoon!" if it's after noon but before 6 PM; and "Good evening!" otherwise. Just from reading the preceding sentence you can readily surmise that an if-else if statement will probably fit the bill.

As you may recall, the current date command not only gives you information about the date, but it also gives you the time, as well. You can get the time of the current date and store it in the variable secsSinceMidnight, for example, with this statement:

set secsSinceMidnight to time of  (current date)

Remember that the parentheses are required here. The result of this statement is the number of seconds since midnight.

To conclude that it's the morning, you test for the time after midnight and before noon. If you're counting seconds since midnight, 0 represents midnight and the expression

12 * hours

represents noon. Remember that the special AppeScript variable hours is set to the number of seconds in an hour (which happens to be 3?00).

You can now write your test for morning like so:

secsSinceMidnight ≥ 0 and secsSinceMidnight < l2 * hours

The fact of the matter is that secsSinceMidnight is always greater than or equal to zero, so the first part of the test is unnecessary and you can rewrite it like this:

secSinceMidnight < l2 * hours

If it's not morning, you want to test if it's afternoon. Using your variable ...

Get Beginning AppleScript® now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.