MTU Library Catalogue

Syndetics cover image
Image from Syndetics

Practical LotusScript / Anthony Patton.

By: Patton, Anthony, 1969-.
Material type: materialTypeLabelBookPublisher: Greenwich, CT : Manning, c1999Description: xxii, 488 p. : ill. ; 23 cm. + pbk.ISBN: 1884777767 .Subject(s): LotusScript (Computer program language)DDC classification: 005.36
Contents:
Lotus Notes integrated development environment -- LotusScript basics-the foundation -- Functions and subroutines -- Objects : working with classes -- Working with arrays, lists, collections, and items -- Working with files -- Error processing and activity logging -- Events -- Working with the ACL -- NotesItem -- Embedded objects and OLE -- Office 97 -- Searching -- Reports -- LotusScript data objects -- Working with date/time values -- Working outside the domino/Notes environment -- LotusScript and the web -- Input validation, NotesAgent class, and script libraries -- Notes 5.0 -- Working with NotesPump.

Enhanced descriptions from Syndetics:

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

"Programming with lotus notes/domino"--Cover.
Includes index.

Lotus Notes integrated development environment -- LotusScript basics-the foundation -- Functions and subroutines -- Objects : working with classes -- Working with arrays, lists, collections, and items -- Working with files -- Error processing and activity logging -- Events -- Working with the ACL -- NotesItem -- Embedded objects and OLE -- Office 97 -- Searching -- Reports -- LotusScript data objects -- Working with date/time values -- Working outside the domino/Notes environment -- LotusScript and the web -- Input validation, NotesAgent class, and script libraries -- Notes 5.0 -- Working with NotesPump.

