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.
|
Dialogs for Lists
In this post, we will deal with situations when you want to choose from multiple options within a list. You can have lists that are preset, such as choosing from a list of months of the year, for instance, or perhaps a list such as that which might be generated from a database program when certain criteria are specified (ie names beginning with the surname Bill).
Take a look at this example:
set theName to (choose from list {"John", "Joe", "Bill"})
if theName is false then
display dialog "You clicked cancel to exit." with icon stop buttons {"Exit"} default button {"Exit"}
else
set theName to (item 1 of theName)
display dialog theName with icon note buttons {"Info"} default button {"Info"}
end if
–first note in the first line that ‘choose from list’ prompts you to choose from the three names given {“John”, “Joe”, “Bill”}. the name chosen is assigned to the variable ‘theName’.
–if the user clicks cancel from a ‘choose from list’ dialog such as this, then the variable ‘theName’ takes on the value false indicating that the user decided not to make a choice of the items listed in the dialog.
–if the user makes a choice, say for instance “Bill”, then ‘theName’ takes on that value and can be used for further script execution.
Adapting the previous dialog, assuming you had a list of items (whatever criteria relevant to what you want) compiled from a database of your own design, in this case we will call the list ‘recentOrders’, a list of customer names who have ordered products or services from you in recent months. Another version of the list dialog that could be used based on these premises:
set recentOrders to recentOrdersArray as list
try
set recentCustomer to (choose from list recentOrders)
if recentCustomer ≠ false then
set recentCustomer to (item 1 of recentCustomer)
set scriptAction to button returned of (display dialog "Get information for last order from '" & recentCustomer & "' ?" with icon note buttons {"Cancel","Info"} default button {"Info"})
display dialog "Info for last order from: " & recentCustomer
--here you would return to the user the info from your database on 'recentCustomer'
end if
on error
end try
–here, we choose a particular item (customer) from ‘recentOrders’. next, if we do not cancel execution, the variable ‘recentCustomer’ is assigned. if we do not cancel the next request dialog, the data on the requested customer can be displayed (based upon info stored in whatever the referenced database).
As list type dialogs deviate from the standard dialogs dealt with up until now, it is important to note that, although computers are supposed to follow some sort of logic, you sometimes have to ‘go with the flow’ on things that don’t seem to follow that logic.
I have tried to emphasize from the beginning, that the whole process of learning how to AppleScript builds upon itself. In my coming posts, I will continue to try to make things easier to grasp by using a step-by-step approach, as I have found it effective in building my AppleScript repertoire.
I hope everyone has found this post useful in furthering their knowledge of scripting with AppleScript. If you do not understand the basics of this post, please see my recent posts at the bottom of the page, as they are the basis of understanding the more complex ones.
http://video.google.com/videoplay?docid=-6006084025483872237
video.google.com/
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
If you find this post useful, check out this one: More on List Dialogs
|
 
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
|
I am impressed, I have to say. Really rarely do i experience the blog that’s both educative and entertaining, and let me tell you, you have hit the actual nail on the mind. Your own idea is outstanding; the issue is something that insufficient people are talking smartly regarding. I’m very happy that i stumbled across this in my look for some thing relating to this.
Characterized your website coming from the buddies Fb link, evidently you have got improving fanbase yet i also in these days undertsand one of the main reasons why Tremendously enlightening information, many merit one million.
I basically bookmarketed your website and wanted to claim that We have really enjoyed reading your blog posts. By any means I’ll be subscribing to your feed rss now, thanks
I need to exhibit my capability to your sympathy delivering help upto personnel that require benefit about that region of interest. Your special enthusiasm upto acquiring the letter all-around had become exceedingly vital and also has in every instance enabled opposite sex somewhat like me to get to over at their hobbies. This new inviting and friendly instruction indicates a good deal to me and very much additional to firmly my partners. Best wishes; from each one of us.
My hope is the idea that some constituents of our community will certainly be attracted to shared their activity get a job with possible presentation at the conference.
One always lend a hand to design strictly blog posts I’d assert. This is certainly the truly very first time period I frequented your internet web site page website thus far? I stunned making use of analysis individuals produced to generate this certain publish magnificent. Splendid system!
My brother recommended I may like this blog. He used to be entirely right. This publish truly made my day. You can not imagine simply how a lot time I had spent for this information! Thank you!
My cousin suggested I’d like this website. He was entirely right. This post genuinely made my day. You cannot think simply how much moment in time I had used up because of this content! Thanks
Thanks your amazing blog submitting! I significantly really liked checking out it, you happen to be a great author.I’ll be certain that I bookmark your blog which enables you to come back in the foreseeable years to come. I really want to urge keep your specific fantastic task, possess a nice morning!
I just tweeted your blog and desired to feel that I have really enjoyed reading your website posts. Any way I’ll be subscribing to your feed now, thanks
Definitely, what a grand web site and instructive topics, I definitely would bookmark your specific internet site.Each of the Best!
The sense of waiting to assist, however not finding out how and even the place, is something various us have undergone.
Le forum de discussion de la Renault Fluence c’est un lieu de discussions uniques que je vous propose de découvrir sur http://www.forum-fluence.com
I was very glad to locate this website.I truly wanted to thank for you for this cool read!! I finaly enjoying every little bit of it yet i have you ever bookmarked to check out new stuff from you post.
I basically gigs your website and desired to claim that I actually have really enjoyed reading your wordpress blog posts. By any means I’ll be subscribing to your feed now, thanks
My hope is because some participants in our community will certainly be curious about promoved their scholarly get a job with possible presentation at the conference.
Though there are plenty of people that have endured different negative effects of losing weight, just remember that there are always natural ways that you can think about in order to get rid of fat and get a healthier body. Bear in mind you should not spend thousands of cash just to get fit and fabulous. In most cases, a fairly easy dietary changes & physical exercise can help you achieve your desired goal – minus the unwanted effects!
That appears simple at this point. I will come again any time you update this site. The look you’ve got here is awesome. Maintain it current.
Le forum de discussion de la Renault Fluence c’est un lieu de discussions uniques que je vous propose de découvrir sur http://www.forum-fluence.com
Obviously I’m responsible for certainly not looking at their own disclaimer inside very first area.