[ver]
	4
[sty]
	
[files]
[charset]
	82
	ANSI (Windows, IBM CP 1252)
[revisions]
	0
[sequence]
	76
	0
	0
	0
	23
	4
	Numbered list
	0
	Bullet
	0
	Indnt bullet
	0
	Indnt caution
	0
	Indnt tip
	0
	Indnt note
	0
	Caution
	0
	Tip
	0
	Note
	0
	Browse
	0
	Keyword
	0
	Context
	0
	Title
	0
	Macros
	0
	Alink
	0
	Butnbar
	0
	Window
	0
	Win95 macros
	0
	Win31 macros
	0
	Build tag
	0
	_COND_IF
	0
	_COND_ELSE
	0
	_COND_ENDIF
[prn]
	Apple LaserWriter II NTX
[port]
	LPT3:
[lang]
	1
[fldnames]
	Field1
	Field2
	Field3
	Field4
	Field5
	Field6
	Field7
	Field8
[desc]
	
	
	
	
	
	801526836
	3
	801524241
	2
	8
	0
	0
	0
	0
	
	
	
	
	
	
	1
[fopts]
	0
	1
	0
	0
	
	
[lnopts]
	2
	Body Text
	1
[docopts]
	5
	2
[GramStyle]
	
[ParaNum]
	1
[tag]
	Body Text
	2
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		0
		0
	[spc]
		24
		200
		4
		19
		60
		3
		100
	[brk]
		100
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	Body Text
	5
	1
	480
	1
	960
	1
	1440
	1
	1920
	1
	2400
	0
[tag]
	Ahead
	3
	[fnt]
		Arial
		220
		0
		16385
	[algn]
		1
		3
		0
		0
		0
	[spc]
		40
		240
		4
		79
		40
		3
		100
	[brk]
		112
	[line]
		16
		2160
		3
		0
		1
		1
		1
		65
		10
		1
	[spec]
		0
		1
		
		0
		1
		1
		0
		2
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		wr
	Body Text
	0
	0
[tag]
	Bhead title
	4
	[fnt]
		Arial
		200
		0
		16385
	[algn]
		1
		1
		0
		0
		0
	[spc]
		40
		220
		4
		79
		40
		3
		100
	[brk]
		80
	[line]
		16
		0
		3
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		2
		
		0
		1
		1
		0
		2
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Body Text
	0
	0
[tag]
	Chead title
	5
	[fnt]
		Arial
		180
		0
		16385
	[algn]
		1
		3
		0
		0
		0
	[spc]
		40
		200
		4
		79
		40
		3
		100
	[brk]
		112
	[line]
		16
		0
		3
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		wr
	Body Text
	0
	0
[tag]
	Bhead
	6
	[fnt]
		Arial
		200
		0
		16385
	[algn]
		1
		1
		0
		0
		0
	[spc]
		40
		220
		4
		180
		0
		3
		100
	[brk]
		68
	[line]
		16
		0
		3
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		2
		
		0
		1
		1
		0
		2
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Body Text
	0
	0
[tag]
	Chead
	7
	[fnt]
		Arial
		180
		0
		16385
	[algn]
		1
		3
		0
		0
		0
	[spc]
		40
		200
		4
		100
		0
		3
		100
	[brk]
		68
	[line]
		16
		0
		3
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		3
		
		0
		1
		1
		0
		2
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Body Text
	0
	0
[tag]
	Numbered list
	8
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		300
		300
	[spc]
		40
		200
		4
		19
		60
		3
		100
	[brk]
		36
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		5
		<*:>.
		0
		3
		1
		0
		18
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Numbered list
	0
	0
[tag]
	1st lev para
	9
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		300
		0
		0
	[spc]
		40
		200
		4
		19
		60
		3
		100
	[brk]
		68
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	1st lev para
	0
	0
[tag]
	Bullet
	11
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		300
		300
	[spc]
		40
		200
		4
		19
		60
		3
		100
	[brk]
		36
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		<*1> 
		0
		3
		1
		0
		16
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Bullet
	2
	1
	160
	1
	400
	0
[tag]
	Indnt bullet
	12
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		600
		600
	[spc]
		40
		200
		4
		19
		60
		3
		100
	[brk]
		100
	[line]
		16
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		<*1> 
		0
		3
		1
		0
		16
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Indnt bullet
	0
	0
[tag]
	2nd lev para
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		600
		0
		0
	[spc]
		40
		200
		4
		19
		60
		3
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	2nd lev para
	0
	0
[tag]
	See also prnt
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		0
		0
	[spc]
		24
		200
		4
		19
		60
		3
		100
	[brk]
		36
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	See also prnt
	5
	1
	480
	1
	960
	1
	1440
	1
	1920
	1
	2400
	0
[tag]
	Book art
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		0
		0
	[spc]
		24
		200
		4
		19
		60
		3
		100
	[brk]
		36
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	Book art
	5
	1
	480
	1
	960
	1
	1440
	1
	1920
	1
	2400
	0
[tag]
	Callout text
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		0
		0
	[spc]
		24
		200
		4
		19
		60
		3
		100
	[brk]
		36
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	Callout text
	5
	1
	480
	1
	960
	1
	1440
	1
	1920
	1
	2400
	0
