OCInkjet.com 728x90 banner, image is updated by season.

Apple-AppleScript-Script-Editor-Logo

Shop HP Download Store and get $5 OFF Orders Over $50! Use Promo Code SPEND150SAVE15

Basic AppleScript Dialog:

display dialog "Your text here" with icon stop buttons {"OK"} default button {"OK"} giving up after 5

'giving up after 5' will automatically close the script after the indicated interval of time has elapsed.

HTML Anchor Code

Here is a sample of how to write code to link one part of your blog page to another:

<a name = "By Email">[optional text]</a> --place this where you want the link to go <a href = "#By Email">By Email</a> --this is the actual link

more HTML

HTML Code to Link to Other Web Pages

Here is a sample of code to link to another page. this is similar to the anchor code, except that the destination code is the url of the destination site:

<a href= "www.webSite.
com"> Website Name</a>

--just replace "www.webSite.
com"
with the actual url destination site and replace 'Website Name' with the prompt that the user will see.
Apple-IIc-Apple-Screen

AppleScript Note:

It might be interesting to those of you who are AppleScript enthusiasts that the HyperCard (HyperTalk) project was the prototype back in the '80's of what became the system-wide Applescript language (akin to JavaScript) that is in use today.
Apple-Mac-512-Screen
3d-iMac-Large

Trapping for List Dialog Errors

With 'List Dialog' type dialogs, since errors cannot be intercepted in an 'on error' handler, there is no 'normal' way to trap for 'Cancel' which, of course, would result in some sort of undesirable error dialog such as 'User cancelled. Error number -128'. Here is an example of one simple way I have found to trap for this type of error: set x to (choose from list {"Joe","Amy",
"Bill"} with prompt "Choose a record:")
if x is false then
else
set targetItem to (x as text)
show every record whose cell "Name" contains x
end if
When the user clicks on 'Cancel', the variable x is assigned the boolean value false. So all you have to do is set up a conditional to deal with that and to perform the usual statements otherwise.

Learning AppleScript

Create Multiple Folders with Terminal

If you are more of a techy kind of person and are comfortable with using Terminal, here is a script you can use to easily create multiple folders:

First, for a single folder, type in: mkdir "Folder 1" --or whatever you want to name your folder, this creates a new directory, which, in effect is a new folder. To place multiple items in the 'Documents' folder: cd/Users/ Administrator/ Documents mkdir "Folder 1" "Folder 2" "Folder 3" To quickly create multiple folders, create a text file with the desired folder names (as many as you want) and name it something like 'folderList .txt'. Next type this in Terminal: cat folderList.txt |xargs mkdir Or you could create folders with the same prefix by entering: mkdir "Invoices " {"Corporate", "Individual", "Pro-Bono"}

Digg! Digg This!!

Mac LC III (1994), the first Mac that I ever owned, the CD-Rom and Zip drive were added much later.

Mac LC III (1994), the first Mac that I ever owned, the CD-Rom and Zip drive were added much later.

Basic HTML

Here is an example of a very simple HTML document:

<html>
<head>
<title>Basic HTML Document</title>
</head>
<body>
Your text goes here
</body>
</html>

more HTML

Working with Dates in AppleScript

Apple Beveled BlueIf you have ever worked with date coercions and manipulations in AppleScript, you know how frustrating it can be, from something as simple as trying to coerce it to text so that it can be displayed in a dialog, to trying to convert it to a different date format; you have one simple thing in your syntax that keeps causing errors and you just can’t figure it out!

Here, I will try to help you through some of the most common frustrations that you will encounter. First, something that I have found very useful in my specific work, a script that verifies whether or not a date is valid in the first place. It is really pretty simple, and relies on AppleScript error messaging.

The second will deal with two aspects of coercions: 1) Converting a date in textual form to date format and then 2) Determining a future date (1 week hence, 1 month hence, etc) from the given date. This is particularly useful in databases when you want to determine a future appointment for a customer, when it is supposed to be scheduled at a regular given interval.

