devexpress asp.net mvc pdf viewer : Acrobat remove pages from pdf application SDK cloud windows wpf asp.net class AppleScriptLanguageGuide23-part536

C H A P T E R   6
Expressions
Operations
231
5/5/99  ã Apple Computer, Inc.
In the following example, however, both specified items are strings, so 
concatenation results in a string:
item 1 of { "This" } & item 1 of { "and", "that" }
--result: "Thisand"
For large lists, it may be more efficient to use the Copy or Set command, rather 
than concatenation, to add an item to a list. For information on working 
efficiently with large lists, see “List” (page 67).
Operator Precedence
6
AppleScript allows you to combine expressions into larger, more complex 
expressions. When evaluating expressions, AppleScript uses operator 
precedence to determine which operations are performed first. Table 6-2 shows 
the order in which AppleScript performs operations.
To see how operator precedence works, consider the following expression.
2 * 5 + 12
--result: 22
To evaluate the expression, AppleScript performs the multiplication operation 
2 * 5
first, because as shown in Table 6-2, multiplication has higher precedence 
than addition.
The column labeled “Associativity” in Table 6-2 indicates the order in which 
AppleScript performs operations if there are two or more operations of the 
same precedence in an expression. The word “none” in the Associativity 
column indicates that you cannot have multiple consecutive occurrences of the 
operation in an expression. For example, the expression 
3 = 3 = 3
is not legal 
because the associativity for the equal operator (=) is “none.” The word “unary” 
indicates that the operator is a unary operator. To evaluate expressions with 
multiple unary operators of the same order, AppleScript applies the operator 
Acrobat remove pages from pdf - application SDK cloud: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
Acrobat remove pages from pdf - application SDK cloud: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   6  
Expressions
232
Operations
5/5/99  ã Apple Computer, Inc.
closest to the operand first, then applies the next closest operator, and so on. For 
example, the expression 
not not not true
is evaluated as 
not (not (not true))
You can change the order in which AppleScript performs operations by 
grouping expressions in parentheses. As shown in Table 6-2, AppleScript 
evaluates expressions in parentheses first. For example, adding parentheses 
Table 6-2
Operator precedence 
Order
Operators
Associativity
Type of operator
1
( )
Innermost to 
outermost
Grouping
2
Unary
Plus or minus sign for numbers
3
^
Right to left
Exponentiation
4
*
/
÷
div
mod
Left to right
Multiplication and division
5
+
-
Left to right
Addition and subtraction
6
&
Left to right
Concatenation
7
as
Left to right
Coercion
8
<
£
>
³
None
Comparison
9
=
¹
None
Equality and inequality
10
not
Unary
Logical negation
11
and
Left to right
Logical for Boolean values
12
or
Left to right
Logical for Boolean values
application SDK cloud:.NET PDF Document Viewing, Annotation, Conversion & Processing
Insert images into PDF. Edit, remove images from PDF. Redact text content, images, whole pages from PDF file. Print. Support for all the print modes in Acrobat PDF
www.rasteredge.com
application SDK cloud:C# PDF Converter Library SDK to convert PDF to other file formats
manipulate & convert standard PDF documents in .NET class applications independently, without using other external third-party dependencies like Adobe Acrobat.
www.rasteredge.com
C H A P T E R   6
Expressions
Operations
233
5/5/99  ã Apple Computer, Inc.
around 
5
+ 12
in the following expression causes AppleScript to perform the 
addition operation first and changes the result.
2 * ( 5 + 12 )
--result: 34 
Date-Time Arithmetic
6
AppleScript supports these operations with the + and - operators on date and 
time difference values:
date
timeDifference
--result: 
date
date
date
--result: 
timeDifference
date
timeDifference
--result: 
date
where date is a date value and 
timeDifference
is an integer value specifying a time 
difference in seconds. 
To simplify the notation of time differences, you can also use one or more of 
these constants: 
Here’s an example:
date "Apr 15, 1998" + 4 * days + 3 * hours + 2 * minutes
It is often useful to be able to specify a time difference between two dates; for 
example:
set timeInvestment to current date - date "January 22, 1998"
minutes
60
hours
60 * minutes
days
24 * hours
weeks
7 * days
application SDK cloud:C# powerpoint - PowerPoint Conversion & Rendering in C#.NET
documents in .NET class applications independently, without using other external third-party dependencies like Adobe Acrobat. PowerPoint to PDF Conversion.
www.rasteredge.com
application SDK cloud:C# Word - Word Conversion in C#.NET
Word documents in .NET class applications independently, without using other external third-party dependencies like Adobe Acrobat. Word to PDF Conversion.
www.rasteredge.com
C H A P T E R   6  
Expressions
234
Operations
5/5/99  ã Apple Computer, Inc.
After running this script, the value of the 
timeInvestment
variable is an integer 
that specifies the number of seconds between the two dates. If you then add this 
time difference to the starting date (January 22, 1998), AppleScript returns a 
date value equal to the current date when the 
timeInvestment
variable was set.
To express a time difference in more convenient form, divide the number of 
seconds by the appropriate constant:
31449600 / weeks
--result: 52.0
62899200 / (weeks * 52)
--result (in years): 2.0
151200 / days 
--result: 1.75
To get an integral number of hours, days, and so on, use the 
div
operator:
151200 div days 
--result: 1
To get the difference, in seconds, between the current time and Greenwich mean 
time, use the scripting addition command Time to GMT. For example, if you are 
in Cupertino, California, and your computer is set to Pacific Standard Time, 
Time to GMT produces this result:
time to GMT
--result: -28800
For more information about the Time to GMT command, and about the other 
standard scripting addition commands distributed with AppleScript, see the 
following website:
<http://www.apple.com/applescript/>
For more information on working with dates, see “Date” (page 62).
application SDK cloud:C# Windows Viewer - Image and Document Conversion & Rendering in
standard image and document in .NET class applications independently, without using other external third-party dependencies like Adobe Acrobat. Convert to PDF.
www.rasteredge.com
application SDK cloud:VB.NET PDF: How to Create Watermark on PDF Document within
Watermark Creator, users need no external application plugin, like Adobe Acrobat. VB example code to create graphics watermark on multiple PDF pages within the
www.rasteredge.com
C H A P T E R   6
Expressions
Operations
235
5/5/99  ã Apple Computer, Inc.
Working With Dates at Century Boundaries
6
AppleScript’s support for dates is based on the same operating system utilities 
other Macintosh applications use. Mac OS date and time utilities have correctly 
handled issues related to the year 2000 since the introduction of the Macintosh. 
The original date and time utilities, introduced with the Macintosh 128K in 
1984, use a 32-bit value to store seconds, starting at 12:00:00 a.m., January 1, 
1904 and extending to 6:28:15 a.m. on February 6, 2040.
More recent date and time utilities use a 64-bit signed value that can represent 
dates from 30081 B.C. to 29940 A.D. However, AppleScript currently will not 
handle dates before 1/1/1000 or after 12/31/9999. For more information on 
Mac OS date and time utilities, see Inside Macintosh: Operating System Utilities, 
available at the Apple Developer website:
<http://www.apple.com/developer/>
Figure 6-1
Two-digit dates at century boundaries
91
99 00
10
90
11
Current century
Current century
Next century
Late in the century
91
99 00
10
Last century
Current century
Early in the century
Middle of the century
Years 11 - 99 are in
the current century.
Years 00 - 10 are in
the next century.
Years 00 - 99 are in
the current century.
Years 00 - 90 are in 
the current century.
Years 91- 99  are in 
the last century.
application SDK cloud:C# Excel - Excel Conversion & Rendering in C#.NET
Excel documents in .NET class applications independently, without using other external third-party dependencies like Adobe Acrobat. Excel to PDF Conversion.
www.rasteredge.com
application SDK cloud:VB.NET PowerPoint: VB Code to Draw and Create Annotation on PPT
as a kind of compensation for limitations (other documents are compatible, including PDF, TIFF, MS on slide with no more plug-ins needed like Acrobat or Adobe
www.rasteredge.com
C H A P T E R   6  
Expressions
236
Operations
5/5/99  ã Apple Computer, Inc.
Two-digit dates near the year 2000, or any century boundary, may still represent 
a problem if your script accepts two-digit dates as text from applications or 
users. Whenever your script calls on AppleScript to convert a two-digit date to 
a Date value, AppleScript converts the text representation to a full date for 
internal storage, following the rules illustrated in Figure 6-1 and summarized 
here:
n
If the current year is late in any century (years 91 to 99)
n
a date with a year value from 11 to 99 is in the current century (in 1999, for 
example, 11 = 1911 and 99 = 1999)
n
a date with a year value from 00 to 10 is in the next century (in 1999, for 
example, 03 = 2003)
n
If the current year is early in any century (years 00 to 10)
n
a date with a year value from 00 to 90 is in the current century (in 2000, for 
example, 00 = 2000, 45 = 2045, and 90 = 2090)
n
a date with a year value from 90 to 99 is in the previous century (in 2000, 
for example, 99 = 1999)
n
If the current year is in the middle of any century (years 11 to 90)
n
a date with any value for year value, from 00 to 99, is in the current 
century (in 2011, for example, 00 = 2000, 45 = 2045 and 99 = 2099)
So a script that uses nearby dates, such as for office scheduling or other 
near-term planning, can use two-digit dates with some degree of safety. 
However, a script that does long-term date calculations, such as for genealogy 
or mortgages, should require four-digit dates.
application SDK cloud:DICOM to PDF Converter | Convert DICOM to PDF, Convert PDF to
users do not need to load Adobe Acrobat or any Convert all pages or certain pages chosen by users; download & perpetual update. Start Image DICOM PDF Converting.
www.rasteredge.com
application SDK cloud:BMP to PDF Converter | Convert Bitmap to PDF, Convert PDF to BMP
for Adobe Acrobat Reader & print driver during conversion; Support conversion of Bitmap - PDF files in both single & batch mode; Convert all pages or certain
www.rasteredge.com
237
5/5/99  ã Apple Computer, Inc.
C H A P T E R   7
Control Statements
7
Figure 7-0
Listing 7-0
Table 7-0
A control statement is statement that controls when and how other statements 
are executed. Most control statements are compound statements—that is, 
statements that contain other statements.
By default, AppleScript executes the statements in a script in sequence, one after 
the other. Control statements can change the order in which AppleScript 
executes statements by causing AppleScript to repeat or skip statements or go 
to a different statement.
The first two sections in this chapter provide general information on working 
with control statements:
n
“Characteristics of Control Statements” (page 238), provides an overview of 
control statements.
n
“Debugging Control Statements” (page 239) describes how to use the Event 
Log window to help debug control statements.
The rest of the chapter describes the following AppleScript control statements:
n
“Tell Statements” (page 240) define the default target to which commands are 
sent if no direct object is specified.
n
“If Statements” (page 245) allow you to execute or skip statements based on 
the outcome of one or more tests.
n
“Repeat Statements” (page 249) allow you to repeat a series of statements.
n
“Try Statements” (page 259) allow you to handle error messages.
n
“Considering and Ignoring Statements” (page 268) allow you to consider or 
ignore certain attributes, such as case, punctuation, and white space, in string 
comparisons.
n
“With Timeout Statements” (page 272) allow you to specify how long 
AppleScript waits for an application command or scripting addition to 
complete before stopping execution of the script and returning an error.
C H A P T E R   7  
Control Statements
238
Characteristics of Control Statements
5/5/99  ã Apple Computer, Inc.
n
“With Transaction Statements” (page 275) allow you to take advantage of 
applications that support the notion of a transaction—a sequence of related 
events that should be performed as if they were a single operation.
Table A-4 (page 360) summarizes the syntax for the control statements that are 
described in this chapter.
Characteristics of Control Statements
7
Most control statements are compound statements that contain other 
statements. For example, the following Tell statement is a compound statement 
that contains two If statements.
tell application "Finder"
if (exists folder "Reports" of disk "Hard Disk") then
set reportsToPrint to (count every file ¬
of folder "Reports" of disk "Hard Disk")
else
set reportsToPrint to 0
end if -- checking for any reports to print
-- If we found any reports, print them.
if reportsToPrint > 0 then
tell application "ReportWizard"
-- Statements to print the reports.
end tell
end if -- had some reports to print
end tell
Compound statements begin with one or more reserved words, such as 
tell
in 
the example above, that identify the type of compound statement. The last line 
of a compound statement is always 
end
, which can optionally include the word 
that begins the control statement.
Control statements can contain other control statements. For example, the Tell 
statement above contains two If statements, one of which in turn contains a Set 
command. Control statements that are contained within other control 
statements are sometimes called nested control statements. 
C H A P T E R   7
Control Statements
Debugging Control Statements
239
5/5/99  ã Apple Computer, Inc.
All control statements can be compound statements. In addition, some control 
statements can be written as single statements. For example, the statement
if (x > y) then return x
is equivalent to
if (x > y) then
return x
end if
You can use a simple statement only when you’re controlling the execution of a 
single statement (such as 
return
x
in the previous example).
Debugging Control Statements
7
One technique that can be especially useful for debugging control statements is 
to use the Script Editor’s Event Log window. You open the Event Log window 
from the Controls menu or by typing Command-E. The Event Log window 
displays diagnostic information while a script is running. This information can 
help you discover and correct errors by showing the results of the script’s 
actions.
In addition to simply opening the Event Log to view the results of a script’s 
actions, you can insert log statements at strategic locations in your script. A log 
statement reports the value of one or more variables to the Event Log window.
In the following script, the statement 
log currentWord
is a debugging statement. 
It causes the current word to be displayed in the Script Editor’s Event Log 
window each time through the loop. Log statements can be very helpful in 
testing a Repeat loop or other control statement. Once the loop is working 
correctly, you can comment out or delete any log statements.
set wordList to words in "Where is the hammer?"
repeat with currentWord in wordList
log currentWord
if currentWord as text is equal to "hammer" then
display dialog "I found the hammer!"
end if
end repeat
C H A P T E R   7  
Control Statements
240
Tell Statements
5/5/99  ã Apple Computer, Inc.
This script examines a list of words with the
Repeat With (loopVariable) In (list) 
form of the Repeat statement, displaying a dialog if it finds the word “hammer” 
in the list. For more information, see “Repeat With (loopVariable) In (list)” 
(page 256).
For basic debugging techniques and a detailed description of how to use the 
Event Log window, see “Debugging Scripts” (page 47). For additional 
information on the Script Editor’s Event Log window, see the AppleScript 
section of the Mac OS Help Center.
Tell Statements 
7
Tell statements specify the default target, the object to which commands are 
sent if they do not include a direct parameter. For example, in the following Tell 
statement, the Close command does not include a direct parameter. 
tell front window of application "AppleWorks"
close
end tell
As a result, the Close command is sent to the front window, the default target 
specified in the Tell statement.
When AppleScript encounters a partial reference (a reference that does not 
specify every container of an object), it uses the default target to complete it. For 
example, in the following Tell statement, the reference 
word 3
does not specify 
all of the containers of the word object, so AppleScript completes it with the 
default target. 
tell front document of application "AppleWorks"
delete word 3 of text body
end tell
The result is that the Delete command is sent to the third word in the text body 
of the front document of AppleWorks.
A Tell statement also indicates which dictionary AppleScript should use to 
interpret words contained in the statement. For example, the previous Tell 
statement tells AppleScript to use the AppleWorks dictionary, which contains 
the definitions for the Delete command, the Word object, the Text Body object, 
Documents you may be interested
Documents you may be interested