[tag]
	Figure title
	0
	[fnt]
		Arial
		180
		0
		16385
	[algn]
		1
		3
		0
		0
		0
	[spc]
		40
		200
		4
		40
		60
		3
		100
	[brk]
		4
	[line]
		16
		0
		3
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Figure title
	0
	0
[tag]
	Chapter title
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		0
		0
	[spc]
		24
		200
		4
		19
		60
		3
		100
	[brk]
		36
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		3
		
		0
		1
		1
		0
		2
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	Chapter title
	5
	1
	480
	1
	960
	1
	1440
	1
	1920
	1
	2400
	0
[tag]
	1st pg foot
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		0
		0
	[spc]
		24
		200
		4
		19
		60
		3
		100
	[brk]
		36
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	1st pg foot
	5
	1
	480
	1
	960
	1
	1440
	1
	1920
	1
	2400
	0
[tag]
	Right pg foot
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		0
		0
	[spc]
		24
		200
		4
		19
		60
		3
		100
	[brk]
		36
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	Right pg foot
	5
	1
	480
	1
	960
	1
	1440
	1
	1920
	1
	2400
	0
[tag]
	Left pg foot
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		0
		0
	[spc]
		24
		200
		4
		19
		60
		3
		100
	[brk]
		36
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	Left pg foot
	5
	1
	480
	1
	960
	1
	1440
	1
	1920
	1
	2400
	0
[tag]
	Table title
	0
	[fnt]
		Arial
		180
		0
		16385
	[algn]
		1
		3
		0
		0
		0
	[spc]
		40
		200
		4
		60
		0
		3
		100
	[brk]
		4
	[line]
		16
		0
		3
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		7
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Table title
	0
	0
[tag]
	Table col hd
	0
	[fnt]
		Arial
		180
		0
		16385
	[algn]
		1
		3
		0
		0
		0
	[spc]
		40
		200
		4
		100
		0
		3
		100
	[brk]
		4
	[line]
		10
		0
		3
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		6
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		256
		1
		0
		
		
		
	Table col hd
	0
	0
[tag]
	Table Text
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		1
		0
		0
		0
	[spc]
		40
		200
		4
		79
		0
		3
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		256
		1
		0
		
		
		
	Table Text
	0
	0
[tag]
	See also hlp
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		0
		0
	[spc]
		40
		200
		4
		180
		0
		3
		100
	[brk]
		48
	[line]
		9
		0
		3
		0
		1
		1
		1
		70
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	See also hlp
	0
	120
[tag]
	See also btn
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		0
		240
	[spc]
		24
		200
		4
		0
		60
		3
		100
	[brk]
		36
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	See also btn
	5
	1
	480
	1
	960
	1
	1440
	1
	1920
	1
	2400
	0
[tag]
	Crossref
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		513
		3
		0
		300
		600
	[spc]
		24
		200
		4
		19
		0
		3
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Crossref
	0
	0
[tag]
	Indnt caution
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		300
		0
		0
	[spc]
		40
		200
		4
		19
		60
		3
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		Caution 
		0
		1
		1
		1
		0
		0
		0
	[nfmt]
		256
		1
		2
		.
		,
		$
	Indnt caution
	0
	0
[tag]
	Indnt tip
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		300
		0
		0
	[spc]
		40
		200
		4
		19
		60
		3
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		Tip 
		0
		1
		1
		1
		0
		0
		0
	[nfmt]
		256
		1
		2
		.
		,
		$
	Indnt tip
	0
	0
[tag]
	Indnt note
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		300
		0
		0
	[spc]
		40
		200
		4
		19
		60
		3
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		Note 
		0
		1
		1
		1
		0
		0
		0
	[nfmt]
		256
		1
		2
		.
		,
		$
	Indnt note
	0
	0
[tag]
	Caution
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		0
		0
	[spc]
		40
		200
		4
		19
		60
		3
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		Caution 
		0
		1
		1
		1
		0
		0
		0
	[nfmt]
		256
		1
		2
		.
		,
		$
	Caution
	0
	0
[tag]
	Tip
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		0
		0
	[spc]
		40
		200
		4
		19
		60
		3
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		Tip 
		0
		1
		1
		1
		0
		0
		0
	[nfmt]
		256
		1
		2
		.
		,
		$
	Tip
	0
	0
[tag]
	Note
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		0
		0
	[spc]
		40
		200
		4
		19
		60
		3
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		Note 
		0
		1
		1
		1
		0
		0
		0
	[nfmt]
		256
		1
		2
		.
		,
		$
	Note
	0
	0
[tag]
	Mono
	0
	[fnt]
		Courier New
		180
		0
		32768
	[algn]
		1
		3
		0
		0
		0
	[spc]
		24
		200
		4
		19
		60
		3
		100
	[brk]
		32
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	Mono
	15
	1
	480
	1
	960
	1
	1440
	1
	1920
	1
	2400
	1
	2880
	1
	3360
	1
	3840
	1
	4320
	1
	4800
	1
	5280
	1
	5760
	1
	6240
	1
	6720
	1
	7200
	0
[tag]
	Indnt mono
	0
	[fnt]
		Courier New
		180
		0
		32768
	[algn]
		1
		3
		300
		0
		0
	[spc]
		24
		200
		4
		19
		60
		3
		100
	[brk]
		32
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	Indnt mono
	15
	1
	480
	1
	960
	1
	1440
	1
	1920
	1
	2400
	1
	2880
	1
	3360
	1
	3840
	1
	4320
	1
	4800
	1
	5280
	1
	5760
	1
	6240
	1
	6720
	1
	7200
	0
