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

One of the more curious aspects of AppleScript that inexperienced scripters are not aware of (and even more experienced scripters often overlook) is the fact that you can use the greater than [>] operator and the less than [<] operator with dates to determine, for instance, which of two given dates occurs first in the calendar year.Apple Mac Mototola Hard Drive 218x300

This, of course, contradicts everything that we did in math class at school, but it actually is a bullt-in capability of the AppleScript language.

If you run this first script in Script Editor you can see that AppleScript can understand the use of greater than and less than. This script coerces default or entered text to date format with the time appended and returns a result reflecting which time of the entered date occurs logically before the other:

set targetDate to date string of (current date)
set targetDate to text returned of (display dialog "Enter a date:" default answer targetDate buttons {"OK"} default button 1)
set dateTime1 to date (targetDate & " 1:00:00 PM")
set dateTime2 to date (targetDate & ":" & " 7:00:00 AM")
set datetext to date string of dateTime1
set time1 to time string of dateTime1
set time2 to time string of dateTime2
set dateTimeString1 to dateTime1 as string
set dateTimeString2 to dateTime2 as string
if (dateTime1 > dateTime2) then
display dialog (datetext & return & return & time1 & " occurs after " & time2 & ".")
else if (dateTime1 < dateTime2) then
display dialog (datetext & return & return & time2 & " occurs after " & time1 & ".")
end if

120x20 thumb black

And then this example that uses just a little bit of FileMaker scripting at the beginning. It uses the ‘exists’ keyword to determine if the date can be found before proceeding and therefore is faster than if you tried this by using a repeat loop. Also, since the conditional pre-qualifies the show statement, there is no need for an error handler, although I include one here, because it is always a good practice, since there can always be some circumstance that you may have not anticipated. (FileMaker is in bold):

Freeze Window
Perform AppleScript [
tell application "FileMaker Pro"
activate
tell database 1
show every record
sort layout 0 by {field "sortDate"} in order ascending
--'sortDate' is a field defined as type date
set targetRecord to (get ID of current record)
try
set targetCalcDate to (current date)
set targetFound to true
set searchDate to date string of (targetCalcDate)
if exists (some record where searchDate is in ¬
cell "AppointmentsDate") then
--'AppointmentsDate' is a text field that
--contains the long date of each record
show (every record where searchDate is in ¬
cell "AppointmentsDate")
else
set targetFound to false
end if
if targetFound = false then display dialog ¬
"The date \"" & searchDate & ¬
"\" was not found!" with icon 0 buttons {"OK"} ¬
default button 1 giving up after 10
on error errorMsg
display dialog errorMsg
show every record
sort layout 0 by {field "sortDate"} in order ascending
set targetRecord to (get ID of current record)
end try
set targetRecord to (get ID of current record)
show every record
sort layout 0 by {field "sortDate"} in order ascending
go to record ID targetRecord
end tell
end tell
]

Designed Apple iMac teal

As always, if you have any questions or comments, 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.

117 comments to Working with Dates and Using Math Operators

  • Excellent! Your site has a lot readers. How did you get all of these people to see your blog I’m very jealous! I’m still getting to know all about blogs on the net. I’m going to click on more articles on your site to get a better understanding how to achieve success. Thanks for the assistance!

  • I agree! Just marvellous! Your composing method is pleasing and the way you treated the subject with grace is commendable. I am intrigued, I presume you’re an master on this topic. I am signing up for your upcoming updates to any extent further.

  • That i really prefer what you may post in this article. Highly informative together with reasonable. A particular challenge though. I’m running Internet explorer utilizing Debian together with segments to your active layout sections would definitely be a bit of wonky. That i realise it’s no regular arrange. Yet still it’s something that will retain in view. That i trust that this can assistance together with always keep in the prime superior posting.

  • Good interesting site, I invite you to her.

  • If you’re still on the fence: grab your favorite earphones, head down to a Best Buy and ask to plug them into a Zune then an iPod and see which one sounds better to you, and which interface makes you smile more. Then you’ll know which is right for you.

  • The following time I read a blog, I hope that it doesnt disappoint me as a lot as this one. I imply, I do know it was my option to read, but I really thought youd have something attention-grabbing to say. All I hear is a bunch of whining about something that you may fix when you werent too busy looking for attention.

  • Thank you very much for that excellent article

  • Great article . Will definitely copy it to my blog.Thanks.

  • Dear Author http://www.scriptsforapple.com !
    In it something is. I thank for the help in this question, now I will know.

  • My hope is that some participants in our community will be fascinated by shared their scholarly rendering possible presentation along at the conference.

  • An individual inevitably oblige to construct strictly content I’d status. This really is the truly very first time period I frequented your online web site web page consequently far? I astonished making use of research individuals produced to create this particularly certain submit astounding. Splendid system!

  • Sup, I feel your website might be having safari browser analysis matters. When I take a look at your website in Safari, this indicates excellent however when prospect in The web Voyager, it uses some overlapping. I just desired to give you a brief goes up! Other then that in fact, very good website!

  • The sense of intending to assist, however not identifying how as well as place, is one thing a number of us already went through a.

  • I basically shared this blog and wished to say that I actually have really enjoyed reading this blog posts. In any case I’ll be subscribing to your feed now, thanks

  • I may deliver exhibit my capability to one’s understanding supplying assist upto persons that need relief regarding that location of great interest. Your personal keenness to firmly acquiring the message all-around came to be incredibly significantly important and also has in each and every instance enabled ladies like me to get to over at their likes and dislikes. This new warm and pleasant instruction indicates tons with me and pretty well supplementary to my mates. Best wishes; from lots of people.

  • I like what you guys are up too. Such clever work and coverage! Keep up the awesome works guys I’ve included you guys to blogroll.

  • Thanks a lot for giving everyone tremendously marvellous possibility to read crucial remarks from here. It’s always therefore amazing and likewise full of exciting for most people in a live setting and my work partners to go looking your website for a smallest thrice within a weeks to read from the new stuff you will have. And naturally, I’m just always contented for your putting pointers you present. Special 2 tips within this post are very the most fantastic I’ve ever endured

  • I bought some nice info here. I do think that in case more people considered it like that, they’d have a better time have the hang ofing the difficulty.

  • I became some news info here. I believe if a greater number thought about it that way, they’d have a very better time have the hang ofing the difficulty.

  • Please, is it possible PM me and notify me few more is concerned with this approach,

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