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.
|
Working with Dates in AppleScript
If 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.
|
 
HTML Guide from Peachpit Press
 iPhoto 6
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 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
|
 Concept Drawing for iMac prior to Production
Fun HTML Use this to add interest to your pages, but be careful, if you overdo it, it can make your page look gaudy, if not ridiculous!
Read All About It
Here's is the code as it appears above:
<p align="center" style="padding: 5px; background-color: #FFCE9C; border: dotted 5px #FFCE9C;"><marquee width=20% behavior=scroll direction=left loop=infinite> Latest Headlines... </marquee><blink>Read All About It</blink>/p>
Check out this color HTML!!!
AppleScript for Setting System Volume Copy and paste this into the Script Editor and try it out:
set defaultVolume to "3"
set volumeLevel to text returned of ¬
(display dialog ¬
"Set the system volume to (7 is the highest):"¬
default answer defaultVolume with icon note¬
buttons {"OK"} default button "OK") as integer
set volumeValues to {0, 1, 2, 3, 4, 5, 6, 7} ¬
as list
if volumeLevel is not in volumeValues then ¬
set volumeLevel to defaultVolume
tell application "Finder"
try
set volume volumeLevel
beep 2
on error errDlog
display dialog errDlog with icon stop ¬
buttons {"Abort"} default button ¬
"Abort" giving up after 15
end try
end tell
Earn Wealth on Internet
Learn Tips and Tricks to Making Money on the Internet
www.internetwealth.com
Learn How To Make Money Blogging - Blog Mastermind
Six-figure Yaro Starak Teaches You How To Set Up And Profit From A Successful Blog. Start Making Money From Blogs By Following This Step-by-step, Weekly Coaching Program
http://www.blogmastermind.com/coaching/
Seo Elite: New Seo Software!
The Grand Daddy Of All Seo Software!
Get A Top 5 Google Ranking In Under 30 Days!
http://www.seoelite.com/
Turn Your Photos Into Cash
All You Need Is A Digital Camera, A Computer And An Internet Connection To Get Started Making Extra Income Every Month!
http://turnyourphotosintocash.com/
Infinite Income Plan - Instant Wealth Guide & CDs.
Easy Money For Affiliates, Huge 8.3% Conversions On Generic Traffic. Massive 70% Commissions Plus
HyperCard AppleScript Users:
Heres an AppleScript for backing up a selected group of HyperCard files. this was used in one of my HyperCard stacks, but could be adapted for use in OSX programs with little or no modification:
send "suiteBkp(true)" to bg btn "BackupSuite"
--Use this line to call the handler below (true displays a notification dialog when the process is complete, you must have a button named bg btn "BackupSuite"):
on suiteBkp(theBoolean)
copy line 1 of field "selectedFolder" to theHFFolderPath --You'll need a hidden field named "selectedFolder" that a script (prior to the call) will place the path to the desired folder in.
tell application "Finder"
activate
set todaysDate to (current date)
set bkpYear to (year of todaysDate)
set monthlyBkp to ("Monthly Reports_" & bkpYear) as string
if exists (folder "HyperCard Backup") then
select folder "HyperCard Backup"
delete selection
end if
if exists (folder "HyperCard Backup" of folder theHFFolderPath) then
select folder "HyperCard Backup" of folder theHFFolderPath
delete selection
end if
make new folder at folder theHFFolderPath with properties {name:"HyperCard Backup"}
select {file "Appointments" of folder theHFFolderPath, ¬ file "HyperFile" of folder theHFFolderPath, ¬ file "Outstanding Invoices" of folder theHFFolderPath, ¬ file "Year" of folder theHFFolderPath, ¬ file monthlyBkp of folder theHFFolderPath, ¬
copy selection to folder "HyperCard Backup" of folder theHFFolderPath
select folder "HyperCard Backup" of folder theHFFolderPath
select file "Appointments" of folder ¬ "HyperFile Suite Backup" of folder theHFFolderPath
set name of selection to "Appointments.bkp"
select file "HyperFile" of folder "HyperCard Backup" of ¬ folder theHFFolderPath
set name of selection to "HyperFile.bkp"
select file "Outstanding Invoices" of ¬ folder "HyperFile Suite Backup" of folder theHFFolderPath
set name of selection to "Outstanding Invoices.bkp"
select file "Year" of folder "HyperFile Suite Backup" of ¬ folder theHFFolderPath
set name of selection to "Year.bkp"
set prefMonthlyBkp to (monthlyBkp & ".bkp") as string
select file monthlyBkp of folder "HyperFile Suite Backup" of ¬ folder theHFFolderPath
set name of selection to prefMonthlyBkp
select folder "HyperFile Suite Backup" of folder "The HyperFile Folder"
move selection to desktop
end tell
if theBoolean = "true" then
tell application "HyperCard"
activate
display dialog ¬ "Your backup has been saved to desktop." buttons {"Done"} default button {"Done"} with icon 129 giving up after 10
end tell
end if
end suiteBkp
more HyperTalk
 Macintosh Plus (late 1984), followed close behind the Mac 512k
 The classic Apple IIc (1981), part of a series of Apple computers that preceded the debut of the Macintosh
HyperCard Users Corner:
Here's a simple, but very useful little HyperTalk script for verifying the validity of a date entered by a user, assuming that you have a menu item "flag date..." (or whatever you choose to name it) or it could be altered slightly and placed within a mouseUp statement:
if menuItem = "Flag Date..." then
global tryDate
ask "Enter a date for your new appointment:" with the long date
if it ≠ "" and the result ≠ "Cancel" then
put it into tryDate
else
put "" into tryDate
exit doMenu
end if
if invalidDate() then
answer "The date entered is not valid!"
put "" into tryDate
exit doMenu
end if
--Here you would put the statements to execute if the entered date proves to be valid
put "" into tryDate
end if
function invalidDate
global tryDate
convert tryDate to short date
if the result = "invalid date" then
return true
else
return false
end if
end invalidDate
more HyperTalk

 Mac SE (circa 1987), was a more advanced version of the Mac Plus and had an internal hard drive.
YouTube Video Search Script:
tell application "Finder"
try
set webSearch to text returned of (display dialog "Enter YouTube Video
Search" default answer "" buttons {"Search", "Cancel"} default button 1)
open location "http://www.youtube.com/results?search_query=" & webSearch
on error theError
display dialog theError
end try
end tell
|
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.