[tag]
	Dhead
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		0
		0
	[spc]
		40
		200
		4
		19
		60
		3
		100
	[brk]
		4
	[line]
		16
		0
		3
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		
		0
		1
		1
		0
		2
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Dhead
	0
	0
[tag]
	Parameter
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		0
		0
	[spc]
		24
		200
		4
		19
		0
		3
		100
	[brk]
		100
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	1st lev para
	5
	1
	480
	1
	960
	1
	1440
	1
	1920
	1
	2400
	0
[tag]
	Formula
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		0
		0
	[spc]
		24
		200
		4
		19
		60
		3
		100
	[brk]
		36
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	Formula
	0
	0
[tag]
	Browse
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		139
		139
	[spc]
		24
		200
		4
		0
		0
		3
		100
	[brk]
		4
	[line]
		16
		0
		3
		0
		1
		2
		2
		20
		20
		1
	[spec]
		0
		0
		+
		0
		3
		1
		256
		1
		0
		0
	[nfmt]
		280
		1
		3
		.
		,
		$
	Browse
	0
	0
[tag]
	Keyword
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		139
		139
	[spc]
		24
		200
		4
		0
		0
		3
		100
	[brk]
		4
	[line]
		16
		0
		3
		0
		1
		2
		2
		20
		20
		1
	[spec]
		0
		0
		K
		0
		3
		1
		256
		1
		0
		0
	[nfmt]
		280
		1
		3
		.
		,
		$
	Keyword
	0
	0
[tag]
	Context
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		139
		139
	[spc]
		24
		200
		4
		0
		0
		3
		100
	[brk]
		4
	[line]
		16
		0
		3
		0
		1
		2
		2
		20
		20
		1
	[spec]
		0
		0
		#
		0
		3
		1
		256
		1
		0
		0
	[nfmt]
		280
		1
		3
		.
		,
		$
	Context
	0
	0
[tag]
	Title
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		139
		139
	[spc]
		24
		200
		4
		0
		0
		3
		100
	[brk]
		4
	[line]
		16
		0
		3
		0
		1
		2
		2
		20
		20
		1
	[spec]
		0
		0
		$
		0
		3
		1
		256
		1
		0
		0
	[nfmt]
		280
		1
		3
		.
		,
		$
	Title
	0
	0
[tag]
	Macros
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		139
		139
	[spc]
		24
		200
		4
		0
		0
		3
		100
	[brk]
		4
	[line]
		16
		0
		3
		0
		1
		2
		2
		20
		20
		1
	[spec]
		0
		0
		!
		0
		3
		1
		256
		1
		0
		0
	[nfmt]
		280
		1
		3
		.
		,
		$
	Macros
	0
	0
[tag]
	Footnote
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		244
		0
	[spc]
		40
		2400
		3
		0
		0
		1
		100
	[brk]
		4
	[line]
		16
		0
		3
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		
		0
		1
		1
		256
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	Footnote
	0
	0
[tag]
	Alink
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		139
		139
	[spc]
		24
		200
		4
		0
		0
		3
		100
	[brk]
		4
	[line]
		16
		0
		3
		0
		1
		2
		2
		20
		20
		1
	[spec]
		0
		0
		A
		0
		3
		1
		256
		1
		0
		0
	[nfmt]
		280
		1
		3
		.
		,
		$
	Alink
	0
	0
[tag]
	Butnbar
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		0
		0
	[spc]
		40
		200
		4
		0
		0
		3
		100
	[brk]
		48
	[line]
		16
		0
		3
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		\li-140 
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		wr
	Butnbar
	0
	0
[tag]
	Window
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		139
		139
	[spc]
		24
		200
		4
		0
		0
		3
		100
	[brk]
		4
	[line]
		16
		0
		3
		0
		1
		2
		2
		20
		20
		1
	[spec]
		0
		0
		>
		0
		3
		1
		256
		1
		0
		0
	[nfmt]
		280
		1
		3
		.
		,
		$
	Window
	0
	0
[tag]
	Win95 macros
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		139
		139
	[spc]
		24
		200
		4
		0
		0
		3
		100
	[brk]
		4
	[line]
		16
		0
		3
		0
		1
		2
		2
		20
		20
		1
	[spec]
		0
		0
		W
		0
		3
		1
		256
		1
		0
		0
	[nfmt]
		280
		1
		3
		.
		,
		$
	Win95 macros
	0
	0
[tag]
	Win31 macros
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		139
		139
	[spc]
		24
		200
		4
		0
		0
		3
		100
	[brk]
		4
	[line]
		16
		0
		3
		0
		1
		2
		2
		20
		20
		1
	[spec]
		0
		0
		X
		0
		3
		1
		256
		1
		0
		0
	[nfmt]
		280
		1
		3
		.
		,
		$
	Win31 macros
	0
	0
[tag]
	Build tag
	0
	[fnt]
		Arial
		180
		0
		16384
	[algn]
		1
		3
		0
		139
		139
	[spc]
		24
		200
		4
		0
		0
		3
		100
	[brk]
		4
	[line]
		16
		0
		3
		0
		1
		2
		2
		20
		20
		1
	[spec]
		0
		0
		*
		0
		3
		1
		256
		1
		0
		0
	[nfmt]
		280
		1
		3
		.
		,
		$
	Build tag
	0
	0
