devexpress asp.net mvc pdf viewer : Extract page from pdf online software SDK dll windows .net wpf web forms AppleScriptLanguageGuide32-part565

C H A P T E R   8
Handlers
Scope of Script Variables and Properties
321
5/5/99  ã Apple Computer, Inc.
handler. Any subsequent attempt to use the same variable as a global results in 
an error.
Similarly, the scope of an explicit local variable declaration at the top level of a 
script object is limited to that script object’s Run handler, even if the same 
identifier has been declared as a property at a higher level in the script:
property currentCount : 0
script Joe
local currentCount
set currentCount to 5
on increment()
set currentCount to currentCount + 1
end increment
end script
run Joe --result: 5
tell Joe to increment() --result: 1
Scope of Variables Declared in a Handler
8
You can’t declare a property in a handler, although you can refer to a property 
declared at the top level of the script or script object to which the handler 
belongs.
Figure 8-3 summarizes the scope of variables declared in a handler. Examples of 
each form of declaration follow.
Figure 8-3
Scope of variable declarations within a handler
Form of
declaration
global x
set x to 3
local x
To top level of
script
Scope of
declaration
Where AppleScript
looks for x
Within
handler only
Within
handler
only
Extract page from pdf online - software SDK dll: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
Extract page from pdf online - software SDK dll: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
322
Scope of Script Variables and Properties
5/5/99  ã Apple Computer, Inc.
The scope of a global variable declared in a handler is limited to that handler, 
although AppleScript looks beyond the handler when it tries to locate an earlier 
occurrence of the same variable. Here’s an example.
set currentCount to 10 
on increment()
global currentCount
set currentCount to currentCount + 2
end increment
increment() --result: 12
currentCount --result: 12
When AppleScript encounters the 
currentCount
variable within the 
on 
increment
handler, it doesn’t restrict its search for a previous occurrence to that 
handler but keeps looking until it finds the declaration at the top level of the 
script. However, references to 
currentCount
in any subsequent handler in the 
script are local to that handler unless the handler also explicitly declares 
currentCount
as a global variable.
The scope of a variable declaration using the Set command within a handler is 
limited to that handler:
script Henry
set currentCount to 10
on increment()
set currentCount to 5
end increment
return currentCount
end script
tell Henry to increment() --result: 5
run Henry --result: 10
The scope of the first declaration of the first 
currentCount
variable, at the top 
level of the script object 
Henry
, is limited to the Run handler for the script object. 
The scope of the second 
currentCount
declaration, within the 
on increment
handler, is limited to that handler. AppleScript keeps track of each variable 
independently.
software SDK dll:C# PDF Image Extract Library: Select, copy, paste PDF images in C#
framework. C# users are able to extract image from PDF document page and get image information for indexing and accessing. C#
www.rasteredge.com
software SDK dll:C# PDF Text Extract Library: extract text content from PDF file in
Feel Free to Extract Text from PDF Page, Page Region or Advanced Visual Studio .NET PDF edit SDK, built on .NET framework 2.0 and compatible with Windows
www.rasteredge.com
C H A P T E R   8
Handlers
Scope of Script Variables and Properties
323
5/5/99  ã Apple Computer, Inc.
The scope of a local variable declaration in a handler is limited to that handler, 
even if the same identifier has been declared as a property at a higher level in 
the script:
property currentCount : 10
on increment()
local currentCount
set currentCount to 5
end increment
increment() --result: 5
currentCount --result: 10
software SDK dll:VB.NET PDF Image Extract Library: Select, copy, paste PDF images
Online source codes for quick evaluation in VB.NET class. By using RsterEdge XDoc PDF SDK for .NET, VB.NET users are able to extract image from PDF page or file
www.rasteredge.com
software SDK dll:VB.NET PDF Text Extract Library: extract text content from PDF
PDF Add-On, developers are able to extract target text content from source PDF document and This page will supply users with tutorial for extracting text
www.rasteredge.com
software SDK dll:C# HTML5 PDF Viewer SDK to view PDF document online in C#.NET
Create PDF Online. Convert PDF Online. WPF PDF Viewer. View PDF in Page: Replace PDF Pages. Page: Move Page Position. Page: Extract, Copy and Paste PDF Pages.
www.rasteredge.com
software SDK dll:C# PDF Page Insert Library: insert pages into PDF file in C#.net
Ability to add PDF page number in preview. Offer PDF page break inserting function. Free components and online source codes for .NET framework 2.0+.
www.rasteredge.com
325
5/5/99  ã Apple Computer, Inc.
C H A P T E R   9
Script Objects
9
Figure 9-0
Listing 9-0
Table 9-0
Script objects are objects that you define and use in scripts. Like the application 
and system objects described earlier in this guide, script objects have properties 
and can respond to commands. Unlike application or system objects, script 
objects are defined within scripts.
AppleScript’s script objects have capabilities common to object-oriented 
programming languages. For example, you can define groups of script objects 
that share properties and handlers, and you can extend or modify the behavior 
of a handler in one script object when calling it from another script object.
This chapter describes handlers in the following sections:
n
“About Script Objects” (page 326) provides a brief overview of script objects 
and includes a simple example.
n
“Defining Script Objects” (page 327) provides the syntax for defining script 
objects.
n
“Sending Commands to Script Objects” (page 328) describes how you use 
Tell statements to send commands to script objects.
n
“Initializing Script Objects” (page 329) describes how AppleScript creates a 
script object with the properties and handlers you have defined.
n
“Inheritance and Delegation” (page 331) describes how you can share 
property and handler definitions among script objects without repeating the 
shared definitions.
n
“Using the Copy and Set Commands With Script Objects” (page 342) 
describes differences in the way the Copy and Set commands work with 
script objects. It also describes how to write a handler that creates copies of 
script objects.
software SDK dll:VB.NET PDF Page Delete Library: remove PDF pages in vb.net, ASP.
Online source codes for quick evaluation in VB.NET class. If you are looking for a solution to conveniently delete one page from your PDF document, you can use
www.rasteredge.com
software SDK dll:VB.NET PDF- View PDF Online with VB.NET HTML5 PDF Viewer
Page: Replace PDF Pages. Page: Move Page Position. Page: Copy, Paste PDF Pages. Page: Rotate a PDF Page. PDF Read. Text: Extract Text from PDF. Text: Search Text
www.rasteredge.com
C H A P T E R   9  
Script Objects
326
About Script Objects
5/5/99  ã Apple Computer, Inc.
About Script Objects
9
A script object is a user-defined object that combines data (in the form of 
properties) and potential actions (in the form of handlers). A script object 
definition is a compound statement that can contain collections of properties, 
handlers, and other AppleScript statements.
Here is a simple script object definition:
script John
property HowManyTimes : 0
to sayHello to someone
set HowManyTimes to HowManyTimes + 1
return "Hello " & someone
end sayHello
end script
It defines a script object that can handle the 
sayHello
command. It assigns the 
script object to the variable 
John
. The definition includes a handler for the 
sayHello
command. It also includes a property, called HowManyTimes, that 
indicates how many times the 
sayHello
command has been called.
A handler within a script object definition follows the same syntax rules as a 
subroutine definition. Unlike a subroutine definition, however, you can group a 
handler within a script object definition with properties whose values are 
related to the handler’s actions.
After you define a script object, you initialize it by running the script that 
contains the script object definition. You can then use a Tell statement to send 
commands to the script object. For example, the following statement sends the 
sayHello
command the script object defined above. 
tell John to sayHello to "Herb"
The result is 
"Hello Herb"
.
You can manipulate the properties of script objects in the same way you 
manipulate the properties of system and application objects. Use the Get 
command to get the value of a property and the Set or Copy command to 
change the value of a property.
C H A P T E R   9
Script Objects
Defining Script Objects
327
5/5/99  ã Apple Computer, Inc.
The following statement uses a Get command to get the value of the 
HowManyTimes property of script object 
John
.
get HowManyTimes of John
if the result > 10
return "John, aren't you tired of saying hello?"
end if
Defining Script Objects
9
Each script object definition begins with the keyword 
script
, followed by an 
optional variable name, and ends with the keyword 
end
(or 
end script
). The 
statements in between can be any combination of property definitions, handler 
definitions, and other AppleScript statements.
The syntax of a script object definition is
script [ 
scriptObjectVariable
]
[( property | prop ) 
propertyLabel
initialValue
]...
handlerDefinition
]...
statement
]...
end [script]
where
scriptObjectVariable is a variable identifier. If you include scriptObjectVariable, 
AppleScript stores the script object in a variable. You can use the variable 
identifier to refer to the script object elsewhere in the script.
propertyLabel is an identifier for a property. Properties are characteristics that are 
identified by unique labels. They are similar to instance variables in 
object-oriented programming. 
initialValue is the value that is assigned to the property each time the script 
object is initialized. Script objects are initialized when the scripts or handlers 
that contain them are run. initialValue is required in property definitions.
handlerDefinition is a handler for a user-defined or system command. The 
handlers within a script object definition determine which commands the script 
object can respond to. Script object definitions can include handlers for 
C H A P T E R   9  
Script Objects
328
Sending Commands to Script Objects
5/5/99  ã Apple Computer, Inc.
user-defined commands (subroutines) or for system or application commands. 
Handlers in script objects are similar to methods in object-oriented 
programming. For a detailed description of the syntax of handler definitions, 
refer to “Handlers” (page 279). 
statement is any AppleScript statement. Statements other than handler and 
property definitions are treated as if they were part of a handler definition for 
the Run command; they are executed when a script object receives the Run 
command. 
Sending Commands to Script Objects
9
You use Tell statements to send commands to script objects. A Tell statement 
sent to a script object is similar to a Tell statement sent to an application, except 
that it uses a variable name, instead of a reference, to identify the script object. 
For example,
tell John
sayHello to "Herb"
sayHello to "Grace"
end tell
sends two 
sayHello
commands to the script object 
John
. The parameters of the 
commands in the Tell statement, if any, must match the parameters defined in 
the handler definitions in the script object definition. For example, the following 
statement results in an error message because the handler definition for the 
sayHello
command, shown in “About Script Objects” (page 326), defines a 
labeled parameter, not a positional parameter.
tell John
sayHello ("Herb")
end tell
--results in an error
For a script object to respond to a command within a Tell statement, either the 
script object or its parent script object must have a handler for the command. A 
parent script object is a script object from which a script object inherits handlers 
and properties. For more information about parent script objects, see 
“Inheritance and Delegation” (page 331). 
C H A P T E R   9
Script Objects
Initializing Script Objects
329
5/5/99  ã Apple Computer, Inc.
The one command that any script object can handle, even without an explicitly 
defined handler, is the Run command. A handler for the Run command can 
consist of all statements at the top level of a script object definition other than 
property and handler definitions. If the script object definition contains only 
handler and property definitions, and does not include any additional top-level 
statements, the definition may include an explicit Run handler that begins with 
on run
. If a script object definition includes neither an implicit Run handler (in 
the form of top-level statements) nor an explicit Run handler, the Run 
command doesn’t do anything. For more information, see “Run Handlers” 
(page 303).
For example, the Display Dialog scripting addition command in the following 
script object definition is executed only if you send a Run command to script 
object 
John
script John
property HowManyTimes : 0
to sayHello to someone
set HowManyTimes to HowManyTimes + 1
return "Hello " & someone
end sayHello
display dialog "John received the Run command"
end script
Initializing Script Objects 
9
When you define a script object, you define a collection of handlers and 
properties. When you run a script containing a script object definition, 
AppleScript creates a script object with the properties and handlers listed in the 
definition. This is called initializing a script object. A script object must be 
initialized before it can respond to commands.
If you include a script object definition at the top level of a script—that is, as 
part of the script’s Run handler—AppleScript initializes the script object each 
time the script’s Run handler is executed. For more information, see “Run 
Handlers” (page 303).
Similarly, if you include a script definition in another handler within a script, 
AppleScript initializes a script object each time the handler is called. The 
C H A P T E R   9  
Script Objects
330
Initializing Script Objects
5/5/99  ã Apple Computer, Inc.
parameter variables in the handler definition become local variables of the 
script object. For example, the 
makePoint
handler in the following script 
contains a script object definition for the script object 
point
on makePoint(x, y)
script point
property xCoordinate:x
property yCoordinate:y
end script
return point
end makePoint
set myPoint to makePoint(10,20)
get xCoordinate of myPoint
--result: 10
get yCoordinate of myPoint
--result: 20
AppleScript initializes the script object 
point
when it executes the 
makePoint
command. The parameter variables in the 
makePoint
handler, in this case, 
x
and 
y
, become local variables of the script object 
point
. The initial value of 
x
is 10, 
and the initial value of 
y
is 20, because those are the parameters of the 
makePoint
command that initialized the script object.
One way to use script object definitions in handlers is to define constructor 
functions, that is, handlers that create script objects. The following script uses a 
constructor function to create three script objects.
on makePoint(x, y)
script
property xCoordinate:x
property yCoordinate:y
end script
end makePoint
set PointA to makePoint(10,20)
set PointB to makePoint(100,200)
set PointC to makePoint(1,1)
As in the previous example, you can retrieve the coordinates of the three script 
objects using the Get command.
Documents you may be interested
Documents you may be interested