Table of contents provided by Syndetics

  • preface (p. xvii)
  • how this book is organized (p. xviii)
  • Author Online (p. xx)
  • special thanks (p. xxi)
  • 1 Lotus Notes integrated development environment (p. 1)
  • 1.1 Chapter objectives (p. 2)
  • 1.2 Elements of the IDE (p. 2)
  • Colors (p. 4)
  • LotusScript Help (p. 4)
  • Errors (p. 5)
  • Debugging (p. 5)
  • Importing/Exporting (p. 7)
  • Printing (p. 8)
  • Limitations (p. 8)
  • 1.3 Chapter summary (p. 8)
  • 1.4 Chapter review (p. 8)
  • 2 LotusScript basics--the foundation (p. 11)
  • 2.1 Chapter objectives (p. 12)
  • 2.2 Variables (p. 13)
  • Data Type Minimum/Maximum Value (p. 13)
  • Declaring and using variables (p. 13)
  • Constants (p. 14)
  • Explicit/Implicit (p. 14)
  • Options (p. 15)
  • Converting from one type to another (p. 16)
  • The special variable type: Variant (p. 17)
  • Determining the type of a variable (p. 17)
  • 2.3 Indentifiers (p. 18)
  • 2.4 Looping (p. 19)
  • For (p. 19)
  • Do (p. 20)
  • While (p. 21)
  • Forall (p. 22)
  • 2.5 Other methods to affect code execution (p. 22)
  • If (p. 22)
  • Select Case (p. 23)
  • Stopping execution (p. 23)
  • Goto (p. 24)
  • 2.6 Interacting with the user (p. 25)
  • Print (p. 25)
  • MessageBox (p. 25)
  • InputBox (p. 28)
  • 2.7 Commenting your code (p. 29)
  • 2.8 Strings (p. 29)
  • Mid(String2Change, starting_position, optional_length) = String2GetCharacters (p. 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 function (p. 33)
  • 2.10 Predefined constants (p. 34)
  • 2.11 UnderScore (continuation) (p. 34)
  • 2.12 Chapter summary (p. 35)
  • 2.13 Chapter review (p. 35)
  • 3 Functions and subroutines (p. 37)
  • 3.1 Chapter objectives (p. 38)
  • 3.2 Functions (p. 38)
  • 3.3 Subroutines (p. 40)
  • Using subroutines (p. 41)
  • Creating your own function/subroutines (p. 41)
  • Built-in subs/functions (p. 41)
  • 3.4 Scope/visibility (p. 42)
  • 3.5 Chapter summary (p. 44)
  • 3.6 Chapter review (p. 44)
  • 4 Objects: working with classes (p. 45)
  • 4.1 Chapter objectives (p. 46)
  • 4.2 What is an object or class? (p. 46)
  • Dot notation (p. 47)
  • Defining your own classes (p. 48)
  • 4.3 Designing classes (p. 48)
  • Me (p. 49)
  • Creating the class (p. 49)
  • With ... End With (p. 50)
  • Constructors and destructors (p. 51)
  • Using classes, creating objects (p. 52)
  • Delete (p. 53)
  • Is, IsA, and IsObject (p. 53)
  • Garbage collection (p. 54)
  • Property (Get/Set) (p. 54)
  • Arrays of objects (p. 55)
  • 4.4 Front-end/back-end classes (p. 56)
  • Front-end classes (p. 57)
  • NotesUIWorkspace (p. 57)
  • NotesUIDocument (p. 57)
  • Back-end classes (p. 57)
  • NotesSession (p. 57)
  • NotesDatabase (p. 58)
  • NotesView (p. 58)
  • NotesDocument (p. 58)
  • 4.5 Chapter example (p. 59)
  • 4.6 Chapter summary (p. 60)
  • 4.7 Chapter review (p. 61)
  • 5 Working with arrays, lists, collections, and items (p. 63)
  • 5.1 Chapter objectives (p. 64)
  • 5.2 Arrays (p. 64)
  • Forall (p. 65)
  • LotusScript statements (p. 66)
  • Dynamic arrays (p. 67)
  • Multidimension arrays (p. 69)
  • Variation (p. 70)
  • Limitations (p. 71)
  • 5.3 Lists (p. 71)
  • ListTag (p. 71)
  • 5.4 NotesDocumentCollection (p. 74)
  • 5.5 Working with response documents (p. 76)
  • Number of documents (p. 77)
  • Traversing a collection (p. 77)
  • Refining a collection (p. 78)
  • 5.6 NotesItem (p. 79)
  • HasItem (p. 81)
  • 5.7 Chapter example (p. 82)
  • 5.8 Chapter summary (p. 84)
  • 5.9 Chapter review (p. 84)
  • 6 Working with files (p. 85)
  • 6.1 Chapter objectives (p. 86)
  • 6.2 Opening (p. 86)
  • Freefile (p. 87)
  • 6.3 Closing (p. 88)
  • 6.4 Reading/writing (p. 89)
  • Reading (p. 89)
  • Writing (p. 89)
  • EOF (filenumber) (p. 90)
  • LOF (filenumber) (p. 90)
  • LOC (filenumber) (p. 90)
  • 6.5 Sequential access (p. 91)
  • 6.6 Random access (p. 94)
  • 6.7 Binary access (p. 97)
  • 6.8 Directories (p. 98)
  • Dir (p. 98)
  • CurDrive, ChDrive, CurDir, ChDir (p. 100)
  • More LotusScript for working with files (p. 101)
  • 6.9 NotesDBDirectory class (p. 102)
  • Methods (p. 102)
  • 6.10 Platforms (p. 104)
  • 6.11 Chapter example (p. 105)
  • 6.12 Chapter summary (p. 107)
  • 6.13 Chapter review (p. 107)
  • 7 Error processing and activity logging (p. 109)
  • 7.1 Chapter objectives (p. 110)
  • 7.2 Error trapping (p. 110)
  • Resume (p. 111)
  • Handling specific errors (p. 111)
  • Handling user-defined errors (p. 112)
  • Checking objects before referencing (p. 112)
  • More detailed error messages (p. 113)
  • Err, Erl, and Error (p. 113)
  • Scope (p. 114)
  • Logging activity (p. 114)
  • 7.3 NotesLog (p. 115)
  • 7.4 Setting up the NotesLog object (p. 117)
  • Logging to a Notes database (p. 117)
  • Logging to a text file (p. 118)
  • Logging via email (p. 118)
  • Actions (p. 119)
  • 7.5 Errors (p. 119)
  • Logging script activity via the agent log (p. 120)
  • 7.6 Chapter summary (p. 122)
  • 7.7 Chapter review (p. 122)
  • 8 Events (p. 123)
  • 8.1 Chapter objectives (p. 124)
  • 8.2 Initialize (p. 124)
  • 8.3 Terminate (p. 124)
  • 8.4 Forms/subforms (p. 125)
  • PostOpen (p. 125)
  • QueryOpen (p. 126)
  • QuerySave (p. 127)
  • QueryClose (p. 128)
  • PostRecalc (p. 128)
  • QueryModeChange (p. 128)
  • PostModeChange (p. 129)
  • WebQueryOpen (p. 129)
  • WebQuerySave (p. 130)
  • 8.5 Fields (p. 130)
  • Entering (p. 130)
  • Exiting (p. 130)
  • 8.6 Database (located in the database script) (p. 131)
  • PostOpen (p. 131)
  • QueryDocumentDelete (p. 131)
  • PostDocumentDelete (p. 132)
  • QueryDocumentUndelete (p. 132)
  • QueryClose (p. 132)
  • 8.7 Action/button/hotspot (p. 132)
  • ObjectExecute (p. 132)
  • Click (p. 132)
  • 8.8 Views/folders (p. 133)
  • QueryOpen (p. 133)
  • PostOpen (p. 133)
  • QueryOpenDocument (p. 133)
  • QueryRecalc (p. 133)
  • QueryAddToFolder (p. 133)
  • QueryPaste (p. 134)
  • PostPaste (p. 134)
  • QueryClose (p. 134)
  • 8.9 Agents (p. 134)
  • 8.10 Creating your own events (p. 134)
  • The flow of events (p. 136)
  • 8.11 Chapter summary (p. 140)
  • 8.12 Chapter review (p. 140)
  • 9 Working with the ACL (p. 141)
  • 9.1 Chapter objectives (p. 142)
  • 9.2 Seven levels of access in the ACL. (p. 142)
  • Manager (p. 142)
  • Designer (p. 142)
  • Editor (p. 142)
  • Author (p. 143)
  • Reader (p. 143)
  • Depositor (p. 143)
  • No Access (p. 143)
  • 9.3 NotesACL class (p. 146)
  • 9.4 NotesACLEntry Class (p. 147)
  • 9.5 Roles (p. 150)
  • 9.6 UniformAccess (p. 153)
  • 9.7 Chapter summary (p. 153)
  • 9.8 Chapter review (p. 154)
  • 10 NotesItem (p. 155)
  • 10.1 Chapter objectives (p. 156)
  • 10.2 NotesItem class (p. 156)
  • Creating items (p. 156)
  • Removing an item (p. 157)
  • Copying an item (p. 158)
  • Checking for a value (p. 160)
  • 10.3 NotesItem object and its values (p. 161)
  • GetFirstItem (p. 161)
  • GetItemValue (p. 161)
  • Checking Values (p. 162)
  • Other properties (p. 162)
  • NotesRichTextItem (p. 163)
  • Accessing (p. 164)
  • 10.4 Working with text (p. 166)
  • NotesRichTextStyle (p. 167)
  • 10.5 Chapter summary (p. 171)
  • 10.6 Chapter review (p. 171)
  • 11 Embedded objects and OLE (p. 173)
  • 11.1 Chapter objectives (p. 174)
  • 11.2 Attachments (p. 174)
  • Creating an attachment (p. 174)
  • 11.3 OLE (p. 179)
  • Linking (p. 180)
  • Embedding (p. 180)
  • OLE Automation (p. 180)
  • 11.4 Creating embedded OLE objects (p. 181)
  • Creating an object (p. 182)
  • FYI (p. 184)
  • 11.5 Creating a linked object (p. 184)
  • Editing an object (p. 184)
  • 11.6 Deleting objects (p. 185)
  • 11.7 Chapter summary (p. 186)
  • 11.8 Chapter review (p. 187)
  • 12 Office 97 (p. 189)
  • 12.1 Chapter objectives (p. 190)
  • 12.2 Object browser revisited (p. 190)
  • 12.3 Microsoft Office (p. 190)
  • Microsoft Word (p. 191)
  • Microsoft Excel (p. 196)
  • Microsoft PowerPoint (p. 200)
  • Microsoft Outlook (p. 200)
  • 12.4 Performance considerations (p. 203)
  • 12.5 Accessing Lotus Notes from Visual Basic (p. 204)
  • 12.6 Chapter summary (p. 205)
  • 12.7 Chapter review (p. 205)
  • 13 Searching (p. 207)
  • 13.1 Chapter objectives (p. 208)
  • 13.2 Full-text indexing (p. 208)
  • Results (p. 208)
  • Search string rules (p. 209)
  • Logical operators (p. 209)
  • Trimming a collection (p. 211)
  • 13.3 Searching a view (p. 211)
  • FTSearch (p. 211)
  • GetAllDocumentsByKey (p. 212)
  • GetDocumentByKey (p. 213)
  • 13.4 Searching a database (p. 213)
  • FTSearch/UnprocessedFTSearch (p. 213)
  • Search/UnprocessedSearch (p. 215)
  • Creating a full-text index (p. 216)
  • 13.5 Chapter summary (p. 217)
  • 13.6 Chapter review (p. 217)
  • 14 Reports (p. 219)
  • 14.1 Chapter objectives (p. 220)
  • 14.2 Reports as documents (p. 220)
  • Email (p. 222)
  • Scheduled (p. 223)
  • Selective/custom reports (p. 223)
  • MessageBox (p. 224)
  • Form as a Front-End (p. 224)
  • Newsletter (p. 230)
  • 14.3 Chapter summary (p. 233)
  • 14.4 Chapter review (p. 233)
  • 15 LotusScript data objects (p. 235)
  • 15.1 Chapter objectives (p. 236)
  • 15.2 Domino.Connect (p. 236)
  • LS:DO (p. 237)
  • ODBC (p. 237)
  • 15.3 SQL (p. 238)
  • Select (p. 238)
  • From (p. 238)
  • Where (p. 238)
  • 15.4 ODBCConnection (p. 239)
  • 15.5 ODBCQuery (p. 241)
  • 15.6 ODBCResultSet (p. 241)
  • 15.7 Handling errors (p. 242)
  • On Error (p. 244)
  • 15.8 Accessing data in a result set (p. 244)
  • 15.9 Adding/deleting records (p. 246)
  • 15.10 Domino.Connect (p. 248)
  • 15.11 NotesSQL (p. 248)
  • 15.12 Chapter summary (p. 249)
  • 15.13 Chapter review (p. 249)
  • 16 Working with date/time values (p. 251)
  • 16.1 Chapter objectives (p. 252)
  • 16.2 LotusScript (p. 252)
  • 16.3 Extracting portions of time/date values (p. 253)
  • 16.4 NotesDateTime class (p. 255)
  • 16.5 Methods (p. 256)
  • Creating a NotesDateTime object (p. 259)
  • NotesDateRange class (p. 260)
  • Year 2000 issues (p. 261)
  • NotesInternational class (p. 264)
  • Properties (p. 264)
  • 16.6 Chapter summary (p. 266)
  • 16.7 Chapter review (p. 267)
  • 17 Working outside the Domino/Notes environment (p. 269)
  • 17.1 Chapter objectives (p. 270)
  • 17.2 Shell (p. 270)
  • Declare (p. 272)
  • Windows 95/NT (p. 273)
  • ActivateApp (p. 274)
  • Evaluate (p. 275)
  • 17.3 Chapter summary (p. 277)
  • 17.4 Chapter review (p. 277)
  • 18 LotusScript and the Web (p. 279)
  • 18.1 Chapter objectives (p. 280)
  • 18.2 Print (p. 280)
  • 18.3 Browsers (p. 280)
  • 18.4 Environment variables (p. 281)
  • DocumentContext (p. 282)
  • 18.5 Query_String (p. 283)
  • Events (p. 286)
  • WebQueryOpen (p. 287)
  • WebQuerySave (p. 287)
  • Executing agents (p. 287)
  • Web Navigator database(s) (p. 287)
  • 18.6 Chapter summary (p. 288)
  • 18.7 Chapter review (p. 288)
  • 19 Input validation, NotesAgent class, and script libraries (p. 291)
  • 19.1 Chapter objectives (p. 292)
  • 19.2 Validation (p. 292)
  • Input validation (p. 292)
  • QuerySave event (p. 292)
  • Field exit event (p. 293)
  • Unique values (p. 294)
  • ComputeWithForm (p. 295)
  • 19.3 NotesAgent class (p. 296)
  • 19.4 RunOnServer (p. 298)
  • 19.5 Script libraries (p. 299)
  • Using script libraries (p. 300)
  • 19.6 Chapter summary (p. 300)
  • 19.7 Chapter review (p. 301)
  • 20 Notes 5.0 (p. 303)
  • 20.1 Chapter objectives (p. 304)
  • 20.2 Integrated development environment (p. 305)
  • Performance (p. 306)
  • Forward references (p. 308)
  • Variable types (p. 309)
  • Threads (p. 309)
  • Classes (p. 309)
  • NotesOutline (p. 309)
  • NotesOutlineEntry (p. 311)
  • NotesOutline class methods (p. 312)
  • NotesOutlineEntry class properties (p. 313)
  • NotesUIWorkspace (p. 313)
  • User interaction (p. 314)
  • File open (p. 314)
  • PickLists (p. 314)
  • Prompt (p. 315)
  • Spelling checker (p. 316)
  • NotesDocumentCollection (p. 317)
  • Generating HTML (p. 318)
  • NotesReplication (p. 318)
  • Replicating a database (p. 320)
  • NotesRichTextTab (p. 321)
  • NotesRichTextParagraphStyle (p. 321)
  • NotesViewEntryCollection (p. 323)
  • NotesUIView (p. 324)
  • NotesUIDatabase (p. 325)
  • NotesAgent (p. 325)
  • NotesACL/NotesACLEntry (p. 326)
  • Events (p. 326)
  • View (p. 326)
  • Document (p. 327)
  • 20.3 Other enhancements (p. 327)
  • 20.4 Chapter summary (p. 327)
  • 20.5 Chapter review (p. 328)
  • 21 Working with NotesPump (p. 329)
  • 21.1 Chapter objectives (p. 330)
  • 21.2 NotesPump classes (p. 330)
  • NPActivity (p. 331)
  • Creating an NPActivity (p. 331)
  • Deleting an NPActivity object (p. 332)
  • NPConnect (p. 332)
  • Methods (p. 332)
  • Creating an NPConnect object (p. 333)
  • Deleting an NPConnect object (p. 333)
  • 21.3 NPFieldList (p. 333)
  • Properties (p. 333)
  • Methods (p. 333)
  • Creating an NPFieldList object (p. 334)
  • Deleting an NPFieldList object (p. 334)
  • 21.4 NPField (p. 336)
  • Methods (p. 336)
  • Creating an NPField object (p. 336)
  • Deleting an NPField object (p. 337)
  • 21.5 Data types (p. 341)
  • 21.6 Conclusion (p. 341)
  • appendix A Notes/Domino constants (p. 343)
  • appendix B Notes/Domino classes (p. 358)
  • appendix C LotusScript keywords (p. 474)
  • index (p. 481)

Author notes provided by Syndetics

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