First, validating a given date. Keep in mind that getting the current date will also include the time of day, which may not be useful for what you want to do. Run this in the Script Editor:

set dateRecord to (current date)
set defaultDate to (date string of dateRecord)
try
set apptDate to text returned of (display dialog "Enter appointment date:" default answer defaultDate buttons {"Set"} default button {"Set"})
set datetext to apptDate as text
date apptDate --if an invalid date is entered, the next dialog is aborted and it triggers the error alert below.
display dialog datetext & " is a valid date." with icon note buttons {"OK"} default button {"OK"}
on error
set alertText to "An error has occurred!"
set messageText to quote & datetext & quote & " is an invalid date."
display alert alertText message messageText as warning buttons {"OK"} default button "OK" giving up after 15
return
end try

Now the second part, which is used here in a FileMaker database and is a bit more complex, but, once you understand how it works, can be used with other types of database formats that support AppleScript.

Like the previous script, it begins by getting the current date and coercing the result to text for further manipulations. Run this in Script Editor. The result will appear its result pane:

set AppleScript's text item delimiters to ","
set dateResult to (current date)
set comparisonDate to (date string of dateResult)
set calcBoolean to button returned of (display dialog "Determine date for next appointment?" with icon note buttons {"No", "Yes"} default button {"Yes"})
if calcBoolean = "Yes" then
set AppleScript's text item delimiters to "@"
--This next line would be used with FileMaker, otherwise something like the line of code that follows this line would compile just fine, in case you want to test this on your system:
--set prevAppointment to (get cell "History" of current record)
set prevAppointment to "Saturday, November 7, 2009 @ 8:00 am - see Joe Palmer about specs on upcoming contract"
set prevReference to (text item 1 of prevAppointment)
set dateResult to date prevReference
set scheduleInterval to (choose from list {"1 Week", "2 Weeks", "1 Month"} with prompt "Schedule interval:") as text
if scheduleInterval = "1 Week" then
set dateResult to (dateResult + 24 * 60 * 60 * 7)
else if scheduleInterval = "2 Weeks" then
set dateResult to (dateResult + 24 * 60 * 60 * 14)
else if scheduleInterval = "1 Month" then
set dateResult to (dateResult + 24 * 60 * 60 * 28)
end if
set targetDate to (date string of dateResult)
else if calcBoolean = "No" then
set targetDate to comparisonDate
end if
set defaultDate to targetDate

If you have any questions about dates and AppleScript, contact me at: hyperscripter@gmail.com or http://twitter.com/hyperscripter or to subscribe, click the By Email link at the top of the page.