[tag]
	_COND_IF
	0
	[fnt]
		Arial
		240
		255
		16385
	[algn]
		1
		3
		0
		0
		0
	[spc]
		24
		200
		4
		100
		0
		3
		100
	[brk]
		100
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		IF
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	Body Text
	5
	1
	480
	1
	960
	1
	1440
	1
	1920
	1
	2400
	0
[tag]
	_COND_ELSE
	0
	[fnt]
		Arial
		240
		255
		16385
	[algn]
		1
		3
		0
		0
		0
	[spc]
		24
		200
		4
		100
		0
		3
		100
	[brk]
		100
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		ELSE
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	Body Text
	5
	1
	480
	1
	960
	1
	1440
	1
	1920
	1
	2400
	0
[tag]
	_COND_ENDIF
	0
	[fnt]
		Arial
		240
		255
		16385
	[algn]
		1
		3
		0
		0
		0
	[spc]
		24
		200
		4
		100
		0
		3
		100
	[brk]
		100
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		0
		ENDIF
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	Body Text
	5
	1
	480
	1
	960
	1
	1440
	1
	1920
	1
	2400
	0
[lay]
	Standard
	3079
	[rght]
		12960
		10166
		1
		960
		1200
		3
		960
		720
		0
		1
		0
		1
		0
		2
		1
		960
		9446
		1
		1
		3120
	[lft]
		12960
		10166
		1
		720
		1200
		3
		960
		960
		0
		1
		0
		1
		0
		2
		1
		720
		9206
		1
		1
		3120
	[hlft]
	[lyfrm]
		1
		3008
		0
		0
		10166
		960
		0
		1
		3
		1 0 0 0 0 0 0
		0
		0
		3
	[frmlay]
		960
		10166
		1
		720
		180
		3
		0
		960
		0
		1
		0
		1
		1
		0
		1
		720
		9206
		1
		2
		4674
	[txt]
>
	[hrght]
	[lyfrm]
		1
		11200
		0
		0
		10166
		960
		0
		1
		3
		1 0 0 0 0 0 0
		0
		0
		1
	[frmlay]
		960
		10166
		1
		960
		180
		3
		0
		720
		0
		1
		0
		1
		1
		0
		1
		960
		9446
		1
		2
		4674
	[txt]
>
	[flft]
	[lyfrm]
		1
		5056
		0
		11760
		10166
		12960
		0
		1
		3
		1 0 0 0 0 0 0
		0
		0
		4
	[frmlay]
		12960
		10166
		1
		720
		480
		3
		11940
		960
		0
		1
		0
		1
		1
		0
		1
		720
		9206
		1
		3
		9900
	[txt]
@Left pg foot@<:P19999,0,A-> Programmer's Guide                                                                                             Lotus Confidential

>
	[frght]
	[lyfrm]
		1
		13248
		0
		11760
		10166
		12960
		0
		1
		3
		1 0 0 0 0 0 0
		0
		0
		2
	[frmlay]
		12960
		10166
		1
		960
		480
		3
		11940
		720
		0
		1
		0
		1
		1
		0
		1
		960
		9446
		1
		3
		9900
	[txt]
@Right pg foot@Lotus Confidential                                                                                     Teach Yourself LotusScript 
<:P19999,0,A->

>
[elay]
[l1]
	0
[pg]
	8
	31 0 32 32 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	59 0 82 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	71 122 31 512 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	95 449 8 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	120 0 82 0 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	138 122 31 512 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	158 0 35 32 1 0 0 220 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	170 0 66 1025 0 0 0 200 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
[edoc]
@Ahead@<:#240,8486><:f280,,>Appendix A: Teach Yourself LotusScript<:f>

<:#400,8486>The following three lessons are designed to give you a quick introduction to LotusScript and the basic features of the Notes class library.

@Ahead@<:#240,8486>Lesson 1: Printing the title of a database

<:#600,8486>Welcome to LotusScript and Notes. This is the first of three lessons designed to introduce you to using the LotusScript language in Notes. The lessons assume you have some experience with Notes application development.

<:#400,8486>Lesson 1 guides you through the creation of a script that prints the title of a database in a dialog box whenever a user clicks a button. You will learn:

@Bullet@<:#200,8486>How to decide what Notes event will trigger your script

@Bullet@<:#200,8486>How to create and edit a script

@Bullet@<:#200,8486>How to use an object to access a Notes database in a script

@Bullet@<:#200,8486>How  to use an object's properties

@Bullet@<:#200,8486>How to compile and test a script

@Bhead@<:#220,8486>Step A: Create a test database

<:#200,8486>You will use this database to write scripts in all three lessons.

@Numbered list@<:#200,8486>Choose File - Database - New.

@Numbered list@<:#200,8486>For Server, use Local.

@Numbered list@<:#200,8486>Enter the Title. The examples here use "Learning LotusScript."

@Numbered list@<:#200,8486>Enter the Filename. The examples here use "learning.nsf."

@Numbered list@<:#400,8486>Select Show All Templates. If you don't see a list of templates, select Template Server and select a server that contains the templates.

@Numbered list@<:#200,8486>Select the Discussion template.

@Numbered list@<:#200,8486>Deselect "Inherit future design changes."

@Numbered list@<:#200,8486>Click OK.

@Numbered list@<:#200,8486>Close the "About" document that opens when Notes finishes creating the database.

