>
Apple-AppleScript-Script-Editor-Logo

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.

My Links

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

AppleScript-123-Book

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

Using Aliases and POSIX Paths

appleIIe2

Over the time that I have been writing AppleScripts, I have found that one of the most difficult, if not frustrating, tasks of writing scripts is referencing files by path so that they can be accessed by other applications.

As you’ll see below, creating a reference that is understandable by the Finder is fairly simple (not always though). These are common alias references, most of which are understood by pre-OSX versions of the system as well as OSX. In the following section we will not only take a look at how to get ‘regular’ file paths, but also how to get POSIX paths (like UNIX) that are sometimes useful in deriving a path in a format that you may need. First, a number of examples of regular, alias paths:

tell application "Finder" to get folder "FileMaker Databases" of desktop

–> result: folder “FileMaker Databases” of folder “Desktop” of folder “administrator” of folder “Users” of startup disk of application “Finder”

tell application "Finder"
set targetFolder to (get folder "FileMaker Databases" of desktop as alias)
open targetFolder
end tell

–> result: alias “Macintosh HD:Users:administrator:Desktop:FileMaker Databases:”

set monthReportDoc to "Monthly Reports " & "2008.fp5"
tell application "Finder" to set targetDoc to (get file monthReportDoc of folder "FileMaker Databases" of desktop as alias)

–> result: alias “Macintosh HD:Users:administrator:Desktop:FileMaker Databases:Monthly Reports 2008.fp5″


This script gets the path to a folder on the desktop containing FileMaker Pro databases and concatenates it together with a file name and sends it to FileMaker Pro to open it:

set monthReportDoc to "Monthly Reports " & "2008.fp5"
tell application "Finder" to set targetDoc to (get file monthReportDoc of folder "FileMaker Databases" of desktop)

–> result: document file “Monthly Reports 2008.fp5″ of folder “FileMaker Databases” of folder “Desktop” of folder “administrator” of folder “Users” of startup disk of application “Finder”

tell application "FileMaker Pro"
activate
open targetDoc
end tell

Sometimes you must specify the POSIX path. The only real difference is that the regular Mac OS path and the POSIX version differ in that the POSIX (UNIX) path separates the heirarchy (deliminates) with the forward slash ‘/’, omitting the actual name of the HD, while the regular Mac path is delimited by ‘:’ and includes the name of the hard Disk. Examine these two statements:

POSIX: "/Users/administrator/Desktop/FileMaker Databases/"

Mac Path: "Macintosh HD:Users:administrator:Desktop: FileMaker Databases:"

Follow this to go from an Alias to a POSIX path:

First, the path to the folder “FileMaker Databases” :

tell application "Finder" to get folder "FileMaker Databases" of desktop

–> result: folder “FileMaker Databases” of folder “Desktop” of folder “administrator” of folder “Users” of startup disk of application “Finder”

Then, the alias path to the folder:

tell application "Finder" to get folder "FileMaker Databases" of desktop as alias

–> result: alias “Macintosh HD:Users:administrator:Desktop:FileMaker Databases:”

tell application "Finder" to get the POSIX path of (folder "FileMaker Databases" of desktop as alias)

(folder “FileMaker Databases” of desktop as alias) This, since it is enclosed in parenthesis, will be evaluated first. Then the POSIX path of that is derived.

–> result: “/Users/administrator/Desktop/FileMaker Databases/”

Then going from a POSIX to an Alias. Using the previous example:

"/Users/administrator/Desktop/FileMaker Databases/" as POSIX file
--> result: file "Macintosh HD:Users:administrator:Desktop:FileMaker Databases:"

Since this is executed from left to right:

"/Users/administrator/Desktop/FileMaker Databases/" as POSIX file as alias

–> result: alias “Macintosh HD:Users:administrator:Desktop:FileMaker Databases:”

Finally, if you’re not exhausted by now, look at these comparisons, which give the same result:

folder "Macintosh HD:Users:administrator:Desktop:FileMaker Databases:"

item "Macintosh HD:Users:administrator:Desktop:FileMaker Databases:"

As do these:

folder "FileMaker Databases" of folder "Desktop" of folder "administrator" of folder "Users" of startup disk of application "Finder"

item "FileMaker Databases" of folder "Desktop" of folder "administrator" of folder "Users" of startup disk of application "Finder"

A little precursor for what is to come:

tell application "Finder" to get the URL of home
–”file://localhost/Users/administrator/”

–you can use file://localhost/Users/administrator/ to show your HD in Firefox.

Add to Technorati Favorites

Contact me if you have any questions or comments at: hyperscripter@gmail.com or http://twitter.com/hyperscripter or to subscribe, click the By Email link at the top of the page.

Favorite this site:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogosphere News
  • Live
  • StumbleUpon
  • Technorati
  • TwitThis
  • Yahoo! Buzz
  • MySpace
  • YahooMyWeb
  • HackerNews
  • RSS
  • Twitter
  • E-mail this story to a friend!
  • Internetmedia
  • Webnews.de
  • Yahoo! Bookmarks
Apple-ID-Badge

Apple-Computer-Sticker-Old
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"}

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

Airport-Extreme-Hardware