342 comments to Working with Dates in AppleScript

  • Hi, have you ever before asked yourself to write about Nintendo or PSP?

  • I need to show my love for your specific understanding giving support upto women and men that require aid on that region of curiosity. Your personal total commitment to firmly acquiring the message all-around came into existence very invaluable but has in every situation set off girls somewhat like me to become over at their likes and dislikes. This new inviting and pleasant coaching indicates a good deal to me and pretty much additional to actually my consorts. Best wishes; from each one of us.

  • Definitely, exactly what a magnificent web log and instructive posts, I surely can bookmark your particular website or blog.All of the Best!

  • Characterized your site or blog out of your acquaintances Fb linkage, plainly you have got developing fanbase yet i also at present undertsand the sole reason why Extremely useful post, many thanks again 1.

  • The sense of waiting to assist, however not determining how or the place, is something a variety of us have gone through.

  • And you also et your free account for Twittollower?

  • My hope is that some parts of our community may possibly be attracted to promoved their activity work for possible presentation with the conference.

  • I basically stumbled upon your blog and wanted to admit that I even have really enjoyed reading your website posts. By any means I’ll be subscribing to your rss now, thanks

  • Happy to be visiting your blog again, its been weeks for me. Well, right here is the news that I’ve been waited for so long.

  • Listening and hearing are two different senses.

  • I’ve been surfing online more than 3 hours today, yet I never found any interesting article like yours. It’s pretty worth enough for me. In my opinion, if all site owners and bloggers made good content as you did, the web will be a lot more useful than ever before.

  • I enjoy, lead to I found just what I was taking a look for. You have ended my four day lengthy hunt! God Bless you man. Have a great day. Bye

  • BACKPAGE ADS POSTING SERVICE – http://EzAdBlaster.com BACKPAGE POSTING SERVICE – 24 Hours A Day / 7 Days A Week / 365 Days A Year – Your Ad Never Stops CRAIGSLIST POSTING SERVICE -24 Hours A Day / 7 Days A Week / 365 Days A Year -Your Ad Never Stops http://EzAdBlaster.com

  • We are confronted with insurmountable opportunities. -Pogo

  • We’ve got a message facsimile evaluation site you can examine out. We all furthermore review other business to business item categories mainly targeted for small business owners along with business owners. Thanks ahead of time regarding checking all of us out and about.

  • Thank you a great deal for granting everyone remarkably marvellous chance to learn to read vital critiques from here. It’s always consequently awesome and also full of fun most likely for me in person and my work co-workers to go looking one’s business for a smallest thrice in a weeks to learn from the new stuff you will have. And also, I’m just always satisfied for hanging pointers everybody allow. Special 2 tips with this submit are very by far the most fantastic I’ve ever endured

  • Definitely, what a tremendous site and instructive topics, I surely may bookmark your particular website or blog.All of the Best!

  • Definitely, such a tremendous site and instructive content, I without doubt would bookmark your particular website or blog.All of the Best!

  • Definitely, exactly what a magnificent web site and instructive content, I surely can bookmark your internet site.Every one of the Best!

  • Many thanks action the instance to talk about all of this, I am fiercely around it and love researching many about this theme.We have website around all of this best online poker rakeback If probable, since you acquire experience, can you observe alter weblog with much data? It truly is incredibly beneficial for me.

Leave a Reply

  

  

  

HTML Guide from Peachpit Press

$1.99 Web Hosting at Go Daddy 120x240
Apple-Computer-Sticker-Old

iPhoto 6

Apple-ID-Badge
Create Multiple Folders with Terminal

If you are more of a techy kind of person and are comfortable with using Terminal, here is a script you can use to easily create multiple folders:

First, for a single folder, type in: mkdir "Folder 1" --or whatever you want to name your folder, this creates a new directory, which, in effect is a new folder. To place multiple items in the 'Documents' folder: cd/Users/ Administrator/ Documents mkdir "Folder 1" "Folder 2" "Folder 3" To quickly create multiple folders, create a text file with the desired folder names (as many as you want) and name it something like 'folderList.txt'. Next type this in Terminal: cat folderList.txt |xargs mkdir Or you could create folders with the same prefix by entering: mkdir "Invoices " {"Corporate", "Individual", "Pro-Bono"}

AppleScript 1-2-3

Stop by every day to shop our new Deal of the Day at BarnesandNoble.com!

Add http://www.scriptsforapple.com to Technorati Favorites

Apple-iMac-Rainbow

Digg! Digg This!!

An AppleScript to Verify a Date

Run this in the Script Editor:

set dateRecord to (current date)
set defaultDate to (date string of dateRecord)
try
set apptDate to text returned of (display dialog "Enter appointment date:" default answer defaultDate buttons {"Set"} default button {"Set"})
set datetext to apptDate as text
date apptDate --if an invalid date is entered, the next dialog is aborted and it triggers the error alert below.
display dialog datetext & " is a valid date." with icon note buttons {"OK"} default button {"OK"}
on error
set alertText to "An error has occurred!"
set messageText to quote & datetext & quote & " is an invalid date."
display alert alertText message messageText as warning buttons {"OK"} default button "OK" giving up after 15
return
end try