@Bhead@<:#220,8486>Step B: Create a button

<:#200,8486>The script runs whenever the user clicks a button, so begin by creating the button.

@Numbered list@<:R1,0,><:#200,8486>Opening the Learning LotusScript database you just created.

@Numbered list@<:R1,0,><:#200,8486>Choose Create - Main Topic to create a new Main Topic document in the database.

@Numbered list@<:R1,0,><:#200,8486>Enter a brief subject for the document, such as "Scripting in Notes is a joy."

@Numbered list@<:R1,0,><:#200,8486>Enter a category, such as "Scripts."

@Numbered list@<:R1,0,><:#400,8486>Place the cursor in the body field and choose Create - Hotspot - Button. The programmer's pane appears at the bottom of the screen, and the InfoBox appears.

@Numbered list@<:R1,0,><:#400,8486>In the button InfoBox, give the button a label, such as "Print title," and click the green check mark to save it. Close the InfoBox.

@Numbered list@<:R1,0,><:#400,8486>In the programmer's pane, select the "Print title" button from the list of programmable objects under Define.

@Numbered list@<:R1,0,><:#200,8486>Select the Script option button.

@Numbered list@<:R1,0,><:#400,8486>Select Click from the list of button events under Events, if it isn't already selected. Whenever the Click event occurs, the script will run.

@Bhead@<:R><:#220,8486>Step C: Enter the script

<:#200,8486>Edit the sub so that it looks exactly like this (except for capitalization, which does not matter).

@Mono@<:R1,0,><:#200,8486>Sub Click(Source As Button)

@Mono@<:R><:#200,8486>     Dim db As NotesDatabase

@Mono@<:#200,8486>     Set db = New NotesDatabase( "", "learning.nsf" )

@Mono@<:#200,8486>     Messagebox( db.Title )

@Mono@<:#200,8486>End Sub

@Bhead@<:#220,8486>Step D: Compile and test the script

<:R1,0,><:#400,8486>The script is ready for a trial run. Notes compiles the button script when you close and save the document it's on.

@Numbered list@<:R1,0,><:#200,8486>Choose File - Close.

@Numbered list@<:R1,0,><:#400,8486>Click Yes to save the document. If an error appears at the bottom of the programmer's pane, double-check your typing to make sure that the script looks exactly like the one in Step C.

@Numbered list@<:R1,0,><:#200,8486>Open the document from the view.

@Numbered list@<:R1,0,><:#400,8486>Click the Print title button. Notes displays a dialog box that says "Learning LotusScript," which is the title of the database. Success!

@Numbered list@<:R1,0,><:#200,8486>Click OK and close the document.

@Bhead@<:R><:#220,8486>Review: How did the script work?

<:R1,0,><:#600,8486>The lines of script you entered mean: "I want to access the learning.nsf database on my local computer, and I want to use the name 
<:f,QCourier New,>db <:f>to refer to this database. Then I want to print the title of the database in a dialog box."

@Chead@<:R1,0,><:#200,8486>Line 1: Begin a sub

<:R1,0,><:#400,8486><:f,QCourier New,>Sub Click(Source As Button) <:f>defines the beginning of a subroutine, or sub. Notes creates this line for you.

@Chead@<:R1,0,><:#200,8486>Line 2: Declare an object variable

<:R1,0,><:#400,8486><:f,QCourier New,>Dim db as NotesDatabase <:f>declares an object variable called 
<:f,QCourier New,>db<:f>. It is an instance of the NotesDatabase class.

@Bullet@<:R1,0,><:#1000,8486><:f,QCourier New,>Dim <:f>tells LotusScript that you are declaring an object variable. You use 
<:f,QCourier New,>Dim<:f> (along with <:f,QCourier New,>As<:f>) any time you declare a variable. For example:<:f,QCourier New,><**>Dim x As Integer<**>Dim name As String<**>Dim view as NotesView<:f>

@Bullet@<:R1,0,><:#200,8486><:f,QCourier New,>db <:f>is the name of the object.

@Bullet@<:R1,0,><:#200,8486><:f,QCourier New,>NotesDatabase<:f> is the name of the class.

@Chead@<:R1,0,><:#200,8486>Line 3: Set the value of the object 

<:R1,0,><:#400,8486><:f,QCourier New,>Set db = New NotesDatabase( "", "learning.nsf" ) 
<:f>sets the value of <:f,QCourier New,>db <:f>by creating a new NotesDatabase object that refers to the learning.nsf database on the local machine.

@Bullet@<:R1,0,><:#200,8486><:f,QCourier New,>Set db = <:f>tells LotusScript that you want to set 
<:f,QCourier New,>db <:f>equal to the value returned by New.

@Bullet@<:R1,0,><:f,QCourier New,>New <:f>tells LotusScript that you want to construct a new object.

@Bullet@<:R1,0,><:#400,8486><:f,QCourier New,>NotesDatabase <:f> tells LotusScript that the new object should be an instance of the NotesDatabase class.

@Bullet@<:R1,0,><:#600,8486><:f,QCourier New,>""<:f> and <:f,QCourier New,>"learning<:f><:f,QCourier New,>.nsf"<:f> are parameters that tell New how to create the object you want. The first parameter, 
<:f,QCourier New,>""<:f>, is the name of the server -- here it's an empty string because the database is on your local drive. The second parameter, 
<:f,QCourier New,>"learning<:f><:f,QCourier New,>.nsf"<:f> is the file name of the database.

