devexpress asp.net mvc pdf viewer : Add and delete pages from pdf control software utility azure winforms .net visual studio AppleScriptLanguageGuide30-part559

C H A P T E R   8
Handlers
Command Handlers
301
5/5/99  ã Apple Computer, Inc.
SYNTAX
The syntax for a command handler definition is
( on | to ) 
commandName
¬
[ [ of ] 
directParameterVariable
¬
[ given 
label
:
paramVariable
[, 
label
:
paramVariable
]...]
[ global 
variable
[, 
variable
]...]
[ local 
variable
[, 
variable
]...]
statement
]...
end [ 
commandName
]
where
commandName (an identifier) is a command name.
directParameterVariable (an identifier) is a parameter variable for the actual value 
of the direct parameter. You use this parameter variable to refer to the direct 
parameter in the body of the subroutine. If it is included, directParameter must 
be listed immediately after the command name. The word 
of
before 
directParameter is optional.
label is the parameter label for one of the parameters of the command being 
handled. The label 
given
is optional.
paramVariable (an identifier) is a parameter variable for the actual value of the 
parameter. You use this identifier to refer to the parameter in the body of 
the handler.
variable is an identifier for either a global or local variable that can be used in the 
handler. The scope of a local variable is the handler. The scope of a global 
variable can extend to any other part of the script, including other handlers and 
script objects. For detailed information about the scope of local and global 
variables, see “Scope of Script Variables and Properties” (page 311).
statement is any AppleScript statement.
EXAMPLES
For examples of command handler definitions, see “Run Handlers” (page 303).
Add and delete pages from pdf - application control tool:C# PDF Page Extract Library: copy, paste, cut PDF pages in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Easy to Use C# Code to Extract PDF Pages, Copy Pages from One PDF File and Paste into Others
www.rasteredge.com
Add and delete pages from pdf - application control tool:VB.NET PDF Page Extract Library: copy, paste, cut PDF pages in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Detailed VB.NET Guide for Extracting Pages from Microsoft PDF Doc
www.rasteredge.com
C H A P T E R   8  
Handlers
302
Command Handlers
5/5/99  ã Apple Computer, Inc.
NOTES
The statements in a command handler can include a Continue statement, which 
passes the command to the application’s default handler for that command. 
This allows you to invoke an application’s default behavior for a command 
from within a command handler. For more information, see “The Continue 
Statement” (page 336). 
Command Handlers for Application Objects
8
You can use a command handler in a script to handle a command that is sent to 
an application object. Associating a script that contains a command handler 
with an application object that receives a command is called attaching a script 
to an application object. An application that supports this capability is called 
an attachable application. Such an application might allow you to attach a script 
to a button or menu object, for example, to handle commands sent to those 
objects.
Scripts that are attached to objects can change the way those objects respond to 
particular commands. Each application determines which of its objects, if any, 
can have attached scripts and how you attach the scripts. To determine whether 
you can attach a script to an application’s objects, see the documentation for the 
application.
Command Handlers for Script Applications
8
A script application is an application whose only function is to run the script 
associated with it. You can run a script application from the Finder much like 
any other application. For a description of how to create a script application, see 
“Script Applications” (page 279).
Every script application is a command handler and can respond to at least two 
commands: the Run command and the Open command. A script application 
receives a Run command whenever it is launched, and an Open command 
whenever another icon is dropped on its icon in the Finder.
A stay-open script application can receive and handle any commands for which 
it has a handler. All stay-open applications receive periodic Idle commands 
whenever they’re not responding to other events. They also receive a Quit 
command when the user quits the application.
application control tool:VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.
In order to run the sample code, the following steps would be necessary. Add necessary references: How to VB.NET: Delete Consecutive Pages from PDF.
www.rasteredge.com
application control tool:C# PDF Page Delete Library: remove PDF pages in C#.net, ASP.NET
XDoc.PDF enables you to delete PDF page(s) with customized options, including a single page, a series of pages, and random pages to be Add necessary references
www.rasteredge.com
C H A P T E R   8
Handlers
Command Handlers
303
5/5/99  ã Apple Computer, Inc.
For descriptions of common command handlers, see the following sections:
n
“Run Handlers” (page 303)
n
“Open Handlers” (page 305)
n
“Handlers for Stay-Open Script Applications” (page 306)
Run Handlers
8
All Mac OS applications can respond to the Run command, even if they aren’t 
scriptable. The Finder sends a Run command to an application whenever one of 
the following actions occurs while that application is not already running: 
n
The user double-clicks the application’s icon.
n
The user selects the application’s icon and chooses Open from the File menu.
n
The application’s icon is in the Apple Menu Items folder and the user 
chooses it from the Apple menu.
n
The application’s icon is in the Startup Items folder and the user restarts the 
computer.
If the application is already running when one of these actions occurs, the 
application is activated but no commands are sent to it. If the application isn’t 
running, the Finder launches the application and sends it a Run command. The 
application responds by performing the actions the user expects when the 
application first opens, such as opening an untitled document.
Like any other application, a script application, described in “Script 
Applications” (page 279), receives a Run command whenever one of the actions 
just listed occurs. You can provide a handler for the Run command in one of 
two ways. An implicit Run handler consists of all statements at the top level of 
a script except for property declarations, script object definitions, and other 
command handlers. An explicit Run handler is enclosed within an 
on...end
or 
an 
on run...end
statement, like other handlers.
For example, the script that follows consists of a property declaration, an 
increment
command, a Tell statement, and a handler for the 
increment
command. For the Tell statement to work, you must have an AppleWorks 
document named Count Log open before you run the script. Each time you run 
the script, the value of the property x increases by 1 and the increase is recorded 
in the Count Log file (by replacing the first paragraph with the count).
application control tool:C# PDF File & Page Process Library SDK for C#.net, ASP.NET, MVC
C# Page: Insert PDF pages; C# Page: Delete PDF pages; C# Read: PDF Text Extract; C# Read: PDF Image Extract; C# Write: Insert text into PDF; C# Write: Add Image
www.rasteredge.com
application control tool:C# PDF Page Insert Library: insert pages into PDF file in C#.net
processing control SDK, you can create & add new PDF rotate PDF document page, how to delete PDF page using NET, how to reorganize PDF document pages and how
www.rasteredge.com
C H A P T E R   8  
Handlers
304
Command Handlers
5/5/99  ã Apple Computer, Inc.
property x : 0
increment() 
tell document "Count Log" of application "AppleWorks"
select first paragraph of text body
set selection to "Count is now " & x & "."
end tell
on increment()
set x to x + 1
display dialog "Count is now " & x & "."
end increment
The implicit Run handler for this script consists of the statement 
increment()
and the Tell statement—that is, the statements outside the handler, but not 
including property declarations. If you store this script in a script application 
and then double-click the script application’s icon, the Finder sends a Run 
command to the script, and the Run command invokes the two statements in 
the implicit Run handler.
If you rewrite the previous script to use an explicit Run handler, it provides the 
exact same behavior:
property x : 0
on run
increment()
tell document "Count Log" of application "AppleWorks"
select first paragraph of text body
set selection to "Count is now " & x & "."
end tell
end run
on increment()
set x to x + 1
display dialog "Count is now " & x & "."
end increment
A script can’t include both an implicit and an explicit Run handler. If a script 
includes both an explicit 
on run
handler and top level commands that constitute 
application control tool:C# PDF insert image Library: insert images into PDF in C#.net, ASP
C#.NET PDF SDK - Add Image to PDF Page in C#.NET. How to Insert & Add Image, Picture or Logo on PDF Page Using C#.NET. Add Image to PDF Page Using C#.NET.
www.rasteredge.com
application control tool:VB.NET PDF Password Library: add, remove, edit PDF file password
passwordSetting.IsAssemble = True ' Add password to PDF file. These two demos will help you to delete password for an encrypted PDF file.
www.rasteredge.com
C H A P T E R   8
Handlers
Command Handlers
305
5/5/99  ã Apple Computer, Inc.
an implicit Run handler, AppleScript returns an error when you try to compile 
the script—that is, when you try to run it, check its syntax, or save it.
The Run handlers in the preceding examples respond the same way to a Run 
command whether the script is saved as a script application or as a compiled 
script. If the script is saved as a compiled script, you can invoke its Run handler 
by clicking the Run button in the Script Editor.
You can also send a Run command to a script application from within another 
script. For information about how to do this, see “Calling a Script Application 
From a Script” (page 310).
Open Handlers
8
All Mac OS applications can respond to the Open command, even if they aren’t 
scriptable. The Finder sends an Open command to an application whenever the 
user drags file, folder, or disk icons over the application’s icon and releases the 
mouse button. The Open command is sent even if the application is already 
running.
Like any other application, a script application receives an Open command 
whenever the user drags file, folder, or disk icons over the application’s icon. If 
the script in the script application includes an Open handler, the statements 
within the handler run when the application receives the Open command. The 
Open handler takes a single parameter; when the handler is called, the value of 
that parameter is a list of all the items whose icons were dropped on the script 
application’s icon. (Each item in the list is an alias; you can convert it to a 
pathname by using 
as string
.)
For example, this Open handler makes a list of the pathnames of all items 
dropped on the script application’s icon and saves them in a specified 
AppleWorks document:
on open names
set listOfPaths to "" -- Start with empty string.
repeat with i in names
-- Get the name and append a return character so that
--
each name starts on a separate line.
set iPath to (i as string)
set listOfPaths to listOfPaths & iPath & return
end repeat
-- Open document and replace current first paragraph with list.
tell application "AppleWorks"
application control tool:VB.NET PDF Page Insert Library: insert pages into PDF file in vb.
Able to add and insert one or multiple pages to existing adobe PDF document in VB.NET. Add and Insert Multiple PDF Pages to PDF Document Using VB.
www.rasteredge.com
application control tool:C# PDF Sticky Note Library: add, delete, update PDF note in C#.net
C#.NET PDF SDK - Add Sticky Note to PDF Page in C#.NET. Able to add notes to PDF using C# source code in Visual Studio .NET framework.
www.rasteredge.com
C H A P T E R   8  
Handlers
306
Command Handlers
5/5/99  ã Apple Computer, Inc.
open file "Hard Disk:File List"
tell front document
select first paragraph of text body
set selection to listOfPaths
end tell
close front document saving ask
end tell
return
end open
Files, folders, or disks are not moved, copied, or affected in any way when their 
icons are dragged and dropped over a script application’s icon. The Finder just 
gets a list of their identities and sends that list to the script application as the 
direct parameter of the Open event. Of course, the script in the script 
application could easily tell the Finder to move, copy, or otherwise manipulate 
the items. The script could also ask the user to specify a filename for saving the 
list of pathnames.
Note
Due to a known limitation of system software, you can’t 
drop icons on an icon for a script application that’s stored 
on a floppy disk.
u
You can also run an Open handler by sending a script application the Open 
command. For details, see “Calling a Script Application From a Script” 
(page 310).
Handlers for Stay-Open Script Applications
8
By default, a script application that receives a Run or Open command handles 
that single command and then quits. This allows it to perform a single task and 
get out of your way. In contrast, a stay-open script application (one saved with 
the Stay Open checkbox selected in the Script Editor’s Save As dialog box) stays 
open after it’s launched.
A stay-open script application can be useful for any of the following reasons:
n
If you run a script frequently, it runs faster as a stay-open application than it 
does if it has to be launched each time.
n
Stay-open script applications can receive and handle other commands in 
addition to Run and Open. This allows you to use a script application as a 
application control tool:VB.NET PDF insert image library: insert images into PDF in vb.net
with this sample VB.NET code to add an image to textMgr.SelectChar(page, cursor) ' Delete a selected As String = Program.RootPath + "\\" output.pdf" doc.Save
www.rasteredge.com
application control tool:C# PDF Password Library: add, remove, edit PDF file password in C#
passwordSetting.IsAssemble = true; // Add password to PDF file. These C# demos will help you to delete password for an encrypted PDF file.
www.rasteredge.com
C H A P T E R   8
Handlers
Command Handlers
307
5/5/99  ã Apple Computer, Inc.
script server that, when its running, provides a collection of handlers that can 
be invoked by any other script.
n
Stay-open script applications can perform periodic actions, even in the 
background, as long as the script application is running.
All stay-open applications receive periodic Idle events. If a stay-open script 
application includes a handler for the Idle event, it can perform periodic actions 
whenever it is not responding to other events. If a stay-open script application 
includes a handler for the Quit event, it can perform some action, such as 
checking with the user, before quitting.
Idle Handlers
8
If a stay-open script application includes an Idle handler, AppleScript sends the 
script application periodic Idle commands whenever it’s not responding to 
incoming events. The statements in the handler run periodically (every 30 
seconds, by default).
For example, the following handler causes a stay-open script application to 
beep every 30 seconds after it has been launched.
on idle
beep
end idle
To change the rate, return the number of seconds to wait as the result of the idle 
handler. For example, the following script beeps every 5 seconds.
on idle
beep
return 5
end idle
If an Idle handler returns a positive number, that number becomes the rate (in 
seconds) at which the handler is called. If the handler returns a non-numeric 
value, the rate is not changed.
C H A P T E R   8  
Handlers
308
Command Handlers
5/5/99  ã Apple Computer, Inc.
Remember that the result returned from a handler is just the result of the last 
statement, even if it doesn’t include the word 
return
explicitly. For example, 
this handler only gets called every 15 minutes.:
on idle
set x to 30
beep
set x to x * x  -- The handler returns the result (900).
end idle
To make sure you’re not changing the idle rate, return 0 at the end of the 
handler. 
Quit Handlers
8
AppleScript sends a stay-open script application a Quit command whenever the 
user chooses the Quit menu command or presses Command-Q while the 
application is active. If the script includes a Quit handler, the statements in the 
handler are run before the application quits.
A Quit handler can be used to set script properties, tell another application to 
do something, display a dialog box, or perform almost any other task. If the 
handler includes a 
continue quit
statement, the script application’s default quit 
behavior is invoked and it quits. If the Quit handler returns before it encounters 
continue quit
statement, the application doesn’t quit.
For example, this handler checks with the user before allowing the application 
to quit:
on quit
display dialog "Really quit?" ¬
buttons {"No", "Quit"} default button "Quit"
if the button returned of the result is "Quit" then
continue quit
end if
-- Without the continue statement, the
-- script application doesn't quit.
end quit
C H A P T E R   8
Handlers
Command Handlers
309
5/5/99  ã Apple Computer, Inc.
s
WAR N I N G
If AppleScript doesn’t encounter a 
continue
quit
statement 
while executing an 
on quit
handler, it may seem 
impossible to quit the application. For example, if the 
handler gets an error before the 
continue quit
statement, 
attempting to quit the application just produces an error 
alert. As a last resort, use the emergency Quit command: 
press Command-Shift-Q or hold down the Shift key and 
choose Quit from the File menu. This saves changes to 
script properties and quits immediately, bypassing the Quit 
handler.
s
Interrupting a Script Application’s Handlers
8
A stay-open script application handles incoming commands even if it is already 
running a handler in response to a previous command. This means that 
execution of a handler can be interrupted while another handler is run. Because 
script applications are not multithreaded, execution of the first handler pauses 
until the second one finishes. This is known as “last-in, first-out” event 
handling.
This can cause problems if both handlers modify the same script property or 
global variable or if both attempt to modify an application’s data. For example, 
suppose that running a script application named 
increment
causes it to 
increment the property 
p
for several minutes:
property p : 0
on close
set temp to p
set p to 0
return temp
end close
set p to 0
repeat 1000000 times
set p to p + 1
end repeat
C H A P T E R   8  
Handlers
310
Command Handlers
5/5/99  ã Apple Computer, Inc.
If this script application receives a Close command while it is running:
tell application "Increment" to close
AppleScript can’t deal with such interruptions automatically.
Calling a Script Application From a Script
8
Any script can send commands to a script application just as it can to any other 
application. However, script applications, like other applications, sometimes 
respond to the Run command in ways that you might not expect.
As explained in the description of the command “Launch” (page 143), 
AppleScript sends an implicit Run command whenever it begins to execute a 
Tell statement whose target is an application that is not already open. This 
creates problems for a script application that doesn’t stay open.
For example, a script like this won’t run correctly if the target application is a 
script application that doesn’t stay open:
tell application "NonStayOpen" to run
Instead, the Tell statement launches the script application and sends it an 
implicit Run command. The application handles that Run command. 
AppleScript then gets to the explicit Run command in the calling script and 
tries to send another run event to the script application. Unfortunately, the 
application has already handled its one event and quits without responding to 
the second Run command. The calling script waits in vain until it times out, and 
then receives an error.
The culprit is the implicit Run command sent by the Tell statement when it 
launches the application. To launch a non-stay-open application and run its 
script, use a Launch command followed by a Run command, like this:
launch application "NonStayOpen"
run application "NonStayOpen"
The Launch command launches the script application without sending it an 
implicit Run command. When the Run command is sent to the script 
application, it processes the event, sends back a reply if necessary, and quits.
Documents you may be interested
Documents you may be interested