Cover image for Practical LotusScript
Title:
Practical LotusScript
Author:
Patton, Anthony, 1969-
Personal Author:
Publication Information:
Greenwich, CT : Manning, [1999]

©1999
Physical Description:
xxii, 488 pages : illustrations ; 23 cm
General Note:
"Programming with lotus notes/domino"--Cover.

Includes index.
Language:
English
ISBN:
9781884777769
Format :
Book

Available:*

Library
Call Number
Material Type
Home Location
Status
Item Holds
Searching...
QA76.73.L66 P38 1999 Adult Non-Fiction Central Closed Stacks
Searching...

On Order

Summary

Summary

An overview that goes beyond the basics provided by other manuals to supply details on power programming with LotusScript in the Notes environment.


Author Notes

Anthony Patton, a Notes programming veteran, is a Certified Lotus Principal Application Developer and a Certified Lotus System Administrator.


Table of Contents

prefacep. xvii
how this book is organizedp. xviii
Author Onlinep. xx
special thanksp. xxi
1 Lotus Notes integrated development environmentp. 1
1.1 Chapter objectivesp. 2
1.2 Elements of the IDEp. 2
Colorsp. 4
LotusScript Helpp. 4
Errorsp. 5
Debuggingp. 5
Importing/Exportingp. 7
Printingp. 8
Limitationsp. 8
1.3 Chapter summaryp. 8
1.4 Chapter reviewp. 8
2 LotusScript basics--the foundationp. 11
2.1 Chapter objectivesp. 12
2.2 Variablesp. 13
Data Type Minimum/Maximum Valuep. 13
Declaring and using variablesp. 13
Constantsp. 14
Explicit/Implicitp. 14
Optionsp. 15
Converting from one type to anotherp. 16
The special variable type: Variantp. 17
Determining the type of a variablep. 17
2.3 Indentifiersp. 18
2.4 Loopingp. 19
Forp. 19
Dop. 20
Whilep. 21
Forallp. 22
2.5 Other methods to affect code executionp. 22
Ifp. 22
Select Casep. 23
Stopping executionp. 23
Gotop. 24
2.6 Interacting with the userp. 25
Printp. 25
MessageBoxp. 25
InputBoxp. 28
2.7 Commenting your codep. 29
2.8 Stringsp. 29
Mid(String2Change, starting_position, optional_length) = String2GetCharactersp. 30
UCase/LCase(string)p. 30
Len(String)p. 31
Trim/LTrim/RTrim(String)p. 31
Left(String)/Right(String)p. 32
Instr(optional_starting_point, string1, string2, optional_compare_method)p. 32
2.9 Format functionp. 33
2.10 Predefined constantsp. 34
2.11 UnderScore (continuation)p. 34
2.12 Chapter summaryp. 35
2.13 Chapter reviewp. 35
3 Functions and subroutinesp. 37
3.1 Chapter objectivesp. 38
3.2 Functionsp. 38
3.3 Subroutinesp. 40
Using subroutinesp. 41
Creating your own function/subroutinesp. 41
Built-in subs/functionsp. 41
3.4 Scope/visibilityp. 42
3.5 Chapter summaryp. 44
3.6 Chapter reviewp. 44
4 Objects: working with classesp. 45
4.1 Chapter objectivesp. 46
4.2 What is an object or class?p. 46
Dot notationp. 47
Defining your own classesp. 48
4.3 Designing classesp. 48
Mep. 49
Creating the classp. 49
With ... End Withp. 50
Constructors and destructorsp. 51
Using classes, creating objectsp. 52
Deletep. 53
Is, IsA, and IsObjectp. 53
Garbage collectionp. 54
Property (Get/Set)p. 54
Arrays of objectsp. 55
4.4 Front-end/back-end classesp. 56
Front-end classesp. 57
NotesUIWorkspacep. 57
NotesUIDocumentp. 57
Back-end classesp. 57
NotesSessionp. 57
NotesDatabasep. 58
NotesViewp. 58
NotesDocumentp. 58
4.5 Chapter examplep. 59
4.6 Chapter summaryp. 60
4.7 Chapter reviewp. 61
5 Working with arrays, lists, collections, and itemsp. 63
5.1 Chapter objectivesp. 64
5.2 Arraysp. 64
Forallp. 65
LotusScript statementsp. 66
Dynamic arraysp. 67
Multidimension arraysp. 69
Variationp. 70
Limitationsp. 71
5.3 Listsp. 71
ListTagp. 71
5.4 NotesDocumentCollectionp. 74
5.5 Working with response documentsp. 76
Number of documentsp. 77
Traversing a collectionp. 77
Refining a collectionp. 78
5.6 NotesItemp. 79
HasItemp. 81
5.7 Chapter examplep. 82
5.8 Chapter summaryp. 84
5.9 Chapter reviewp. 84
6 Working with filesp. 85
6.1 Chapter objectivesp. 86
6.2 Openingp. 86
Freefilep. 87
6.3 Closingp. 88
6.4 Reading/writingp. 89
Readingp. 89
Writingp. 89
EOF (filenumber)p. 90
LOF (filenumber)p. 90
LOC (filenumber)p. 90
6.5 Sequential accessp. 91
6.6 Random accessp. 94
6.7 Binary accessp. 97
6.8 Directoriesp. 98
Dirp. 98
CurDrive, ChDrive, CurDir, ChDirp. 100
More LotusScript for working with filesp. 101
6.9 NotesDBDirectory classp. 102
Methodsp. 102
6.10 Platformsp. 104
6.11 Chapter examplep. 105
6.12 Chapter summaryp. 107
6.13 Chapter reviewp. 107
7 Error processing and activity loggingp. 109
7.1 Chapter objectivesp. 110
7.2 Error trappingp. 110
Resumep. 111
Handling specific errorsp. 111
Handling user-defined errorsp. 112
Checking objects before referencingp. 112
More detailed error messagesp. 113
Err, Erl, and Errorp. 113
Scopep. 114
Logging activityp. 114
7.3 NotesLogp. 115
7.4 Setting up the NotesLog objectp. 117
Logging to a Notes databasep. 117
Logging to a text filep. 118
Logging via emailp. 118
Actionsp. 119
7.5 Errorsp. 119
Logging script activity via the agent logp. 120
7.6 Chapter summaryp. 122
7.7 Chapter reviewp. 122
8 Eventsp. 123
8.1 Chapter objectivesp. 124
8.2 Initializep. 124
8.3 Terminatep. 124
8.4 Forms/subformsp. 125
PostOpenp. 125
QueryOpenp. 126
QuerySavep. 127
QueryClosep. 128
PostRecalcp. 128
QueryModeChangep. 128
PostModeChangep. 129
WebQueryOpenp. 129
WebQuerySavep. 130
8.5 Fieldsp. 130
Enteringp. 130
Exitingp. 130
8.6 Database (located in the database script)p. 131
PostOpenp. 131
QueryDocumentDeletep. 131
PostDocumentDeletep. 132
QueryDocumentUndeletep. 132
QueryClosep. 132
8.7 Action/button/hotspotp. 132
ObjectExecutep. 132
Clickp. 132
8.8 Views/foldersp. 133
QueryOpenp. 133
PostOpenp. 133
QueryOpenDocumentp. 133
QueryRecalcp. 133
QueryAddToFolderp. 133
QueryPastep. 134
PostPastep. 134
QueryClosep. 134
8.9 Agentsp. 134
8.10 Creating your own eventsp. 134
The flow of eventsp. 136
8.11 Chapter summaryp. 140
8.12 Chapter reviewp. 140
9 Working with the ACLp. 141
9.1 Chapter objectivesp. 142
9.2 Seven levels of access in the ACL.p. 142
Managerp. 142
Designerp. 142
Editorp. 142
Authorp. 143
Readerp. 143
Depositorp. 143
No Accessp. 143
9.3 NotesACL classp. 146
9.4 NotesACLEntry Classp. 147
9.5 Rolesp. 150
9.6 UniformAccessp. 153
9.7 Chapter summaryp. 153
9.8 Chapter reviewp. 154
10 NotesItemp. 155
10.1 Chapter objectivesp. 156
10.2 NotesItem classp. 156
Creating itemsp. 156
Removing an itemp. 157
Copying an itemp. 158
Checking for a valuep. 160
10.3 NotesItem object and its valuesp. 161
GetFirstItemp. 161
GetItemValuep. 161
Checking Valuesp. 162
Other propertiesp. 162
NotesRichTextItemp. 163
Accessingp. 164
10.4 Working with textp. 166
NotesRichTextStylep. 167
10.5 Chapter summaryp. 171
10.6 Chapter reviewp. 171
11 Embedded objects and OLEp. 173
11.1 Chapter objectivesp. 174
11.2 Attachmentsp. 174
Creating an attachmentp. 174
11.3 OLEp. 179
Linkingp. 180
Embeddingp. 180
OLE Automationp. 180
11.4 Creating embedded OLE objectsp. 181
Creating an objectp. 182
FYIp. 184
11.5 Creating a linked objectp. 184
Editing an objectp. 184
11.6 Deleting objectsp. 185
11.7 Chapter summaryp. 186
11.8 Chapter reviewp. 187
12 Office 97p. 189
12.1 Chapter objectivesp. 190
12.2 Object browser revisitedp. 190
12.3 Microsoft Officep. 190
Microsoft Wordp. 191
Microsoft Excelp. 196
Microsoft PowerPointp. 200
Microsoft Outlookp. 200
12.4 Performance considerationsp. 203
12.5 Accessing Lotus Notes from Visual Basicp. 204
12.6 Chapter summaryp. 205
12.7 Chapter reviewp. 205
13 Searchingp. 207
13.1 Chapter objectivesp. 208
13.2 Full-text indexingp. 208
Resultsp. 208
Search string rulesp. 209
Logical operatorsp. 209
Trimming a collectionp. 211
13.3 Searching a viewp. 211
FTSearchp. 211
GetAllDocumentsByKeyp. 212
GetDocumentByKeyp. 213
13.4 Searching a databasep. 213
FTSearch/UnprocessedFTSearchp. 213
Search/UnprocessedSearchp. 215
Creating a full-text indexp. 216
13.5 Chapter summaryp. 217
13.6 Chapter reviewp. 217
14 Reportsp. 219
14.1 Chapter objectivesp. 220
14.2 Reports as documentsp. 220
Emailp. 222
Scheduledp. 223
Selective/custom reportsp. 223
MessageBoxp. 224
Form as a Front-Endp. 224
Newsletterp. 230
14.3 Chapter summaryp. 233
14.4 Chapter reviewp. 233
15 LotusScript data objectsp. 235
15.1 Chapter objectivesp. 236
15.2 Domino.Connectp. 236
LS:DOp. 237
ODBCp. 237
15.3 SQLp. 238
Selectp. 238
Fromp. 238
Wherep. 238
15.4 ODBCConnectionp. 239
15.5 ODBCQueryp. 241
15.6 ODBCResultSetp. 241
15.7 Handling errorsp. 242
On Errorp. 244
15.8 Accessing data in a result setp. 244
15.9 Adding/deleting recordsp. 246
15.10 Domino.Connectp. 248
15.11 NotesSQLp. 248
15.12 Chapter summaryp. 249
15.13 Chapter reviewp. 249
16 Working with date/time valuesp. 251
16.1 Chapter objectivesp. 252
16.2 LotusScriptp. 252
16.3 Extracting portions of time/date valuesp. 253
16.4 NotesDateTime classp. 255
16.5 Methodsp. 256
Creating a NotesDateTime objectp. 259
NotesDateRange classp. 260
Year 2000 issuesp. 261
NotesInternational classp. 264
Propertiesp. 264
16.6 Chapter summaryp. 266
16.7 Chapter reviewp. 267
17 Working outside the Domino/Notes environmentp. 269
17.1 Chapter objectivesp. 270
17.2 Shellp. 270
Declarep. 272
Windows 95/NTp. 273
ActivateAppp. 274
Evaluatep. 275
17.3 Chapter summaryp. 277
17.4 Chapter reviewp. 277
18 LotusScript and the Webp. 279
18.1 Chapter objectivesp. 280
18.2 Printp. 280
18.3 Browsersp. 280
18.4 Environment variablesp. 281
DocumentContextp. 282
18.5 Query_Stringp. 283
Eventsp. 286
WebQueryOpenp. 287
WebQuerySavep. 287
Executing agentsp. 287
Web Navigator database(s)p. 287
18.6 Chapter summaryp. 288
18.7 Chapter reviewp. 288
19 Input validation, NotesAgent class, and script librariesp. 291
19.1 Chapter objectivesp. 292
19.2 Validationp. 292
Input validationp. 292
QuerySave eventp. 292
Field exit eventp. 293
Unique valuesp. 294
ComputeWithFormp. 295
19.3 NotesAgent classp. 296
19.4 RunOnServerp. 298
19.5 Script librariesp. 299
Using script librariesp. 300
19.6 Chapter summaryp. 300
19.7 Chapter reviewp. 301
20 Notes 5.0p. 303
20.1 Chapter objectivesp. 304
20.2 Integrated development environmentp. 305
Performancep. 306
Forward referencesp. 308
Variable typesp. 309
Threadsp. 309
Classesp. 309
NotesOutlinep. 309
NotesOutlineEntryp. 311
NotesOutline class methodsp. 312
NotesOutlineEntry class propertiesp. 313
NotesUIWorkspacep. 313
User interactionp. 314
File openp. 314
PickListsp. 314
Promptp. 315
Spelling checkerp. 316
NotesDocumentCollectionp. 317
Generating HTMLp. 318
NotesReplicationp. 318
Replicating a databasep. 320
NotesRichTextTabp. 321
NotesRichTextParagraphStylep. 321
NotesViewEntryCollectionp. 323
NotesUIViewp. 324
NotesUIDatabasep. 325
NotesAgentp. 325
NotesACL/NotesACLEntryp. 326
Eventsp. 326
Viewp. 326
Documentp. 327
20.3 Other enhancementsp. 327
20.4 Chapter summaryp. 327
20.5 Chapter reviewp. 328
21 Working with NotesPumpp. 329
21.1 Chapter objectivesp. 330
21.2 NotesPump classesp. 330
NPActivityp. 331
Creating an NPActivityp. 331
Deleting an NPActivity objectp. 332
NPConnectp. 332
Methodsp. 332
Creating an NPConnect objectp. 333
Deleting an NPConnect objectp. 333
21.3 NPFieldListp. 333
Propertiesp. 333
Methodsp. 333
Creating an NPFieldList objectp. 334
Deleting an NPFieldList objectp. 334
21.4 NPFieldp. 336
Methodsp. 336
Creating an NPField objectp. 336
Deleting an NPField objectp. 337
21.5 Data typesp. 341
21.6 Conclusionp. 341
appendix A Notes/Domino constantsp. 343
appendix B Notes/Domino classesp. 358
appendix C LotusScript keywordsp. 474
indexp. 481