@Chead@<:R1,0,><:#200,8486>Line 4: Print a property of the object in a dialog box

<:R1,0,><:#400,8486><:f,QCourier New,>Messagebox( db.Title ) <:f>gets the title of the database that 
<:f,QCourier New,>db <:f>represents, and prints it in a dialog box.

@Bullet@<:R1,0,><:#400,8486><:f,QCourier New,>Messagebox <:f>is a LotusScript function that takes a string and prints it in a dialog box. It's one of many functions and statements you can use in different Lotus products, not just Notes.

@Bullet@<:R1,0,><:#600,8486><:f,QCourier New,>db.Title <:f>returns a string containing the title of the learning.nsf database. Title is a property defined in the NotesDatabase class. Any object that is an instance of the NotesDatabase class can use this property. To access or modify a
 property in a script, you need three things:

@Indnt bullet@<:R1,0,><:#200,8486>The name of the object, such as <:f,QCourier New,>db

@Indnt bullet@<:R1,0,><:#200,8486>A dot, or period (.)

@Indnt bullet@<:R1,0,><:#200,8486>The name of the property, such as Title

<:R1,0,><:#600,8486>Every class has multiple properties and methods that are described in the reference documentation. Other properties for the NotesDatabase class include: FileName, Size, and TemplateName. Methods for the NotesDatabase class are discussed in Lesson 2.

@Chead@<:R1,0,><:#200,8486>Line 5: End a sub

<:R1,0,><:f,QCourier New,>End Sub<:f> defines the end of a sub. This is where the script finishes. Notes creates this line for you. You're ready for Lesson 2.<:p<* >>

@Ahead@<:R><:#240,8486>Lesson 2: Counting the documents in a view

<:#400,8486>This is the second of three lessons designed to introduce you to using the LotusScript language in Notes. You should already have completed Lesson 1.

<:#400,8486>Lesson 2 guides you through the creation of a script that counts the number of documents in a view. The script runs from an agent. You will learn:

@Bullet@<:R1,0,><:#200,8486>How an agent responds to an event

@Bullet@<:R1,0,><:#200,8486>How to use an object's methods

@Bullet@<:R1,0,><:#200,8486>How to open a particular view within a database

@Bullet@<:R1,0,><:#200,8486>How to navigate through a view to reach a document

@Bullet@<:R1,0,><:#200,8486>How to use a loop

@Bhead@<:R1,0,><:#220,8486>Step A: Create documents in the test database

<:R1,0,><:#200,8486>Add three documents to your test database so that your agent script will have something to work with.

@Numbered list@<:R1,0,><:#200,8486>Open the Learning LotusScript database that you created in Lesson 1.

@Numbered list@<:R1,0,><:#200,8486>Create and save three new documents.

@Bhead@<:R><:#220,8486>Step B: Create an agent

<:#200,8486>The script runs whenever an agent runs, so begin by creating the agent.

@Numbered list@<:R1,0,><:#200,8486>Choose Create - Agent.

@Numbered list@<:R1,0,><:#200,8486>Enter a Name for the agent, such as "My first agent."

@Numbered list@<:R1,0,><:#200,8486>Select Shared Agent.

@Numbered list@<:R1,0,><:#200,8486>Select "Manually From Menu" under When should this agent run? This is what triggers the agent.

@Numbered list@<:R1,0,><:#200,8486>Keep the default selection under What documents should it act on?

@Numbered list@<:R1,0,><:#200,8486>Select Script under What should this agent do?

@Numbered list@<:R1,0,><:#200,8486>Select Initialize under Events. All agent scripts respond to the same event, Initialize.

@Bhead@<:R><:#220,8486>Step C: Enter the script

<:#200,8486>Edit the sub so that it looks exactly like this (except for capitalization, which does not matter). 

@Mono@<:#3400,8486>Sub Initialize<**>  Dim db As NotesDatabase<**>  Dim view As NotesView<**>  Dim doc As NotesDocument 
<**>  Dim count as Integer<**>  Set db = New NotesDatabase( "", "learning.nsf" )<**>  Set view = db.GetView( "Main View" )<**>  Set doc = view.GetFirstDocument<**>  count = 0<**>  ' begin counting documents<**>  ' stop when there are no more documents<**>  
Do Until doc Is Nothing<**>    count = count + 1<**>    Set doc = view.GetNextDocument( doc )<**>  Loop<**>  Messagebox( Cstr( count ) )<**>End Sub

@Bhead@<:#220,8486>Step D: Compile and test the script

@Numbered list@<:R1,0,><:#400,8486>Choose File - Close. If you receive compiler errors, check to make sure that you have typed the script exactly as it is displayed here. Then try again.

@Numbered list@<:R1,0,><:#200,8486>Click Yes to save the agent.

@Numbered list@<:R1,0,><:#400,8486>Choose Actions - My first agent to run the agent. Notes runs the script and displays the number of documents in the Main View. Click OK.

@Bhead@<:R><:#220,8486>Review: How did the script work?

<:R1,0,><:#200,8486>The lines of script you entered mean: 

<:R1,0,><:#400,8486>"I want to access the learning.nsf database on my local drive, and I want to use the name 
<:f,QCourier New,>db <:f>to refer to this database.

<:R1,0,><:#400,8486>Next, I want to access the Main View in the database, and I want to use the name 
<:f,QCourier New,>view <:f>to refer to this view.

<:R1,0,><:#400,8486>Next, I want to access the first document in the Main View, and I want to use the name 
<:f,QCourier New,>doc <:f>to refer to this document.

<:R><:#600,8486>Next, I want to declare an integer called <:f,QCourier New,>count 
<:f>and assign it a value of 0. I want to count how many documents are in the Main View by getting each document and incrementing 
<:f,QCourier New,>count<:f> until every document has been counted.

<:#200,8486>Last, I want to display the count in a dialog box on the screen."

@Chead@<:#200,8486>Line 1: Begin a sub

<:#200,8486><:f,QCourier New,>Sub Initialize<:f,QCourier New,> <:f>defines the beginning of a subroutine, or sub. Notes creates this line for you.

@Chead@<:#200,8486>Lines 2 to 5: Declare variables

<:#400,8486><:f,QCourier New,>Dim db As NotesDatabase<:f> declares an object variable called 
<:f,QCourier New,>db<:f>. It is an instance of the NotesDatabase class.

<:R1,0,><:#400,8486><:f,QCourier New,>Dim view As NotesView<:f> declares an object variable called 
<:f,QCourier New,>view<:f>. It is an instance of the NotesView class.

<:R1,0,><:#400,8486><:f,QCourier New,>Dim doc As NotesDocument<:f> declares an object variable called 
<:f,QCourier New,>doc<:f>. It is an instance of the NotesDocument class.

<:R1,0,><:#200,8486><:f,QCourier New,>Dim count as Integer <:f>declares a variable called 
<:f,QCourier New,>count<:f>. It is an integer.

@Chead@<:R><:#200,8486>Lines 6 to 9: Set the value of the variables

<:#400,8486><:f,QCourier New,>Set db = New NotesDatabase( "", "learning.nsf" )<:f> sets the value of 
<:f,QCourier New,>db <:f>by creating a new NotesDatabase object that refers to the learning.nsf database on the local machine.

<:#800,8486><:f,QCourier New,>Set view = db.GetView( "Main View" )<:f>  sets <:f,QCourier New,>view 
<:f>equal to the value returned by GetView. GetView is a method defined in the NotesDatabase class that returns a NotesView object. The parameter,<+"> 
<-">"Main View," indicates which view you want. Since you use <:f,QCourier New,>db 
<:f>to call it, GetView returns an object representing a view in learning.nsf.

<:#600,8486><:f,QCourier New,>Set doc = view.GetFirstDocument <:f>sets <:f,QCourier New,>doc 
<:f>equal to the value returned by GetFirstDocument. GetFirstDocument is a method defined in the NotesView class that returns a NotesDocument object, and takes no parameters.

<:#200,8486><:f,QCourier New,>count = 0<:f> sets count equal to 0. <:f,QCourier New,>Set 
<:f>is required to set the value of an object, not an integer.

<:R1,0,><:#600,8486>In Lesson 1, you learned about properties, which represent the attributes of an object. In this lesson, you're also using methods, which represent the behavior of an object. To call a method in a script, you need four things:

@Bullet@<:R1,0,><:#200,8486>The name of the object, such as <:f,QCourier New,>db<:f> or <:f,QCourier New,>view<:f>

@Bullet@<:R1,0,><:#200,8486>A dot, or period (.)

@Bullet@<:R1,0,><:#200,8486>The name of the method, such as GetView or GetFirstDocument

@Bullet@<:R1,0,><:#200,8486>Any parameters required by the method

<:R><:#200,8486>Unlike a property, which always returns a value, some methods return values and others don't.

@Chead@<:#200,8486>Lines 10 to 11: Comments

@Mono@<:#400,8486>' begin counting documents <**>' stop when there are no more documents

<:#400,8486>These are in-line comments that explain what's happening in the script. The compiler ignores any line that begins with an apostrophe ( ' ).

@Chead@<:#200,8486>Lines 12 to 15: Counting the documents in the view

<:#400,8486><:f,QCourier New,>Do Until doc Is Nothing<:f> defines the beginning of a loop, and specifies what condition causes the loop to stop. The loop will execute zero, one, or multiple times, until the 
<:f,QCourier New,>doc<:f> object is Nothing.

<:#400,8486><:f,QCourier New,>Loop <:f>defines the end of the loop. The lines between 
<:f,QCourier New,>Do Until doc Is Nothing<:f> and <:f,QCourier New,>Loop<:f> are called the body of the loop:

@Bullet@<:R1,0,><:#400,8486><:f,QCourier New,>count = count<:f><:f,QCourier New,> + 1 <:f>increments the current value of 
<:f,QCourier New,>count<:f> by one. The script does this each time it gets a new document, so that it maintains a current count of documents in the view.

@Bullet@<:R1,0,><:#400,8486><:f,QCourier New,>Set doc = view.GetNextDocument( doc )<:f><:f,QCourier New,> 
<:f>assigns the next document in the view to <:f,QCourier New,>doc<:f>. If there are no more documents in the view, it assigns Nothing to 
<:f,QCourier New,>doc<:f>.

<:R1,0,><:#600,8486>Nothing is a LotusScript keyword that means you have a null, or empty, object. For example, the 
<:f,QCourier New,>doc <:f>object is Nothing when it's first declared, until you assign a value to it. The GetNextDocument method returns Nothing when there are no more documents left in the view: in this script, it means stop counting.

<:R1,0,><:#400,8486>If there are no documents in the view, the loop body never runs. If there is one document in the view, the loop body runs once.

@Chead@<:R1,0,><:#200,8486>Line 16: Printing the result in a dialog box

<:R1,0,><:#600,8486><:f,QCourier New,>Messagebox( Cstr( count ) )<:f> displays the value of 
<:f,QCourier New,>count<:f> in a dialog box on the screen. Both Messagebox (which displays a dialog box) and Cstr (which converts an integer to a string) are functions in the LotusScript language. You can use them in other Lotus products, not just Notes.

@Chead@<:R1,0,><:#200,8486>Line 17: End a sub

<:R1,0,><:f,QCourier New,>End Sub<:f> defines the end of a sub. This is where the script finishes. Notes creates this line for you. You're ready for Lesson 3.<:p<* >>

@Ahead@<:R><:#240,8486>Lesson 3: Sending an email message

<:#400,8486>This is the third of three lessons designed to introduce you to using the LotusScript language in Notes. You should already have completed Lessons 1 and 2.

<:#400,8486>Lesson 3 guides you through the creation of a script that creates and sends an email message. The script runs when a user chooses an action on a form. You will learn:

@Bullet@<:R1,0,><:#200,8486>How to access and modify data items on a document

@Bullet@<:R1,0,><:#200,8486>How to access the document that's currently open on the workspace

@Bullet@<:R1,0,><:#200,8486>How to mail documents

@Bhead@<:R><:#220,8486>Step A: Create a form action

<:#200,8486>Users can invoke a form action any time a document is displayed with the form.

@Numbered list@<:R1,0,><:#400,8486>Click the Design twisty in the folder pane of the Learning LotusScript database that you created in Lesson 1.

@Numbered list@<:R1,0,><:#200,8486>Click Forms.

@Numbered list@<:R1,0,><:#200,8486>Open the Main Topic form.

@Numbered list@<:R1,0,><:#200,8486>Choose Create - Action.

@Numbered list@<:R1,0,><:#400,8486>Give the Action a name, such as "Request more info from author," in the action InfoBox. Close the InfoBox.

@Numbered list@<:R1,0,><:#200,8486>Select the "Request more info from author" action under Define.

@Numbered list@<:R1,0,><:#200,8486>Select the Script option button.

@Numbered list@<:R1,0,><:#200,8486>Select Click under Event.

@Bhead@<:R><:#220,8486>Step B: Enter the script

@Numbered list@<:#3400,8486>Edit the sub so that it looks exactly like this (except for capitalization, which does not matter).<:f,QCourier New,><**>Sub Click(Source As Button)<**>   Dim db As NotesDatabase<**>   Dim doc As NotesDocument<**>   ' get the database<**>   Set db = New Not
esDatabase( "", "learning.nsf" )<**>   ' create a new document in the current database<**>   Set doc = New NotesDocument( db )     
<**>   ' set the new document's form so it'll be readable as a mail memo<**>   doc.Form = "Memo"     
<**>   ' set the new document's Subject<**>   doc.Subject = "Request"     
<**>   ' set the new document's Body<**>   doc.Body = "Please send me more information about this"     
<**>   ' send the new document to the recipient<**>   Call doc.Send( False, "Reuben<:f><:f,QCourier New,> Jordan" )<**>End Sub<:f>

@Numbered list@<:#400,8486>In the second-to-last line of the script, change the second parameter of the Send method from Reuben Jordan to your name.

@Bhead@<:#220,8486>Step C: Compile and test the script

<:R1,0,><:#600,8486>All documents created with the Main Topic form should now have a "Request more info from author" action. You can perform the action by clicking a button on the Action Bar, or by choosing it from the menu.

@Numbered list@<:R1,0,><:#200,8486>Choose File - Close and select Yes to save the form.

@Numbered list@<:R1,0,><:#200,8486>Open a Main Topic document in the Learning LotusScript discusssion database.

@Numbered list@<:R1,0,><:#200,8486>Click "Request more info from author."

@Numbered list@<:R1,0,><:#200,8486>The script sends an e-mail memo to you. (Check your mail database).

@Bhead@<:R1,0,><:#220,8486>Step D: Why did the script work?

<:R1,0,><:#400,8486>The script you just created means: "I want to create a new document in the database, set the value of some of its items, and mail it."

<:R1,0,><:#200,8486>The script is commented in Step B. In addition, notice the following:

@Bullet@<:R1,0,><:#400,8486>The script responds to a click event on a form action. It will also respond to a user who chooses the action from the menu.

@Bullet@<:R1,0,><:#400,8486>Using New with the NotesDocument class actually creates a new document. This behavior is different from that of NotesDatabase, where New does not actually create a new database.

@Bullet@<:R1,0,><:#800,8486>The script creates and sets the value of several items on the <:f,QCourier New,>doc 
<:f>object by treating their names as read-write properties of <:f,QCourier New,>doc<:f>. For example, 
<:f,QCourier New,>doc.Form = "Memo"<:f> creates an item called Form on the new document and sets its value to "Memo". The item will be of type text, since "Memo" is a string. If a Form item already existed on the document, this line would change its value t
o "Memo."

@Bullet@<:R1,0,><:#200,8486>Send is a method in the NotesDocument class that mails a document.

>

[Embedded]
00044060
