[ver]
	4
[sty]
	
[files]
[charset]
	82
	ANSI (Windows, IBM CP 1252)
[revisions]
	0
[sequence]
	166
	0
	0
	0
	12
	0
	Numbered List
	904
	bullet
	904
	indent bullet
	904
	Note
	904
	indent Note
	904
	tip
	904
	Caution
	904
	indentCaution
	904
	find
	0
	Footnote
	904
	indent Tip
	904
	indent Find
[prn]
	Apple LaserWriter II NTX
[port]
	LPT1:
[lang]
	1
[fldnames]
	Field1
	Field2
	Field3
	Field4
	Field5
	Field6
	Field7
	Field8
[desc]
	File ch11.rtf was converted from Rich Text Format on 4/7/94
	
	
	
	
	802475977
	118
	765745656
	2722
	36
	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]
		Palatino
		200
		0
		49152
	[algn]
		1
		3
		720
		0
		0
	[spc]
		24
		200
		4
		120
		120
		4
		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
		.
		,
		$
	1Body Text
	3
	1
	600
	1
	1200
	1
	3720
	0
[tag]
	Ahead
	3
	[fnt]
		Helvetica
		280
		0
		16385
	[algn]
		1
		1
		0
		0
		0
	[spc]
		40
		300
		4
		360
		120
		4
		100
	[brk]
		80
	[line]
		9
		0
		4
		0
		1
		1
		1
		110
		10
		1
	[spec]
		0
		2
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Body Text
	0
	0
[tag]
	Bhead
	4
	[fnt]
		Helvetica
		240
		0
		16385
	[algn]
		1
		3
		0
		0
		0
	[spc]
		40
		280
		4
		100
		90
		4
		100
	[brk]
		80
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		2
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Body Text
	0
	0
[tag]
	Chead
	5
	[fnt]
		Helvetica
		200
		0
		16385
	[algn]
		1
		3
		720
		0
		0
	[spc]
		40
		240
		4
		80
		0
		4
		100
	[brk]
		80
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		2
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Body Text
	0
	0
[tag]
	Numbered List
	6
	[fnt]
		Palatino
		200
		0
		49152
	[algn]
		1
		3
		744
		336
		336
	[spc]
		40
		240
		4
		0
		80
		4
		100
	[brk]
		0
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		3
		<*:>.
		0
		3
		1
		1
		2
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Numbered List
	0
	0
[tag]
	bullet
	7
	[fnt]
		Palatino
		200
		0
		49152
	[algn]
		1
		3
		720
		300
		300
	[spc]
		40
		240
		4
		80
		80
		4
		100
	[brk]
		0
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		<*1>
		0
		3
		1
		1
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	bulleted list
	0
	0
[tag]
	1st lev para
	8
	[fnt]
		Palatino
		200
		0
		49152
	[algn]
		1
		3
		1080
		0
		0
	[spc]
		40
		240
		4
		0
		80
		4
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		
		0
		1
		1
		1
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	1st lev para
	0
	0
[tag]
	mono
	9
	[fnt]
		Courier
		180
		0
		32769
	[algn]
		1
		3
		720
		0
		0
	[spc]
		24
		220
		4
		120
		120
		4
		100
	[brk]
		36
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	mono
	22
	1
	864
	1
	1209
	1
	1555
	1
	1900
	1
	2246
	1
	2592
	1
	2937
	1
	3283
	1
	3628
	1
	3974
	1
	4320
	1
	4665
	1
	5011
	1
	5356
	1
	5702
	1
	6048
	1
	6393
	1
	6739
	1
	7084
	1
	7430
	1
	7776
	1
	8121
	0
[tag]
	indent bullet
	11
	[fnt]
		Palatino
		200
		0
		49152
	[algn]
		1
		3
		1104
		216
		216
	[spc]
		40
		240
		4
		0
		80
		4
		100
	[brk]
		0
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		<*1>
		0
		3
		1
		1
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	indent bullet
	0
	0
[tag]
	Note
	12
	[fnt]
		Helvetica
		200
		0
		16384
	[algn]
		1
		3
		720
		600
		0
	[spc]
		40
		240
		4
		0
		80
		4
		100
	[brk]
		0
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		Note
		0
		3
		1
		1
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Note
	0
	0
[tag]
	2nd lev para
	0
	[fnt]
		Palatino
		200
		0
		49152
	[algn]
		1
		3
		1320
		0
		0
	[spc]
		40
		240
		4
		0
		80
		4
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		
		0
		1
		1
		1
		2
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	2nd lev para
	0
	0
[tag]
	Table Text
	0
	[fnt]
		Palatino
		180
		0
		49152
	[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]
		272
		1
		2
		.
		,
		$
	Table Text
	0
	0
[tag]
	Body Text1
	0
	[fnt]
		Palatino
		200
		0
		49152
	[algn]
		1
		3
		720
		0
		0
	[spc]
		40
		240
		4
		20
		40
		4
		100
	[brk]
		36
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		1
		
		18944
		1
		1
		0
		2
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	Body Text1
	4
	1
	2390
	1
	2869
	1
	3347
	1
	3826
	0
[tag]
	indent Note
	0
	[fnt]
		Helvetica
		200
		0
		16384
	[algn]
		1
		3
		1080
		600
		0
	[spc]
		40
		240
		4
		0
		80
		4
		100
	[brk]
		0
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		Note
		0
		3
		1
		1
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	indent Note
	0
	0
[tag]
	tip
	0
	[fnt]
		Helvetica
		200
		0
		16384
	[algn]
		1
		3
		720
		480
		0
	[spc]
		40
		240
		4
		0
		80
		4
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		Tip
		0
		3
		1
		1
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	tip
	0
	0
[tag]
	Caution
	0
	[fnt]
		Helvetica
		200
		0
		16384
	[algn]
		1
		3
		720
		900
		0
	[spc]
		40
		240
		4
		0
		80
		4
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		Caution
		0
		3
		1
		1
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Caution
	0
	0
[tag]
	indentCaution
	0
	[fnt]
		Helvetica
		200
		0
		16384
	[algn]
		1
		3
		1080
		900
		0
	[spc]
		40
		240
		4
		0
		80
		4
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		Caution
		0
		3
		1
		1
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	indentCaution
	0
	0
[tag]
	Term
	0
	[fnt]
		Palatino
		200
		0
		49153
	[algn]
		1
		3
		720
		0
		0
	[spc]
		24
		240
		4
		0
		0
		4
		100
	[brk]
		80
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		2
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	Body Text
	0
	0
[tag]
	indent Term
	0
	[fnt]
		Palatino
		200
		0
		49153
	[algn]
		1
		3
		1080
		0
		0
	[spc]
		24
		240
		4
		0
		0
		4
		100
	[brk]
		16
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		2
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	indent Term
	0
	0
[tag]
	find
	0
	[fnt]
		Helvetica
		200
		0
		16384
	[algn]
		1
		3
		720
		1800
		0
	[spc]
		40
		240
		4
		0
		80
		4
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		Finding Out More
		0
		3
		1
		1
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	find
	0
	0
[tag]
	procdure Bhd
	0
	[fnt]
		Helvetica
		220
		0
		16385
	[algn]
		1
		3
		0
		0
		0
	[spc]
		40
		260
		4
		100
		90
		4
		100
	[brk]
		80
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		2
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Numbered List
	0
	0
[tag]
	procdure Chd
	0
	[fnt]
		Helvetica
		200
		0
		16385
	[algn]
		1
		3
		720
		0
		0
	[spc]
		40
		240
		4
		80
		80
		4
		100
	[brk]
		80
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		2
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Numbered List
	0
	0
[tag]
	formula
	0
	[fnt]
		Helvetica
		180
		0
		16384
	[algn]
		1
		3
		1080
		0
		0
	[spc]
		40
		220
		4
		0
		80
		4
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		
		0
		1
		1
		1
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	formula
	0
	0
[tag]
	Table Title
	0
	[fnt]
		Helvetica
		180
		0
		16385
	[algn]
		1
		3
		720
		0
		0
	[spc]
		40
		220
		4
		40
		80
		4
		100
	[brk]
		16
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Table Title
	0
	0
[tag]
	Column Head
	0
	[fnt]
		Palatino
		180
		0
		49154
	[algn]
		1
		3
		0
		0
		0
	[spc]
		40
		220
		4
		0
		0
		3
		100
	[brk]
		4
	[line]
		11
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Column Head
	0
	0
[tag]
	call-out
	0
	[fnt]
		Helvetica
		160
		0
		16384
	[algn]
		1
		3
		0
		0
		0
	[spc]
		40
		180
		4
		0
		0
		1
		100
	[brk]
		0
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	call-out
	0
	0
[tag]
	chap number
	0
	[fnt]
		Helvetica
		720
		0
		16385
	[algn]
		1
		3
		0
		0
		0
	[spc]
		40
		520
		4
		0
		0
		4
		100
	[brk]
		0
	[line]
		17
		1680
		4
		0
		1
		1
		1
		420
		10
		1
	[spec]
		0
		2
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	chap number
	0
	0
[tag]
	Chapter Title
	0
	[fnt]
		Helvetica
		320
		0
		16385
	[algn]
		1
		3
		720
		0
		0
	[spc]
		40
		360
		4
		0
		480
		3
		100
	[brk]
		81
	[line]
		17
		8520
		3
		0
		1
		3
		1
		644
		10
		1
	[spec]
		0
		2
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Body Text
	0
	0
[tag]
	1st Pg Footer
	0
	[fnt]
		Palatino
		180
		0
		49153
	[algn]
		2
		3
		0
		0
		0
	[spc]
		33
		273
		1
		0
		0
		1
		100
	[brk]
		0
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	1st Pg Footer
	0
	0
[tag]
	right footer
	0
	[fnt]
		Palatino
		180
		0
		49153
	[algn]
		4
		1
		0
		0
		0
	[spc]
		33
		216
		1
		60
		0
		3
		100
	[brk]
		32
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	right footer
	1
	3
	8640
	0
[tag]
	left footer
	0
	[fnt]
		Palatino
		180
		0
		49153
	[algn]
		4
		1
		0
		0
		5212
	[spc]
		33
		216
		1
		60
		0
		3
		100
	[brk]
		32
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	left footer
	1
	3
	8640
	0
[tag]
	Footnote
	0
	[fnt]
		Times New Roman
		180
		0
		49152
	[algn]
		1
		3
		0
		244
		0
	[spc]
		40
		2400
		3
		0
		0
		1
		100
	[brk]
		4
	[line]
		8
		0
		1
		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]
	Figure Title
	0
	[fnt]
		Helvetica
		180
		0
		16385
	[algn]
		1
		3
		720
		0
		0
	[spc]
		40
		220
		4
		40
		80
		4
		100
	[brk]
		80
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	Body Text
	0
	0
[tag]
	indent Tip
	0
	[fnt]
		Helvetica
		200
		0
		16384
	[algn]
		1
		3
		1080
		480
		0
	[spc]
		40
		240
		4
		0
		80
		4
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		Tip
		18944
		3
		1
		1
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	indent tip
	0
	0
[tag]
	indent Find
	0
	[fnt]
		Helvetica
		200
		0
		16384
	[algn]
		1
		3
		1080
		1800
		0
	[spc]
		40
		240
		4
		0
		80
		4
		100
	[brk]
		4
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		4
		Finding Out More
		18944
		3
		1
		1
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	indent find
	0
	0
[tag]
	copyrt
	0
	[fnt]
		Palatino
		180
		0
		49152
	[algn]
		1
		3
		0
		0
		0
	[spc]
		24
		220
		4
		0
		60
		4
		100
	[brk]
		36
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		1
		
		18944
		1
		1
		0
		2
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	copyrt
	4
	1
	2390
	1
	2869
	1
	3347
	1
	3826
	1200
[tag]
	seealso
	0
	[fnt]
		Helvetica
		200
		0
		16385
	[algn]
		1
		3
		720
		0
		0
	[spc]
		40
		240
		4
		80
		0
		4
		100
	[brk]
		16
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		2
		
		0
		1
		1
		0
		0
		0
		0
	[nfmt]
		272
		1
		2
		.
		,
		$
	seealso
	0
	0
[tag]
	crossref
	0
	[fnt]
		Palatino
		200
		0
		49152
	[algn]
		1
		3
		720
		0
		0
	[spc]
		40
		240
		4
		0
		0
		4
		100
	[brk]
		36
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		1
		
		18944
		1
		1
		0
		2
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	crossref
	4
	1
	2390
	1
	2869
	1
	3347
	1
	3826
	0
[tag]
	popref
	0
	[fnt]
		Palatino
		200
		0
		49152
	[algn]
		513
		3
		720
		0
		720
	[spc]
		40
		240
		4
		0
		0
		4
		100
	[brk]
		36
	[line]
		8
		0
		1
		0
		1
		1
		1
		10
		10
		1
	[spec]
		0
		1
		
		18944
		1
		1
		0
		2
		0
		0
	[nfmt]
		280
		1
		2
		.
		,
		$
	popref
	4
	1
	2390
	1
	2869
	1
	3347
	1
	3826
	0
[frm]
	1
	1704004
	1975
	3770
	7950
	5597
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	169
	0
	256
	0 65280
	[frmlay]
		6300
		5975
		3
		0
		0
		3
		3770
		0
		0
		2
		0
		1
		0
		65535
		1
		360
		3412
		0
	[tbl]
		 4 2 0 86 1440 86 5 43 43
		[h]
			 0 240 86 2 0 2 0
			 1 600 86 2 0 1 0
			 2 400 86 2 0 1 0
			 3 200 86 2 0 2 0
		[e]
		[w]
			 1 4320 86 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
@Column Head@Argument

>
			 0 1 0 0 0 0 0 1 0 0 0 0
@Column Head@Description

>
			 1 0 0 0 0 0 0 1 0 0 0 0
<+">arrayname<-">

>
			 1 1 0 0 0 0 0 1 0 0 0 0
An array or a Variant variable containing an array. The <+">arrayname 
<-">can optionally end with empty parentheses.

>
			 2 0 0 0 0 0 0 1 0 0 0 0
<+">listname<-">

>
			 2 1 0 0 0 0 0 1 0 0 0 0
A list or a Variant variable containing a list. The <+">listname <-">can optionally end with empty parentheses.

>
			 3 0 0 0 0 0 0 1 0 0 0 0
<+">tag<-">

>
			 3 1 0 0 0 0 0 1 0 0 0 0
A list element to be erased from the specified list.

>
		[e]
	[tble]
[frm]
	32
	1572932
	2001
	960
	7924
	5140
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	166
	1
	8308
	65535 24946
	[frmlay]
		7891
		5923
		3
		0
		0
		3
		960
		0
		0
		2
		0
		1
		1
		0
		1
		720
		9206
		0
	[tbl]
		 4 2 0 86 4132 86 5 43 43
		[h]
			 0 240 86 2 0 2 0
			 1 600 86 2 0 1 0
			 2 1400 86 2 0 1 0
			 3 1879 86 2 0 1 0
		[e]
		[w]
			 0 1440 120 6 0
			 1 4320 0 6 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
@Column Head@Argument

>
			 0 1 8 0 0 0 0 1 0 0 0 0
@Column Head@<+@>Description

>
			 1 0 0 0 0 0 0 1 0 0 0 0
<:f><+"><:f>file_spec<-">

>
			 1 1 0 0 0 0 0 1 0 0 0 0
<:f>A string expression that specifies a path and the file names you want returned. The argument is required only for the first call to Dir$ for any path.<:f>

>
			 2 1 8 0 0 0 0 1 0 0 0 0
<+@><:f>Standard wildcard characters can be used in <+">file_spec<-"> to designate all files satisfying the wildcard criterion. Asterisk ( * ) for either the file name or the extension designates all files with any characters in that position. Question mark ( ?
 ) in any character position in either part of the name designates any single character in that position.

>
			 3 0 0 0 0 0 0 1 0 0 0 0
<+"><:f>attribute_mask

>
			 3 1 8 0 0 0 0 1 0 0 0 0
<+@><:f>An integer expression whose value specifies what names should be returned. If this argument is omitted, the names of normal files that match 
<+">file_spec <-">are returned. If you supply an <+">attribute_mask<-"> argument, you must supply a 
<+">file_spec<-"> argument.

<+@>To include other files in the returned list of file names, specify the sum of those values in the following table that correspond to the desired kinds of files:

>
		[e]
	[tble]
[frm]
	33
	1572932
	2091
	5260
	7834
	8859
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	165
	2
	8308
	65535 24946
	[frmlay]
		4172
		5743
		3
		0
		0
		3
		5260
		0
		0
		2
		0
		1
		1
		0
		1
		960
		9446
		0
	[tbl]
		 6 4 0 86 2023 86 5 43 43
		[h]
			 0 240 86 2 0 3 0
			 1 200 86 2 0 3 0
			 2 200 86 2 0 3 0
			 3 200 86 2 0 3 0
			 4 2000 86 2 0 1 0
			 5 200 86 2 0 3 0
		[e]
		[w]
			 0 1536 120 6 0
			 1 720 120 6 0
			 2 1200 120 6 0
			 3 1764 120 6 0
		[e]
		[data]
			 0 1 8 0 0 0 0 1 0 0 0 0
@Column Head@<+@>Mask

>
			 0 2 8 0 0 0 0 1 0 0 0 0
@Column Head@<+@>File attribute

>
			 0 3 8 0 0 0 0 1 0 0 0 0
@Column Head@<+@>Constant

>
			 1 1 8 0 0 0 0 1 0 0 0 0
<+@>0.00

>
			 1 2 8 0 0 0 0 1 0 0 0 0
<+@>Normal file

>
			 1 3 0 0 0 0 0 1 0 0 0 0
ATTR_NORMAL

>
			 2 1 8 0 0 0 0 1 0 0 0 0
<+@>2.00

>
			 2 2 8 0 0 0 0 1 0 0 0 0
<+@>Hidden file

>
			 2 3 0 0 0 0 0 1 0 0 0 0
ATTR_HIDDEN

>
			 3 1 8 0 0 0 0 1 0 0 0 0
<+@>4.00

>
			 3 2 8 0 0 0 0 1 0 0 0 0
<+@>System file

>
			 3 3 0 0 0 0 0 1 0 0 0 0
ATTR_SYSTEM

>
			 4 1 8 0 0 0 0 1 0 0 0 0
<+@>8.00

>
			 4 2 8 0 0 0 0 1 0 0 0 0
<+@>Volume label

>
			 4 3 0 0 0 0 0 1 0 0 0 0
ATTR_VOLUME. If this is specified, then the presence <**>(or absence) of 2, 4, and 16 is irrelevant. The hidden, system, or directory attributes are not meaningful for a volume label.

>
			 5 1 8 0 0 0 0 1 0 0 0 0
<+@>16.00

>
			 5 2 8 0 0 0 0 1 0 0 0 0
<+@>Directory

>
			 5 3 0 0 0 0 0 1 0 0 0 0
ATTR_DIRECTORY

>
		[e]
	[tble]
[frm]
	220
	1572932
	960
	4730
	9446
	8243
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	163
	3
	255
	2048 62208
	[frmlay]
		11541
		8486
		3
		0
		0
		3
		4730
		0
		0
		2
		0
		0
		0
		552
		1
		720
		5040
		0
	[tbl]
		 10 3 0 86 1440 0 1 43 43
		[h]
			 0 210 86 18 0 1 0
			 1 200 86 2 0 2 0
			 2 400 86 2 0 1 0
			 3 200 86 2 0 2 0
			 4 200 86 2 0 1 0
			 5 200 86 2 0 1 0
			 6 200 86 2 0 1 0
			 7 400 86 2 0 1 0
			 8 400 86 2 0 1 0
			 9 200 86 2 0 2 0
		[e]
		[w]
			 0 691 0 2 0
			 1 2880 0 2 0
			 2 4872 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 4352 1 0 0 0 0
@Column Head@Data type

>
			 0 2 0 0 0 0 4352 1 0 0 0 0
<+!><:f,QCourier,>WRITE<:f> <:f,QCourier,>#<:f,2Palatino,> <-!><+"><:f>statement behavior<-">

>
			 1 1 0 0 0 0 0 1 0 0 0 0
<:f><:f>Numeric

>
			 1 2 0 0 0 0 0 1 0 0 0 0
Leading and trailing spaces are omitted.

>
			 2 1 0 0 0 0 0 1 0 0 0 0
<:f>String

>
			 2 2 0 0 0 0 0 1 0 0 0 0
<:f>All strings are enclosed in quotation marks. Fixed-length strings are padded with spaces as needed.

>
			 3 1 0 0 0 0 0 1 0 0 0 0
<+!><:f,QCourier,>DATE<-!><:f> <+!><:f,QCourier,>VARIANT

>
			 3 2 0 0 0 0 0 1 0 0 0 0
Uses one of the following date formats:

>
			 4 2 0 0 0 0 0 1 0 0 0 0
<:I240,0,0,0>#yyyy-mm-dd hh:mm:ss#

>
			 5 2 0 0 0 0 0 1 0 0 0 0
<:I240,0,0,0>#yyyy-mm-dd#

>
			 6 2 0 0 0 0 0 1 0 0 0 0
<:I240,0,0,0>#hh:mm:ss#

>
			 7 2 0 0 0 0 0 1 0 0 0 0
If either the date part or the time part is missing from the value, only the part provided is written to the file.

>
			 8 1 0 0 0 0 0 1 0 0 0 0
<+!><:f,QCourier,>VARIANT<-!><:f> with the value EMPTY

>
			 8 2 0 0 0 0 0 1 0 0 0 0
Writes no data (except a comma) to the file. If that variable is the last item on the line, the comma is omitted.

>
			 9 1 0 0 0 0 4096 1 0 0 0 0
<+!><:f,QCourier,>VARIANT<-!><:f> with the value <+!><:f,QCourier,>NULL

>
			 9 2 0 0 0 0 4096 1 0 0 0 0
Writes the string </S>#NULL#</T> to the file, omitting the quotes.

>
		[e]
	[tble]
[frm]
	220
	1572932
	960
	960
	9446
	2914
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	164
	4
	255
	2048 62208
	[frmlay]
		6480
		8486
		3
		0
		0
		3
		960
		0
		0
		2
		0
		0
		0
		552
		1
		1500
		5820
		0
	[tbl]
		 3 3 0 86 1440 0 1 43 43
		[h]
			 0 210 86 18 0 2 0
			 1 400 86 2 0 1 0
			 2 1000 86 2 0 1 0
		[e]
		[w]
			 0 696 0 2 0
			 1 1920 0 2 0
			 2 5832 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 4352 1 0 0 0 0
@Column Head@Element

>
			 0 2 0 0 0 0 4352 1 0 0 0 0
@Column Head@Meaning

>
			 1 1 0 0 0 0 0 1 0 0 0 0
<+"><:f>#file_number

>
			 1 2 0 0 0 0 0 1 0 0 0 0
<-">The file number assigned to the file when it was opened. Note that both the # symbol and the file number are required.

>
			 2 1 0 0 0 0 4096 1 0 0 0 0
<+"><:f>expression_list

>
			 2 2 0 0 0 0 4096 1 0 0 0 0
<-">The list of string or numeric expressions to be written to the file. Separate multiple expressions with commas. If you omit the 
<+">expression_list<-">, <+!><:f,QCourier,>WRITE<:f> <:f,QCourier,>#<-!><:f> writes a blank line to the file. The 
<+">expression_list <-">can</R>t include arrays, lists, type variables, or objects, but it can include individual array elements, list elements, or type members.

>
		[e]
	[tble]
[frm]
	219
	1572932
	720
	2357
	9206
	3868
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	162
	5
	255
	2048 62208
	[frmlay]
		6300
		8486
		3
		0
		0
		3
		2357
		0
		0
		2
		0
		0
		0
		552
		1
		1320
		5640
		0
	[tbl]
		 3 3 0 86 1440 0 1 43 43
		[h]
			 0 210 86 18 0 2 0
			 1 400 86 2 0 1 0
			 2 600 86 2 0 1 0
		[e]
		[w]
			 0 691 0 2 0
			 1 1920 0 2 0
			 2 5832 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 4352 1 0 0 0 0
@Column Head@Element

>
			 0 2 0 0 0 0 4352 1 0 0 0 0
@Column Head@Meaning

>
			 1 1 0 0 0 0 0 1 0 0 0 0
<+"><:f>#file_number

>
			 1 2 0 0 0 0 0 1 0 0 0 0
<-">The file number assigned to the file when it was opened (the file must be open). Note that both the # symbol and the file number are required.

>
			 2 1 0 0 0 0 4096 1 0 0 0 0
<+"><:f>width

>
			 2 2 0 0 0 0 4096 1 0 0 0 0
<-">An integer expression in the range 0-255, inclusive, that designates the number of characters written to a line before a new line is started. A 
<+">width<-"> of 0 (the default) designates no limit (no line length is set).

>
		[e]
	[tble]
[frm]
	213
	1572932
	720
	4808
	9206
	5719
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	160
	6
	255
	2048 62208
	[frmlay]
		6120
		8486
		3
		0
		0
		3
		4808
		0
		0
		2
		0
		0
		0
		552
		1
		1140
		5460
		0
	[tbl]
		 3 3 0 86 1440 0 1 43 43
		[h]
			 0 210 86 18 0 2 0
			 1 200 86 2 0 2 0
			 2 200 86 2 0 2 0
		[e]
		[w]
			 0 691 0 2 0
			 1 1920 0 2 0
			 2 5832 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 4352 1 0 0 0 0
@Column Head@Argument

>
			 0 2 0 0 0 0 4352 1 0 0 0 0
@Column Head@Description

>
			 1 1 0 0 0 0 0 1 0 0 0 0
<+"><:f>array_name

>
			 1 2 0 0 0 0 0 1 0 0 0 0
<-">The name of an array

>
			 2 1 0 0 0 0 4096 1 0 0 0 0
<+"><:f>dimension

>
			 2 2 0 0 0 0 4096 1 0 0 0 0
<-">Optional. An integer argument that specifies the array dimension

>
		[e]
	[tble]
[frm]
	211
	1572932
	960
	1239
	9446
	3436
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	158
	7
	255
	2048 62208
	[frmlay]
		5940
		8486
		3
		0
		0
		3
		1239
		0
		0
		2
		0
		0
		0
		552
		1
		960
		5280
		0
	[tbl]
		 4 3 0 86 1440 0 1 43 43
		[h]
			 0 210 86 18 0 2 0
			 1 800 86 2 0 1 0
			 2 200 86 2 0 2 0
			 3 600 86 2 0 1 0
		[e]
		[w]
			 0 691 0 2 0
			 1 1920 0 2 0
			 2 5832 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 4352 1 0 0 0 0
@Column Head@Element

>
			 0 2 0 0 0 0 4352 1 0 0 0 0
@Column Head@Description

>
			 1 1 0 0 0 0 0 1 0 0 0 0
<+"><:f>visibility

>
			 1 2 0 0 0 0 0 1 0 0 0 0
<-">Optional. One of the keywords <+!><:f,QCourier,>PUBLIC<-!><:f> or 
<+!><:f,QCourier,>PRIVATE<-!><:f>. The keyword <+!><:f,QCourier,>PUBLIC<-!><:f> means that the type is visible outside the current module, as long as the current module is loaded. 
<+!><:f,QCourier,>PRIVATE<-!><:f> means the type is visible only within the current module. A type is 
<+!><:f,QCourier,>PRIVATE<-!><:f> by default.

>
			 2 1 0 0 0 0 0 1 0 0 0 0
<+">type_name

>
			 2 2 0 0 0 0 0 1 0 0 0 0
<-">The name of the type.

>
			 3 1 0 0 0 0 4096 1 0 0 0 0
<+"><:f>member declarations

>
			 3 2 0 0 0 0 4096 1 0 0 0 0
<-">Declarations for the members of the type. There must be at least one declaration in the type. The declarations cannot include 
<+!><:f,QCourier,>CONST<-!><:f> statements.

>
		[e]
	[tble]
[frm]
	206
	1572932
	960
	7602
	9446
	8799
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	155
	8
	0
	0 512
	[frmlay]
		8640
		8486
		3
		0
		0
		3
		7602
		0
		0
		2
		0
		0
		0
		0
		1
		720
		5040
		0
	[tbl]
		 4 3 0 86 1440 0 1 43 43
		[h]
			 0 210 86 18 0 2 0
			 1 200 86 2 0 2 0
			 2 200 86 2 0 2 0
			 3 200 86 2 0 2 0
		[e]
		[w]
			 0 691 0 2 0
			 1 1920 0 2 0
			 2 5832 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 4352 1 0 0 0 0
@Column Head@Argument

>
			 0 2 0 0 0 0 4352 1 0 0 0 0
@Column Head@Is a numeric expression representing

>
			 1 1 0 0 0 0 0 1 0 0 0 0
<+"><:f>hour

>
			 1 2 0 0 0 0 0 1 0 0 0 0
<-">Hour (normally 0-23)

>
			 2 1 0 0 0 0 0 1 0 0 0 0
<+">minute

>
			 2 2 0 0 0 0 0 1 0 0 0 0
<-">Minute (normally 0-59)

>
			 3 1 0 0 0 0 4096 1 0 0 0 0
<+"><:f>second

>
			 3 2 0 0 0 0 4096 1 0 0 0 0
<-">Second (normally 0-59)

>
		[e]
	[tble]
[frm]
	202
	1572932
	720
	1439
	9198
	2912
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	154
	9
	3583
	256 3842
	[frmlay]
		3600
		8478
		3
		0
		0
		3
		1439
		0
		0
		2
		0
		0
		0
		0
		1
		720
		5040
		0
	[tbl]
		 5 3 0 86 1440 0 1 43 43
		[h]
			 0 200 86 18 0 2 0
			 1 200 86 2 0 2 0
			 2 200 86 2 0 2 0
			 3 200 86 2 0 2 0
			 4 200 86 2 0 2 0
		[e]
		[w]
			 0 691 0 2 0
			 1 3400 0 2 0
			 2 4344 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 4352 1 0 0 0 0
<+">If <-">Column <+">is<-">

>
			 0 2 0 0 0 0 4352 1 0 0 0 0
<+">Then<-"> <:f,QCourier,><+!>TAB<-!><:f> <+">moves to:<-">

>
			 1 1 0 0 0 0 0 1 0 0 0 0
<:f><:f>*<;> <+">width<-"> 

>
			 1 2 0 0 0 0 0 1 0 0 0 0
<+">column<-"> <:f,QCourier,><+!>MOD<-!><:f> <+">width

>
			 2 1 0 0 0 0 0 1 0 0 0 0
<:f><< 1

>
			 2 2 0 0 0 0 0 1 0 0 0 0
column 1

>
			 3 1 0 0 0 0 0 1 0 0 0 0
<:f>Smaller than the current print position

>
			 3 2 0 0 0 0 0 1 0 0 0 0
<+">(column<-"> - current position) on the next line

>
			 4 1 0 0 0 0 4096 1 0 0 0 0
<:f>Larger than the current print position

>
			 4 2 0 0 0 0 4096 1 0 0 0 0
<+">(column<-"> - current position) on the same line

>
		[e]
	[tble]
[frm]
	200
	1572932
	720
	2915
	9206
	6570
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	156
	10
	3583
	256 3842
	[frmlay]
		10800
		8486
		3
		0
		0
		3
		2915
		0
		0
		2
		0
		0
		0
		0
		1
		1500
		5820
		0
	[tbl]
		 7 3 0 86 1440 0 1 43 43
		[h]
			 0 210 86 18 0 2 0
			 1 400 86 2 0 1 0
			 2 1200 86 2 0 1 0
			 3 200 86 2 0 2 0
			 4 600 86 2 0 1 0
			 5 200 86 2 0 1 0
			 6 200 86 2 0 2 0
		[e]
		[w]
			 0 696 0 2 0
			 1 1920 0 2 0
			 2 5832 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 4352 1 0 0 0 0
@Column Head@Element

>
			 0 2 0 0 0 0 4352 1 0 0 0 0
@Column Head@Description

>
			 1 1 0 0 0 0 0 1 0 0 0 0
<:f>STATIC

>
			 1 2 0 0 0 0 0 1 0 0 0 0
Optional. The values of a <+!><:f,QCourier,>STATIC<-!><:f> sub</R>s variables are saved between calls to the sub.

>
			 2 1 0 0 0 0 0 1 0 0 0 0
<+">visibility

>
			 2 2 0 0 0 0 0 1 0 0 0 0
<-">Optional. One of the keywords <+!><:f,QCourier,>PUBLIC<-!><:f> or 
<+!><:f,QCourier,>PRIVATE<-!><:f>. The keyword <+!><:f,QCourier,>PUBLIC<-!><:f> means that the sub is visible outside the scope (module or class) where the sub is defined, as long as the current module is loaded. 
<+!><:f,QCourier,>PRIVATE<-!><:f> means the sub is visible only within the current scope. A sub in module scope is 
<+!><:f,QCourier,>PRIVATE<-!><:f> by default; a sub in class scope is 
<+!><:f,QCourier,>PUBLIC<-!><:f> by default.

>
			 3 1 0 0 0 0 0 1 0 0 0 0
<+">sub_name<-"> 

>
			 3 2 0 0 0 0 0 1 0 0 0 0
The sub name.

>
			 4 1 0 0 0 0 0 1 0 0 0 0
<+">arg_list

>
			 4 2 0 0 0 0 0 1 0 0 0 0
<-">Optional. A comma-separated list of declarations for arguments to be passed to this sub in sub calls. The syntax for each argument declaration is:

>
			 5 2 0 0 0 0 0 1 0 0 0 0
<:f><[>BYVAL] <+">arg_name<-"> <[> () | LIST ] <[>AS <+">data_type<-">]

>
			 6 1 0 0 0 0 4096 1 0 0 0 0

>
			 6 2 0 0 0 0 4096 1 0 0 0 0
<:f>The entire list of argument declarations is enclosed in parentheses.

>
		[e]
	[tble]
[frm]
	199
	1572932
	960
	960
	9446
	4572
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	153
	11
	3583
	256 3842
	[frmlay]
		10620
		8486
		3
		0
		0
		3
		960
		0
		0
		2
		0
		0
		0
		0
		1
		1320
		5640
		0
	[tbl]
		 6 3 0 86 1440 0 1 43 43
		[h]
			 0 210 86 18 0 2 0
			 1 400 86 2 0 1 0
			 2 600 86 2 0 1 0
			 3 400 86 2 0 1 0
			 4 1000 86 2 0 1 0
			 5 400 86 2 0 1 0
		[e]
		[w]
			 0 696 0 2 0
			 1 1920 0 2 0
			 2 5832 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 4352 1 0 0 0 0
@Column Head@Argument

>
			 0 2 0 0 0 0 4352 1 0 0 0 0
@Column Head@Description

>
			 1 1 0 0 0 0 0 1 0 0 0 0
<+"><:f>string_len

>
			 1 2 0 0 0 0 0 1 0 0 0 0
<-">A numeric expression whose value is the number of characters to put in the returned string. This is rounded to the nearest integer.

>
			 2 1 0 0 0 0 0 1 0 0 0 0
<+">char_code

>
			 2 2 0 0 0 0 0 1 0 0 0 0
<-">A numeric expression whose value specifies the ANSI character code for each character in the string. ANSI codes range from 0 through 255 inclusive. 

>
			 3 2 0 0 0 0 0 1 0 0 0 0
If <+">char_code<-"> is greater than 255, LotusScript divides <+">char_code<-"> by 256 and uses the remainder as the ANSI code.

>
			 4 2 0 0 0 0 0 1 0 0 0 0
If <+">char_code <-">is less than 0, LotusScript uses as the ANSI code the value of the expression 
<+">n</`><-">*</`>256</`>+</`><+">char_code<-">, where <+">n<-"> is the minimum integer such that this expression is greater than 0. For example, if 
<+">char_code <-">is -445, then the ANSI code is the value 2 * 256  - 445, or 67.

>
			 5 1 0 0 0 0 4096 1 0 0 0 0
<+"><:f>string_expr

>
			 5 2 0 0 0 0 4096 1 0 0 0 0
<-">Any string expression. The first character in this string is the character to be used in the returned string.

>
		[e]
	[tble]
[frm]
	198
	1572932
	720
	6208
	9206
	7691
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	157
	12
	3583
	256 3842
	[frmlay]
		10620
		8486
		3
		0
		0
		3
		6208
		0
		0
		2
		0
		0
		0
		0
		1
		1320
		5640
		0
	[tbl]
		 5 3 0 86 1440 0 1 43 43
		[h]
			 0 210 86 18 0 1 0
			 1 200 86 2 0 2 0
			 2 200 86 2 0 2 0
			 3 200 86 2 0 2 0
			 4 200 86 2 0 2 0
		[e]
		[w]
			 0 691 0 2 0
			 1 2400 240 6 0
			 2 5112 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 4352 1 0 0 0 0
@Column Head@If

>
			 0 2 0 0 0 0 4352 1 0 0 0 0
<+!><:f,QCourier,>STRCOMPARE<-!><:f> <+">returns<-">

>
			 1 1 0 0 0 0 0 1 0 0 0 0
Either string is <+!><:f,QCourier,>NULL

>
			 1 2 8 0 0 0 0 1 0 0 0 0
<+@> <+!><:f,QCourier,>NULL<-!><:f>

>
			 2 1 0 0 0 0 0 1 0 0 0 0
<+">string1<-"> is less than <+">string2

>
			 2 2 8 0 0 0 0 1 0 0 0 0
<+@>-1.00

>
			 3 1 0 0 0 0 0 1 0 0 0 0
<+">string1<-"> equals <+">string2

>
			 3 2 8 0 0 0 0 1 0 0 0 0
<+@>0.00

>
			 4 1 0 0 0 0 4096 1 0 0 0 0
<+"><:f>string1<-"> is greater than <+">string2

>
			 4 2 8 0 0 0 4096 1 0 0 0 0
<+@>1.00

>
		[e]
	[tble]
[frm]
	198
	1572932
	720
	3553
	9206
	5350
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	151
	13
	3583
	256 3842
	[frmlay]
		10440
		8486
		3
		0
		0
		3
		3553
		0
		0
		2
		0
		0
		0
		0
		1
		1140
		5460
		0
	[tbl]
		 4 3 0 86 1440 0 1 43 43
		[h]
			 0 210 86 18 0 2 0
			 1 200 86 2 0 2 0
			 2 200 86 2 0 2 0
			 3 800 86 2 0 1 0
		[e]
		[w]
			 0 691 0 2 0
			 1 1920 0 2 0
			 2 5832 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 4352 1 0 0 0 0
@Column Head@Argument

>
			 0 2 0 0 0 0 4352 1 0 0 0 0
@Column Head@Description

>
			 1 1 0 0 0 0 0 1 0 0 0 0
<+"><:f>string1

>
			 1 2 0 0 0 0 0 1 0 0 0 0
<-">A string expression

>
			 2 1 0 0 0 0 0 1 0 0 0 0
<+">string2

>
			 2 2 0 0 0 0 0 1 0 0 0 0
<-">A string expression

>
			 3 1 0 0 0 0 4096 1 0 0 0 0
<+"><:f>comp_method

>
			 3 2 0 0 0 0 4096 1 0 0 0 0
<-">Optional. A number designating the comparison method: 0 for case-sensitive, 1 for case-insensitive. If 
<+">comp_method<-"> is not provided, the default comparison mode is the mode set by the 
<+!><:f,QCourier,>OPTION COMPARE<-!><:f> statement for this module.

>
		[e]
	[tble]
[frm]
	192
	1572932
	960
	960
	9434
	6126
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	149
	14
	0
	3 0
	[frmlay]
		7120
		8474
		3
		0
		0
		3
		960
		0
		0
		2
		0
		133
		224
		23
		1
		720
		7920
		0
	[tbl]
		 10 5 0 86 1440 0 1 43 43
		[h]
			 0 210 86 18 0 4 0
			 1 1000 86 2 0 1 0
			 2 200 86 2 0 2 0
			 3 210 86 2 0 3 0
			 4 400 86 2 0 1 0
			 5 400 86 2 0 1 0
			 6 400 86 2 0 1 0
			 7 400 86 2 0 1 0
			 8 400 86 2 0 1 0
			 9 600 86 2 0 1 0
		[e]
		[w]
			 0 691 0 2 0
			 1 1700 0 2 0
			 2 1700 0 3 0
			 3 1700 0 3 0
			 4 2640 0 3 0
		[e]
		[data]
			 0 1 0 0 0 0 4352 1 0 0 0 0
@Column Head@Argument

>
			 0 2 0 0 0 0 4352 1 0 0 0 0
@Column Head@Description

>
			 0 3 0 0 0 0 4352 1 0 0 0 0
@Column Head@
>
			 0 4 0 0 0 0 4352 1 0 0 0 0
@Column Head@
>
			 1 1 0 0 0 0 0 1 0 0 0 0
<:f><+"><:f>program

>
			 1 2 384 1 3 0 0 1 0 0 0 0
<:f>A string expression whose value is the name of the program to run, including arguments. This can optionally include a complete path. The 
<+">program<-"> must be an executable file, with a file name extension of .BAT, .COM, .PIF, or .EXE (but you can omit the file name extension). Using an internal DOS command name generates an error.

>
			 1 3 128 0 1 0 0 0 0 0 0 0
			 1 4 128 0 2 0 0 0 0 0 0 0
			 2 1 0 0 0 0 0 1 0 0 0 0
<+"><:f>window_style

>
			 2 2 384 1 3 0 0 1 0 0 0 0
<:f>Optional. A number designating a valid window style, as follows:

>
			 2 3 128 0 1 0 0 0 0 0 0 0
			 2 4 128 0 2 0 0 0 0 0 0 0
			 3 2 0 0 0 0 0 1 0 0 0 0
@Column Head@Style

>
			 3 3 0 0 0 0 0 1 0 0 0 0
@Column Head@Description

>
			 3 4 0 0 0 0 0 1 0 0 0 0
@Column Head@Constant

>
			 4 2 0 0 0 0 0 1 0 0 0 0
<:f>1, 5, or 9

>
			 4 3 0 0 0 0 0 1 0 0 0 0
Normal with focus (default)

>
			 4 4 0 0 0 0 0 1 0 0 0 0
<:f,QCourier,><+!>SHELL_NORMAL_FOCUS<-!>

>
			 5 2 8 0 0 0 0 1 0 0 0 0
<+@>2.00

>
			 5 3 0 0 0 0 0 1 0 0 0 0
Minimized with focus (default)

>
			 5 4 0 0 0 0 0 1 0 0 0 0
<:f,QCourier,><+!>SHELL_MIN_FOCUS<-!><:f>

>
			 6 2 8 0 0 0 0 1 0 0 0 0
<+@><:f>3.00

>
			 6 3 0 0 0 0 0 1 0 0 0 0
Maximized with focus

>
			 6 4 0 0 0 0 0 1 0 0 0 0
<:f,QCourier,><+!>SHELL_MAX_FOCUS<-!><:f>

>
			 7 2 0 0 0 0 0 1 0 0 0 0
4 or 8

>
			 7 3 0 0 0 0 0 1 0 0 0 0
Normal without focus

>
			 7 4 0 0 0 0 0 1 0 0 0 0
<:f,QCourier,><+!>SHELL_NORMAL_NO_FOCUS<-!><:f>

>
			 8 2 0 0 0 0 0 1 0 0 0 0
6 or 7

>
			 8 3 0 0 0 0 0 1 0 0 0 0
Minimized without focus

>
			 8 4 0 0 0 0 0 1 0 0 0 0
<:f,QCourier,><+!>SHELL_MIN_NO_FOCUS<-!><:f>

>
			 9 1 0 0 0 0 4096 0 0 0 0 0
			 9 2 384 1 3 0 4096 1 0 0 0 0
The constants are defined in the file LSCONST.LSS. Including this file in your script allows you to use the constants</R> names instead of the numeric values.

>
			 9 3 128 0 1 0 4096 0 0 0 0 0
			 9 4 128 0 2 0 4096 0 0 0 0 0
		[e]
	[tble]
[frm]
	27
	1572932
	2040
	4010
	8366
	10033
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	43
	15
	3341
	12288 13568
	[frmlay]
		10800
		6326
		3
		0
		0
		3
		4010
		0
		0
		2
		0
		1
		0
		65535
		1
		960
		8160
		0
	[tbl]
		 20 4 200 86 1440 0 5 43 43
		[h]
			 0 460 86 18 0 4 0
			 1 200 86 2 0 4 0
			 2 200 86 2 0 4 0
			 3 200 86 2 0 3 0
			 4 200 86 2 0 3 0
			 5 200 86 2 0 3 0
			 6 200 86 2 0 3 0
			 7 200 86 2 0 3 0
			 8 200 86 2 0 4 0
			 9 200 86 2 0 3 0
			 10 200 86 2 0 4 0
			 11 200 86 2 0 4 0
			 12 200 86 2 0 4 0
			 13 200 86 2 0 3 0
			 14 200 86 2 0 4 0
			 15 200 86 2 0 3 0
			 16 200 86 2 0 3 0
			 17 200 86 2 0 2 0
			 18 200 86 2 0 2 0
			 19 200 86 2 0 2 0
		[e]
		[w]
			 0 825 120 6 0
			 1 2233 120 6 0
			 2 1440 120 6 0
			 3 1425 0 2 0
		[e]
		[data]
			 0 0 8 0 0 0 0 1 0 0 0 0
@Column Head@<+@><**>Return value

>
			 0 1 0 0 0 0 0 1 0 0 0 0
@Column Head@ <**>Value type

>
			 0 2 0 0 0 0 0 1 0 0 0 0
@Column Head@ <**>Constant

>
			 0 3 0 0 0 0 0 1 0 0 0 0
@Column Head@Storage of<**>variable

>
			 1 0 0 0 0 0 0 1 0 0 0 0
0.00

>
			 1 1 0 0 0 0 0 1 0 0 0 0
EMPTY

>
			 1 2 0 0 0 0 0 1 0 0 0 0
V_EMPTY

>
			 1 3 0 0 0 0 0 1 0 0 0 0
In Variant only

>
			 2 0 0 0 0 0 0 1 0 0 0 0
1.00

>
			 2 1 0 0 0 0 0 1 0 0 0 0
<-!>NULL<-!>

>
			 2 2 0 0 0 0 0 1 0 0 0 0
V_NULL

>
			 2 3 0 0 0 0 0 1 0 0 0 0
In Variant only

>
			 3 0 0 0 0 0 0 1 0 0 0 0
2.00

>
			 3 1 0 0 0 0 0 1 0 0 0 0
Integer

>
			 3 2 0 0 0 0 0 1 0 0 0 0
V_INTEGER

>
			 4 0 0 0 0 0 0 1 0 0 0 0
3.00

>
			 4 1 0 0 0 0 0 1 0 0 0 0
Long

>
			 4 2 0 0 0 0 0 1 0 0 0 0
V_LONG

>
			 5 0 0 0 0 0 0 1 0 0 0 0
4.00

>
			 5 1 0 0 0 0 0 1 0 0 0 0
Single

>
			 5 2 0 0 0 0 0 1 0 0 0 0
V_SINGLE

>
			 6 0 0 0 0 0 0 1 0 0 0 0
5.00

>
			 6 1 0 0 0 0 0 1 0 0 0 0
Double

>
			 6 2 0 0 0 0 0 1 0 0 0 0
V_DOUBLE

>
			 7 0 0 0 0 0 0 1 0 0 0 0
6.00

>
			 7 1 0 0 0 0 0 1 0 0 0 0
Currency

>
			 7 2 0 0 0 0 0 1 0 0 0 0
V_CURRENCY

>
			 8 0 0 0 0 0 0 1 0 0 0 0
7.00

>
			 8 1 0 0 0 0 0 1 0 0 0 0
Date/Time

>
			 8 2 0 0 0 0 0 1 0 0 0 0
V_DATE

>
			 8 3 0 0 0 0 0 1 0 0 0 0
In Variant only

>
			 9 0 0 0 0 0 0 1 0 0 0 0
8.00

>
			 9 1 0 0 0 0 0 1 0 0 0 0
String

>
			 9 2 0 0 0 0 0 1 0 0 0 0
V_STRING

>
			 10 0 0 0 0 0 0 1 0 0 0 0
9.00

>
			 10 1 0 0 0 0 0 1 0 0 0 0
OLE object or NOTHING

>
			 10 2 0 0 0 0 0 1 0 0 0 0
V_DISPATCH

>
			 10 3 0 0 0 0 0 1 0 0 0 0
In Variant only

>
			 11 0 0 0 0 0 0 1 0 0 0 0
10.00

>
			 11 1 0 0 0 0 0 1 0 0 0 0
OLE error

>
			 11 2 0 0 0 0 0 1 0 0 0 0
V_ERROR

>
			 11 3 0 0 0 0 0 1 0 0 0 0
In Variant only

>
			 12 0 0 0 0 0 0 1 0 0 0 0
11.00

>
			 12 1 0 0 0 0 0 1 0 0 0 0
OLE boolean

>
			 12 2 0 0 0 0 0 1 0 0 0 0
V_BOOLEAN

>
			 12 3 0 0 0 0 0 1 0 0 0 0
In Variant only

>
			 13 0 0 0 0 0 0 1 0 0 0 0
12.00

>
			 13 1 0 0 0 0 0 1 0 0 0 0
Variant list or array

>
			 13 2 0 0 0 0 0 1 0 0 0 0
V_VARIANT

>
			 14 0 0 0 0 0 0 1 0 0 0 0
13.00

>
			 14 1 0 0 0 0 0 1 0 0 0 0
IUNKNOWN (OLE value)

>
			 14 2 0 0 0 0 0 1 0 0 0 0
V_IUNKNOWN

>
			 14 3 0 0 0 0 0 1 0 0 0 0
In Variant only

>
			 15 0 0 0 0 0 0 1 0 0 0 0
34.00

>
			 15 1 0 0 0 0 0 1 0 0 0 0
LotusScript object

>
			 15 2 0 0 0 0 0 1 0 0 0 0
V_LSOBJ

>
			 16 0 0 0 0 0 0 1 0 0 0 0
35.00

>
			 16 1 0 0 0 0 0 1 0 0 0 0
Product object

>
			 16 2 0 0 0 0 0 1 0 0 0 0
V_PRODOBJ

>
			 17 0 0 0 0 0 0 1 0 0 0 0
2048.00

>
			 17 1 0 0 0 0 0 1 0 0 0 0
List

>
			 18 0 0 0 0 0 0 1 0 0 0 0
8192.00

>
			 18 1 0 0 0 0 0 1 0 0 0 0
Fixed array

>
			 19 0 0 0 0 0 0 1 0 0 0 0
8704.00

>
			 19 1 0 0 0 0 0 1 0 0 0 0
Dynamic array

>
		[e]
	[tble]
[frm]
	31
	1572932
	2241
	1080
	8164
	3107
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	44
	16
	18687
	6235 62627
	[frmlay]
		5220
		5923
		3
		0
		0
		3
		1080
		0
		0
		2
		0
		0
		67
		17152
		1
		960
		5280
		0
	[tbl]
		 4 2 0 86 1440 0 5 43 43
		[h]
			 0 240 86 18 0 2 0
			 1 1000 86 2 0 1 0
			 2 200 86 2 0 2 0
			 3 200 86 2 0 2 0
		[e]
		[w]
			 0 1200 120 6 0
			 1 4560 0 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
@Column Head@Argument

>
			 0 1 0 0 0 0 0 1 0 0 0 0
@Column Head@Description

>
			 1 0 0 0 0 0 0 1 0 0 0 0
<+"><:f>year

>
			 1 1 0 0 0 0 0 1 0 0 0 0
<-">A numeric expression representing a year. Values from 0 to 99 designate the years 1900 to 1999: for example, DateNumber (89). To designate other centuries, you must use all four digits: for example, DateNumber (1880).

>
			 2 0 0 0 0 0 0 1 0 0 0 0
<+"><:f>month

>
			 2 1 0 0 0 0 0 1 0 0 0 0
<-">A numeric expression representing a month of the year.

>
			 3 0 0 0 0 0 0 1 0 0 0 0
<+"><:f>day

>
			 3 1 0 0 0 0 0 1 0 0 0 0
<-">A numeric expression representing a day of the month.

>
		[e]
	[tble]
[frm]
	35
	1572932
	2241
	960
	8164
	3495
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	45
	17
	7935
	2 27648
	[frmlay]
		1760
		5923
		3
		0
		0
		3
		960
		0
		0
		2
		0
		2
		0
		65535
		1
		960
		5280
		0
	[tbl]
		 8 2 0 86 1440 0 5 43 43
		[h]
			 0 240 86 18 0 2 0
			 1 1558 86 2 0 1 0
			 2 400 86 2 0 1 0
			 3 800 86 2 0 1 0
			 4 800 86 2 0 1 0
			 5 2000 86 2 0 1 0
			 6 2916 86 2 0 1 0
			 7 2037 86 2 0 1 0
		[e]
		[w]
			 0 1440 120 6 0
			 1 4320 0 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
@Column Head@Element

>
			 0 1 0 0 0 0 0 1 0 0 0 0
@Column Head@Description

>
			 1 0 0 0 0 0 0 1 0 0 0 0
<:f><+!>Public<-!> | <+!>Private<-!>

>
			 1 1 0 0 0 0 0 1 0 0 0 0
<-">Optional.

Public indicates that the declared subprogram is visible outside the current module, as long as the current module is loaded.

Private indicates that the declared subprogram is visible only within the current module. A declared subprogram is Private by default.<-">

>
			 2 0 0 0 0 0 0 1 0 0 0 0
<:f><+!>Function<-!> | <+!>Sub<-!>

>
			 2 1 0 0 0 0 0 1 0 0 0 0
<-">Identifies the subprogram as either a Function or a Sub.<-">

>
			 3 0 0 0 0 0 0 1 0 0 0 0
<+"><:f>LS_name<-"> 

>
			 3 1 0 0 0 0 0 1 0 0 0 0
The function or sub name used within LotusScript. <+">LS_name<-"> can include a suffix character for type declaration. If the Alias clause is not used, this name must match the name declared in the library (.DLL).

>
			 4 0 0 0 0 0 0 1 0 0 0 0
<+"><:f>lib_name

>
			 4 1 0 0 0 0 0 1 0 0 0 0
<-">A literal string, or a symbolic constant containing a string value, specifying the DLL file name. The file name extension is optional. For example, 
</S><++>c:\windows\user.DLL</T><-+> or </S>USER</T>. 

>
			 5 0 0 0 0 0 0 1 0 0 0 0
<+"><:f>alias_name

>
			 5 1 0 0 0 0 0 1 0 0 0 0
<-">Optional. A literal string containing either a case-sensitive C function name as declared in the library (.DLL), or a number sign ( # ) followed by an ordinal number representing the position of the function in the library (for example, 
</S>#1</T>). This argument is useful when the C function name is not a valid LotusScript name, or when you need to preserve case sensitivity (for example, when calling an exported DLL function in a 32-bit version of Windows).

>
			 6 0 0 0 0 0 0 1 0 0 0 0
<+"><:f>argument_list

>
			 6 1 0 0 0 0 0 1 0 0 0 0
<-">Optional. An argument list for the external function. Parentheses are required, even if the subprogram takes no arguments. It has the form:

<+"><:f>argument<-"> <[>,<+">argument ...<-">]

where <+">argument<-"> is:

<[><+!>ByVal<-!>] <+">name<-"> <+!>As <-!><[><+!> LMBCS <-!>|<+!> Unicode<-!>]<**>       <[><+"> datatype 
<-"><+!>|<-!><+!> Any <-!>]

The optional LMBCS and Unicode keywords may be used with the String data type only. See the usage information and examples below.<**>Use Any to pass an argument to a C function without specifying a data type, suppressing type checking<:f>.

>
			 7 0 0 0 0 0 0 1 0 0 0 0
<+"><:f>return_type

>
			 7 1 0 0 0 0 0 1 0 0 0 0
<-">The function return value type. This is optional for a function, and not allowed for a sub. It has the form:

<[><+!>LMBCS<-!> | <+!>Unicode<-!>] <+">data_type<-">

The <+">data_type<-"> must match the C function return type exactly; no conversion is performed on the return value.

The optional LMBCS and Unicode keywords may be used with the String data type only. See the usage information and examples below.

>
		[e]
	[tble]
[frm]
	37
	1572932
	1964
	960
	7962
	2258
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	47
	18
	0
	9471 2
	[frmlay]
		4320
		5998
		3
		0
		0
		3
		960
		0
		0
		2
		0
		78
		0
		0
		1
		960
		5280
		0
	[tbl]
		 7 2 0 86 1440 0 5 43 43
		[h]
			 0 240 86 18 0 2 0
			 1 800 86 2 0 1 0
			 2 1958 86 2 0 1 0
			 3 1400 86 2 0 1 0
			 4 200 86 2 0 2 0
			 5 800 86 2 0 1 0
			 6 800 86 2 0 1 0
		[e]
		[w]
			 0 1275 120 6 0
			 1 4560 0 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
@Column Head@Element

>
			 0 1 0 0 0 0 0 1 0 0 0 0
@Column Head@Description

>
			 1 0 0 0 0 0 0 1 0 0 0 0
<:f><+!>Static<-!>

>
			 1 1 0 0 0 0 0 1 0 0 0 0
Optional. Indicates that the values of the subprogram</R>s variables are saved between calls to the subprogram. If this keyword is present, it must also be present in the declaration for the subprogram.

>
			 2 0 0 0 0 0 0 1 0 0 0 0
<:f><+!>Public<-!> <+!>|<-!> <+!>Private<-!>

>
			 2 1 0 0 0 0 0 1 0 0 0 0
<-">Optional.

Public indicates that the declared subprogram is visible outside the current module, as long as the current module is loaded. If this keyword is present, it must also be present in the declaration for the subprogram.<-"><-">

<:f>Private indicates that the declared subprogram is visible only within the current module. If this keyword is present, it must also be present in the declaration for the subprogram.<-"><-">

>
			 3 0 0 0 0 0 0 1 0 0 0 0
<+"><:f>subtype

>
			 3 1 0 0 0 0 0 1 0 0 0 0
<-">One of the following four keyword phrases, to identify the subprogram type:<**><**><+!>Function<**>Sub<**>Property Get<**>Property Set<-!><-"><-">

>
			 4 0 0 0 0 0 0 1 0 0 0 0
<+"><:f>subname<-"> 

>
			 4 1 0 0 0 0 0 1 0 0 0 0
<:f>The name of a function, sub, or property.

>
			 5 0 0 0 0 0 0 1 0 0 0 0
<+"><:f>arg_list

>
			 5 1 0 0 0 0 0 1 0 0 0 0
<-"><:f>The argument list for the subprogram. This must match the argument list in the declaration in the function or sub definition, in both number of arguments and type of each argument.

>
			 6 0 0 0 0 0 0 1 0 0 0 0
<+"><:f>return_type

>
			 6 1 0 0 0 0 0 1 0 0 0 0
<-">The function return value data type. This is optional for a function, and not allowed for a sub. This must match the return type in the function definition; no conversion is performed on the return value.

>
		[e]
	[tble]
[frm]
	39
	1572932
	2181
	7130
	8224
	9501
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	48
	19
	0
	65280 11007
	[frmlay]
		2130
		6043
		3
		0
		0
		3
		7130
		0
		0
		2
		0
		255
		255
		528
		1
		960
		6720
		0
	[tbl]
		 8 3 0 86 1440 0 5 43 43
		[h]
			 0 240 86 18 0 3 0
			 1 200 86 2 0 3 0
			 2 200 86 2 0 3 0
			 3 200 86 2 0 3 0
			 4 200 86 2 0 3 0
			 5 200 86 2 0 3 0
			 6 200 86 2 0 3 0
			 7 200 86 2 0 3 0
		[e]
		[w]
			 0 1200 120 6 0
			 1 1200 120 6 0
			 2 3360 0 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
@Column Head@Statement

>
			 0 1 0 0 0 0 0 1 0 0 0 0
@Column Head@Data type

>
			 0 2 0 0 0 0 0 1 0 0 0 0
@Column Head@Suffix character

>
			 1 0 0 0 0 0 0 1 0 0 0 0
DefCur

>
			 1 1 0 0 0 0 0 1 0 0 0 0
Currency

>
			 1 2 0 0 0 0 0 1 0 0 0 0
<:f>@

>
			 2 0 0 0 0 0 0 1 0 0 0 0
DefDbl

>
			 2 1 0 0 0 0 0 1 0 0 0 0
Double

>
			 2 2 0 0 0 0 0 1 0 0 0 0
<:f>#

>
			 3 0 0 0 0 0 0 1 0 0 0 0
DefInt

>
			 3 1 0 0 0 0 0 1 0 0 0 0
Integer

>
			 3 2 0 0 0 0 0 1 0 0 0 0
<:f>%

>
			 4 0 0 0 0 0 0 1 0 0 0 0
DefLng

>
			 4 1 0 0 0 0 0 1 0 0 0 0
Long

>
			 4 2 0 0 0 0 0 1 0 0 0 0
<:f>&

>
			 5 0 0 0 0 0 0 1 0 0 0 0
DefSng

>
			 5 1 0 0 0 0 0 1 0 0 0 0
Single

>
			 5 2 0 0 0 0 0 1 0 0 0 0
<:f>!

>
			 6 0 0 0 0 0 0 1 0 0 0 0
DefStr

>
			 6 1 0 0 0 0 0 1 0 0 0 0
String

>
			 6 2 0 0 0 0 0 1 0 0 0 0
<:f>$

>
			 7 0 0 0 0 0 0 1 0 0 0 0
DefVar

>
			 7 1 0 0 0 0 0 1 0 0 0 0
Variant

>
			 7 2 0 0 0 0 0 1 0 0 0 0
<:f>(none)

>
		[e]
	[tble]
[frm]
	41
	1572932
	1971
	960
	7954
	11327
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	49
	20
	2560
	521 15360
	[frmlay]
		7070
		5983
		3
		0
		0
		3
		960
		0
		0
		2
		0
		14
		20
		9046
		1
		960
		5280
		0
	[tbl]
		 15 2 0 86 1440 0 5 43 43
		[h]
			 0 240 86 18 0 2 0
			 1 800 86 2 0 1 0
			 2 1837 86 2 0 1 0
			 3 600 86 2 0 1 0
			 4 400 86 2 0 1 0
			 5 400 86 2 0 1 0
			 6 400 86 2 0 1 0
			 7 400 86 2 0 1 0
			 8 200 86 2 0 1 0
			 9 1400 86 2 0 1 0
			 10 200 86 2 0 2 0
			 11 800 86 2 0 1 0
			 12 400 86 2 0 1 0
			 13 1000 86 2 0 1 0
			 14 800 86 2 0 1 0
		[e]
		[w]
			 0 1500 120 6 0
			 1 4320 0 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
@Column Head@Element

>
			 0 1 0 0 0 0 0 1 0 0 0 0
@Column Head@Description

>
			 1 0 0 0 0 0 0 1 0 0 0 0
<:f><+!>Static<-!>

>
			 1 1 0 0 0 0 0 1 0 0 0 0
Indicates that the<:f> variable's value is saved between calls to the subprogram where the variable is declared. The 
<:f>Static keyword be used in subprogram scope, but not in module or class scope.

>
			 2 0 0 0 0 0 0 1 0 0 0 0
<:f><+!>Public<-!> | <+!>Private<-!>

>
			 2 1 0 0 0 0 0 1 0 0 0 0
<-"><-"><:f>Public indicates that the variable is visible outside the scope (module or class) where the variable is defined, as long as the current module is loaded.

Private indicates that the variable is visible only within the current scope.

A variable is Private by default.

Public and Private can be used in module or class scope, but not in subprogram scope.

>
			 3 0 0 0 0 0 0 1 0 0 0 0
<+"><:f>variable_name

>
			 3 1 0 0 0 0 0 1 0 0 0 0
<-">The name of the variable being declared. Any number of variables can be declared in a single statement.

>
			 4 0 0 0 0 0 0 1 0 0 0 0
<:f><+!>( )<-!>

>
			 4 1 0 0 0 0 0 1 0 0 0 0
Optional. This specifies that <+">variable_name<-"> is an array.

>
			 5 0 0 0 0 0 0 1 0 0 0 0
<+">bounds

>
			 5 1 0 0 0 0 0 1 0 0 0 0
<-">Optional. A comma-separated list of bounds for the dimensions of a fixed array.

>
			 6 1 0 0 0 0 0 1 0 0 0 0
If there are no bounds within ( ), the array is a dynamic array.

>
			 7 1 0 0 0 0 0 1 0 0 0 0
The bounds for each dimension of a fixed array are specified in the form:

>
			 8 1 0 0 0 0 0 1 0 0 0 0
<[><+">lower_bound<-"> <+!>To<-!>] <+">upper_bound<-">

>
			 9 1 0 0 0 0 0 1 0 0 0 0
<:f>Here <+">lower_bound<-"> is a number designating the minimum subscript allowed for the dimension, and 
<+">upper_bound <-">is a number designating the maximum. If no <+">lower_bound<-"> is specified, the lower bound for the array dimension defaults to 0, unless the default lower bound has been changed to 1 using the Option Base statement.

>
			 10 0 0 0 0 0 0 1 0 0 0 0
<:f><+!>List<-!>

>
			 10 1 0 0 0 0 0 1 0 0 0 0
Optional. This specifies that <+">variable_name<-"> is a list.

>
			 11 0 0 0 0 0 0 1 0 0 0 0
<:f><+!>New<-!>

>
			 11 1 0 0 0 0 0 1 0 0 0 0
Optional. This is valid only if <+">type<-"> is the name of a defined class. New creates a new object of the class named by 
<+">type<-">, and assigns a reference to that object in <+">variable_name<-">.

>
			 12 0 0 0 0 0 0 1 0 0 0 0
<+"><:f>type

>
			 12 1 0 0 0 0 0 1 0 0 0 0
<-">Optional. A valid LotusScript data type, user-defined type, or class. This specifies the type of 
<+">variable_name<-">.

>
			 13 1 0 0 0 0 0 1 0 0 0 0
<:f>If <+">type<-"> is the name of a class, <+">variable_name<-"> is an object reference for that type: its value can only be a reference to an instance of that class or to an instance of a derived class of that class, or the value NOTHING.

>
			 14 0 0 0 0 0 0 1 0 0 0 0
<:f><+"><:f>arg_list

>
			 14 1 0 0 0 0 0 1 0 0 0 0
<-">Optional. This is valid only if the New keyword is specified. 
<+">arg_list<-"> is the comma-separated list of arguments required by the class constructor sub (the sub New, defined in the class named by 
<+">type<-">).<-">

>
		[e]
	[tble]
[frm]
	42
	1572932
	2241
	2840
	8164
	4353
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	50
	21
	25599
	0 65280
	[frmlay]
		8630
		5923
		3
		0
		0
		3
		2840
		0
		0
		2
		0
		0
		0
		232
		1
		720
		5040
		0
	[tbl]
		 5 2 0 86 1440 0 5 43 43
		[h]
			 0 240 86 18 0 2 0
			 1 200 86 2 0 2 0
			 2 200 86 2 0 2 0
			 3 200 86 2 0 2 0
			 4 200 86 2 0 2 0
		[e]
		[w]
			 0 2160 120 6 0
			 1 3600 0 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
@Column Head@Variable specification

>
			 0 1 0 0 0 0 0 1 0 0 0 0
@Column Head@Variable

>
			 1 0 0 0 0 0 0 1 0 0 0 0
<+"><:f>variable_name<-"> 

>
			 1 1 0 0 0 0 0 1 0 0 0 0
A non-array, non-list variable

>
			 2 0 0 0 0 0 0 1 0 0 0 0
<+">variable_name<-"> <+!>(<-!><+">bounds<-"><+!>)<-!>

>
			 2 1 0 0 0 0 0 1 0 0 0 0
A fixed array 

>
			 3 0 0 0 0 0 0 1 0 0 0 0
<+">variable_name <-"><+!>( )<-!>

>
			 3 1 0 0 0 0 0 1 0 0 0 0
A dynamic array 

>
			 4 0 0 0 0 0 0 1 0 0 0 0
<:f><+"><:f>variable_name<-"> <+!>List<-!>

>
			 4 1 0 0 0 0 0 1 0 0 0 0
<-!><:f>A list 

>
		[e]
	[tble]
[frm]
	43
	1572932
	2001
	2360
	7924
	6245
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	51
	22
	0
	25599 0
	[frmlay]
		8080
		5923
		3
		0
		0
		3
		2360
		0
		0
		2
		0
		255
		255
		65535
		1
		960
		5280
		0
	[tbl]
		 7 2 0 86 1440 0 5 43 43
		[h]
			 0 240 86 18 0 2 0
			 1 400 86 2 0 1 0
			 2 600 86 2 0 1 0
			 3 200 86 2 0 2 0
			 4 200 86 2 0 2 0
			 5 600 86 2 0 1 0
			 6 1000 86 2 0 1 0
		[e]
		[w]
			 0 2880 120 6 0
			 1 2880 0 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
@Column Head@Type of variable

>
			 0 1 0 0 0 0 0 1 0 0 0 0
@Column Head@Initial value

>
			 1 0 0 0 0 0 0 1 0 0 0 0
<:f>Numeric (Integer, Long, Single, Double, Currency)

>
			 1 1 8 0 0 0 0 1 0 0 0 0
<+@><-!>0.00

>
			 2 0 0 0 0 0 0 1 0 0 0 0
<:f>Fixed-length String

>
			 2 1 0 0 0 0 0 1 0 0 0 0
<-!><:f>A string of the specified length, filled with Chr(0) (the Null character)<-!>

>
			 3 0 0 0 0 0 0 1 0 0 0 0
Variable-length String

>
			 3 1 0 0 0 0 0 1 0 0 0 0
<-!><:f,QCourier,>""<:f> (the empty string)

>
			 4 0 0 0 0 0 0 1 0 0 0 0
Variant 

>
			 4 1 0 0 0 0 0 1 0 0 0 0
EMPTY

>
			 5 0 0 0 0 0 0 1 0 0 0 0
Object reference variable

>
			 5 1 0 0 0 0 0 1 0 0 0 0
NOTHING (unless New is specified in the variable declaration)

>
			 6 0 0 0 0 0 0 1 0 0 0 0
<:f>Type variable 

>
			 6 1 0 0 0 0 0 1 0 0 0 0
Type members (or members of its members, and so forth) each have one of the types listed above. They are allocated, and initialized as described above.

>
		[e]
	[tble]
[frm]
	50
	1572932
	2181
	3040
	8224
	5467
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	53
	23
	2
	2304 561
	[frmlay]
		10080
		6043
		3
		0
		0
		3
		3040
		0
		0
		2
		0
		0
		0
		8704
		1
		720
		6480
		0
	[tbl]
		 4 3 0 86 1440 0 5 43 43
		[h]
			 0 240 86 18 0 3 0
			 1 800 86 2 0 1 0
			 2 600 86 2 0 1 0
			 3 400 86 2 0 2 0
		[e]
		[w]
			 0 1080 120 6 0
			 1 2340 120 6 0
			 2 2340 0 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
@Column Head@File type

>
			 0 1 0 0 0 0 0 1 0 0 0 0
@Column Head@EOF returns TRUE (-1) if:

>
			 0 2 0 0 0 0 0 1 0 0 0 0
@Column Head@EOF returns FALSE (0) if:

>
			 1 0 0 0 0 0 0 1 0 0 0 0
<:f><:f>Binary

>
			 1 1 0 0 0 0 0 1 0 0 0 0
<:f>The last executed Get statement cannot read the amount of data (the number of bytes) requested.

>
			 1 2 0 0 0 0 0 1 0 0 0 0
<:f>It successfully reads the amount of data requested.

>
			 2 0 0 0 0 0 0 1 0 0 0 0
<:f>Random

>
			 2 1 0 0 0 0 0 1 0 0 0 0
<:f>The last executed Get statement cannot read an entire record.

>
			 2 2 0 0 0 0 0 1 0 0 0 0
<:f>It successfully reads an entire record.

>
			 3 0 0 0 0 0 0 1 0 0 0 0
<:f>Sequential

>
			 3 1 0 0 0 0 0 1 0 0 0 0
<:f>The end of the file has been reached.

>
			 3 2 0 0 0 0 0 1 0 0 0 0
<:f>It does not reach the end <**>of the file.

>
		[e]
	[tble]
[frm]
	52
	1572932
	2001
	6597
	7924
	9796
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	54
	24
	4607
	2 29696
	[frmlay]
		3680
		5923
		3
		0
		0
		3
		6597
		0
		0
		2
		0
		255
		255
		99
		1
		720
		5040
		0
	[tbl]
		 6 2 0 86 1440 0 5 43 43
		[h]
			 0 240 86 18 0 2 0
			 1 200 86 2 0 2 0
			 2 600 86 2 0 1 0
			 3 800 86 2 0 1 0
			 4 600 86 2 0 1 0
			 5 200 86 2 0 2 0
		[e]
		[w]
			 0 1440 120 6 0
			 1 4320 0 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
@Column Head@If you erase a

>
			 0 1 0 0 0 0 0 1 0 0 0 0
@Column Head@This happens

>
			 1 0 0 0 0 0 0 1 0 0 0 0
<:f>Fixed array

>
			 1 1 0 0 0 0 0 1 0 0 0 0
Its elements are reinitialized.

>
			 2 0 0 0 0 0 0 1 0 0 0 0
Dynamic array

>
			 2 1 0 0 0 0 0 1 0 0 0 0
LotusScript removes all elements from storage and recovers the storage. The array retains its type, but has no elements. 

>
			 3 1 0 0 0 0 0 1 0 0 0 0
Note that you must use ReDim to redeclare the array before referring to its elements again. If you used ReDim before it was erased, the array maintains its number of dimensions.

>
			 4 0 0 0 0 0 0 1 0 0 0 0
List

>
			 4 1 0 0 0 0 0 1 0 0 0 0
LotusScript removes all elements from storage and recovers the storage. The list retains its type, but has no elements.

>
			 5 0 0 0 0 0 0 1 0 0 0 0
<:f>List element

>
			 5 1 0 0 0 0 0 1 0 0 0 0
The element no longer exists in the list.

>
		[e]
	[tble]
[frm]
	57
	1572932
	2241
	3130
	8164
	5071
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	55
	25
	4
	2816 65280
	[frmlay]
		6600
		5923
		3
		0
		0
		3
		3130
		0
		0
		2
		0
		27
		18
		11760
		1
		960
		5280
		0
	[tbl]
		 3 2 0 86 1440 0 5 43 43
		[h]
			 0 240 86 18 0 2 0
			 1 800 86 2 0 1 0
			 2 600 86 2 0 1 0
		[e]
		[w]
			 0 1440 120 6 0
			 1 4320 0 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
@Column Head@Element

>
			 0 1 0 0 0 0 0 1 0 0 0 0
@Column Head@Description

>
			 1 0 0 0 0 0 0 1 0 0 0 0
<+"><:f>err_number

>
			 1 1 0 0 0 0 0 1 0 0 0 0
<-">A numeric expression whose value is a LotusScript-defined error number or a user-defined error number. The 
<+">err_number<-"> argument can be any number between 1 and 32767 inclusive.

>
			 2 0 0 0 0 0 0 1 0 0 0 0
<+"><:f>msg_expr

>
			 2 1 0 0 0 0 0 1 0 0 0 0
<-">Optional. A string expression containing an error message. This string replaces any existing message associated with the error number.

>
		[e]
	[tble]
[frm]
	60
	1572932
	2241
	1400
	8164
	4685
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	56
	26
	23553
	14369 50944
	[frmlay]
		6070
		5923
		3
		0
		0
		3
		1400
		0
		0
		2
		0
		1
		0
		65535
		1
		720
		5040
		0
	[tbl]
		 7 2 0 86 1440 0 5 43 43
		[h]
			 0 240 86 18 0 2 0
			 1 400 86 2 0 1 0
			 2 400 86 2 0 1 0
			 3 400 86 2 0 1 0
			 4 400 86 2 0 1 0
			 5 400 86 2 0 1 0
			 6 400 86 2 0 1 0
		[e]
		[w]
			 0 1680 120 6 0
			 1 4080 0 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
@Column Head@Exit block type

>
			 0 1 0 0 0 0 0 1 0 0 0 0
@Column Head@Execution continues

>
			 1 0 0 0 0 0 0 1 0 0 0 0
Exit Do

>
			 1 1 0 0 0 0 0 1 0 0 0 0
<-!><:f>At the first statement following the end of the block statement.

>
			 2 0 0 0 0 0 0 1 0 0 0 0
Exit For

>
			 2 1 0 0 0 0 0 1 0 0 0 0
<-!><:f>At the first statement following the end of the block statement.

>
			 3 0 0 0 0 0 0 1 0 0 0 0
Exit ForAll

>
			 3 1 0 0 0 0 0 1 0 0 0 0
<-!><:f>At the first statement following the end of the block statement.

>
			 4 0 0 0 0 0 0 1 0 0 0 0
Exit Function

>
			 4 1 0 0 0 0 0 1 0 0 0 0
<-!><:f>In the script, as it would from a normal return from the subprogram.

>
			 5 0 0 0 0 0 0 1 0 0 0 0
Exit Sub

>
			 5 1 0 0 0 0 0 1 0 0 0 0
<-!><:f>In the script, as it would from a normal return from the subprogram.

>
			 6 0 0 0 0 0 0 1 0 0 0 0
Exit Property

>
			 6 1 0 0 0 0 0 1 0 0 0 0
<-!><:f>In the script, as it would from a normal return from the subprogram.

>
		[e]
	[tble]
[frm]
	185
	1572932
	720
	4634
	9206
	8031
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	146
	27
	0
	17919 32769
	[frmlay]
		8140
		8486
		3
		0
		0
		3
		4634
		0
		0
		2
		0
		0
		0
		0
		1
		2340
		6660
		0
	[tbl]
		 4 3 0 86 1440 0 1 43 43
		[h]
			 0 210 86 18 0 2 0
			 1 400 86 2 0 1 0
			 2 1200 86 2 0 1 0
			 3 1200 86 2 0 1 0
		[e]
		[w]
			 0 691 0 2 0
			 1 1680 0 2 0
			 2 6072 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 4352 1 0 0 0 0
@Column Head@<:f>Element

>
			 0 2 0 0 0 0 4352 1 0 0 0 0
@Column Head@<:f>Description<:f>

>
			 1 1 0 0 0 0 0 1 0 0 0 0
<:f><+"><:f>string

>
			 1 2 0 0 0 0 0 1 0 0 0 0
<-"><:f>The sequence of keystrokes to be sent to the active window (any string expression).

>
			 2 1 0 0 0 0 0 1 0 0 0 0
<:f><:f>

>
			 2 2 0 0 0 0 0 1 0 0 0 0
To repeat a keystroke in <+">string<-">, use the code {<+">key count<-">}, where 
<+">key<-"> is the keystroke to repeat, and <+">count<-"> is the number of times to repeat it. For example, {RIGHT 3} represents pressing the Right Arrow key three times. Be sure to include a space between 
<+">key<-"> and <+">count<-"> to avoid confusion with the function keys. For example, {F4} represents pressing the function key F4, while {F 4} represents pressing the letter F four times.

>
			 3 1 0 0 0 0 4096 1 0 0 0 0
<+"><:f>process_now

>
			 3 2 0 0 0 0 4096 1 0 0 0 0
<-"><:f>Optional. A numeric value interpreted as <+!><:f,QCourier,>TRUE<-!><:f> (any non-zero value) or 
<+!><:f,QCourier,>FALSE<-!><:f> (0). If <+">process_now<-"> is <+!><:f,QCourier,>TRUE<-!><:f>, script execution does not continue until after all characters in 
<+">string<-"> have been processed by the active window. If <+">process_now<-"> is 
<+!><:f,QCourier,>FALSE<-!><:f>, script execution continues immediately, whether or not 
<+">string<-"> has been fully processed. The default value of <+">process_now<-"> is 
<+!><:f,QCourier,>FALSE<-!><:f>.

>
		[e]
	[tble]
[frm]
	186
	1572932
	960
	960
	9438
	2772
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	140
	28
	0
	17919 32769
	[frmlay]
		4639
		8478
		3
		0
		0
		3
		960
		0
		0
		2
		0
		0
		0
		0
		1
		720
		7920
		0
	[tbl]
		 12 5 0 86 1440 0 1 43 43
		[h]
			 0 210 86 18 0 4 0
			 1 200 86 2 0 4 0
			 2 200 86 2 0 3 0
			 3 200 86 2 0 4 0
			 4 200 86 2 0 4 0
			 5 200 86 2 0 4 0
			 6 200 86 2 0 4 0
			 7 200 86 2 0 4 0
			 8 200 86 2 0 4 0
			 9 200 86 2 0 4 0
			 10 200 86 2 0 4 0
			 11 200 86 2 0 4 0
		[e]
		[w]
			 0 691 0 2 0
			 1 1700 0 2 0
			 2 1920 0 2 0
			 3 1700 0 2 0
			 4 2424 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 4352 1 0 0 0 0
@Column Head@Key

>
			 0 2 0 0 0 0 4352 1 0 0 0 0
@Column Head@Code

>
			 0 3 0 0 0 0 4352 1 0 0 0 0
@Column Head@Key

>
			 0 4 0 0 0 0 4352 1 0 0 0 0
@Column Head@Code

>
			 1 1 0 0 0 0 0 1 0 0 0 0
<:f><:f>Backspace

>
			 1 2 0 0 0 0 0 1 0 0 0 0
{BS} or {BKSP}

>
			 1 3 0 0 0 0 0 1 0 0 0 0
Home

>
			 1 4 0 0 0 0 0 1 0 0 0 0
{HOME}

>
			 2 2 0 0 0 0 0 1 0 0 0 0
or {BACKSPACE}

>
			 2 3 0 0 0 0 0 1 0 0 0 0
Ins

>
			 2 4 0 0 0 0 0 1 0 0 0 0
{INSERT}

>
			 3 1 0 0 0 0 0 1 0 0 0 0
<:f>Break

>
			 3 2 0 0 0 0 0 1 0 0 0 0
{BREAK}

>
			 3 3 0 0 0 0 0 1 0 0 0 0
Left Arrow

>
			 3 4 0 0 0 0 0 1 0 0 0 0
{LEFT}

>
			 4 1 0 0 0 0 0 1 0 0 0 0
<:f>Caps Lock

>
			 4 2 0 0 0 0 0 1 0 0 0 0
{CAPSLOCK}

>
			 4 3 0 0 0 0 0 1 0 0 0 0
Num Lock

>
			 4 4 0 0 0 0 0 1 0 0 0 0
{NUMLOCK}

>
			 5 1 0 0 0 0 0 1 0 0 0 0
<:f>Clear

>
			 5 2 0 0 0 0 0 1 0 0 0 0
{CLEAR}

>
			 5 3 0 0 0 0 0 1 0 0 0 0
Page Down

>
			 5 4 0 0 0 0 0 1 0 0 0 0
{PGDN}

>
			 6 1 0 0 0 0 0 1 0 0 0 0
<:f>Del

>
			 6 2 0 0 0 0 0 1 0 0 0 0
{DEL} or {DELETE}

>
			 6 3 0 0 0 0 0 1 0 0 0 0
Page Up

>
			 6 4 0 0 0 0 0 1 0 0 0 0
{PGUP}

>
			 7 1 0 0 0 0 0 1 0 0 0 0
<:f>Down Arrow

>
			 7 2 0 0 0 0 0 1 0 0 0 0
{DOWN}

>
			 7 3 0 0 0 0 0 1 0 0 0 0
Right Arrow

>
			 7 4 0 0 0 0 0 1 0 0 0 0
{RIGHT}

>
			 8 1 0 0 0 0 0 1 0 0 0 0
<:f>End

>
			 8 2 0 0 0 0 0 1 0 0 0 0
{END}

>
			 8 3 0 0 0 0 0 1 0 0 0 0
Scoll Lock

>
			 8 4 0 0 0 0 0 1 0 0 0 0
{SCROLLLOCK}

>
			 9 1 0 0 0 0 0 1 0 0 0 0
<:f>Enter

>
			 9 2 0 0 0 0 0 1 0 0 0 0
~ or {ENTER}

>
			 9 3 0 0 0 0 0 1 0 0 0 0
Tab

>
			 9 4 0 0 0 0 0 1 0 0 0 0
{TAB}

>
			 10 1 0 0 0 0 0 1 0 0 0 0
<:f>Esc

>
			 10 2 0 0 0 0 0 1 0 0 0 0
{ESC} or {ESCAPE}

>
			 10 3 0 0 0 0 0 1 0 0 0 0
Up Arrow

>
			 10 4 0 0 0 0 0 1 0 0 0 0
{UP}

>
			 11 1 0 0 0 0 4096 1 0 0 0 0
<:f>Help

>
			 11 2 0 0 0 0 4096 1 0 0 0 0
{HELP}

>
			 11 3 0 0 0 0 4096 1 0 0 0 0
Function keys

>
			 11 4 0 0 0 0 4096 1 0 0 0 0
{F1} to {F16}

>
		[e]
	[tble]
[frm]
	186
	1572932
	960
	3051
	9446
	5392
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	141
	29
	7171
	18434 3
	[frmlay]
		8834
		8486
		3
		0
		0
		3
		3051
		0
		0
		2
		0
		0
		0
		0
		1
		720
		5040
		0
	[tbl]
		 8 3 0 86 1440 0 1 43 43
		[h]
			 0 210 86 18 0 2 0
			 1 200 86 2 0 2 0
			 2 200 86 2 0 2 0
			 3 200 86 2 0 2 0
			 4 200 86 2 0 2 0
			 5 200 86 2 0 2 0
			 6 200 86 2 0 2 0
			 7 200 86 2 0 2 0
		[e]
		[w]
			 0 691 0 2 0
			 1 1920 0 2 0
			 2 5832 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 4352 1 0 0 0 0
@Column Head@Character

>
			 0 2 0 0 0 0 4352 1 0 0 0 0
@Column Head@Code

>
			 1 1 0 0 0 0 0 1 0 0 0 0
<:f>brace

>
			 1 2 0 0 0 0 0 1 0 0 0 0
{<+!>{<-!>} <+">or<-"> {<+!>}<-!>}

>
			 2 1 0 0 0 0 0 1 0 0 0 0
bracket

>
			 2 2 0 0 0 0 0 1 0 0 0 0
{<+!><[><-!>} <+">or<-"> {<+!>]<-!>}

>
			 3 1 0 0 0 0 0 1 0 0 0 0
caret

>
			 3 2 0 0 0 0 0 1 0 0 0 0
{<+!>^<-!>}

>
			 4 1 0 0 0 0 0 1 0 0 0 0
parenthesis

>
			 4 2 0 0 0 0 0 1 0 0 0 0
{<+!>(<-!>} <+">or<-"> {<+!>)<-!>}

>
			 5 1 0 0 0 0 0 1 0 0 0 0
percent sign

>
			 5 2 0 0 0 0 0 1 0 0 0 0
{<+!>%<-!>}

>
			 6 1 0 0 0 0 0 1 0 0 0 0
plus sign

>
			 6 2 0 0 0 0 0 1 0 0 0 0
{<+!>+<-!>}

>
			 7 1 0 0 0 0 4096 1 0 0 0 0
<:f>tilde

>
			 7 2 0 0 0 0 4096 1 0 0 0 0
{<+!>~<-!>}

>
		[e]
	[tble]
[frm]
	187
	1572932
	960
	5750
	9446
	6947
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	142
	30
	13567
	56325 22784
	[frmlay]
		1160
		8486
		3
		0
		0
		3
		5750
		0
		0
		2
		0
		0
		0
		0
		1
		960
		6720
		0
	[tbl]
		 4 4 0 86 1440 0 1 43 43
		[h]
			 0 210 86 18 0 3 0
			 1 200 86 2 0 3 0
			 2 200 86 2 0 3 0
			 3 200 86 2 0 3 0
		[e]
		[w]
			 0 691 0 2 0
			 1 1920 0 2 0
			 2 1680 0 2 0
			 3 4152 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 4352 1 0 0 0 0
@Column Head@Combination key

>
			 0 2 0 0 0 0 4352 1 0 0 0 0
@Column Head@Code

>
			 0 3 0 0 0 0 4352 1 0 0 0 0
@Column Head@Example

>
			 1 1 0 0 0 0 0 1 0 0 0 0
<:f><:f>ALT

>
			 1 2 0 0 0 0 0 1 0 0 0 0
%(<+">key<-">)

>
			 1 3 0 0 0 0 0 1 0 0 0 0
%(F4) represents ALT+F4

>
			 2 1 0 0 0 0 0 1 0 0 0 0
<:f>CTRL

>
			 2 2 0 0 0 0 0 1 0 0 0 0
^(<+">key<-">)

>
			 2 3 0 0 0 0 0 1 0 0 0 0
^(F4) represents CTRL+F4

>
			 3 1 0 0 0 0 4096 1 0 0 0 0
<:f>SHIFT

>
			 3 2 0 0 0 0 4096 1 0 0 0 0
+(<+">key<-">)

>
			 3 3 0 0 0 0 4096 1 0 0 0 0
+(F4) represents SHIFT+F4

>
		[e]
	[tble]
[frm]
	188
	1572932
	960
	1239
	9446
	7410
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	145
	31
	0
	17919 32769
	[frmlay]
		8320
		8486
		3
		0
		0
		3
		1239
		0
		0
		2
		0
		0
		0
		0
		1
		2520
		6840
		0
	[tbl]
		 13 3 0 86 1440 0 1 43 43
		[h]
			 0 210 86 18 0 2 0
			 1 600 86 2 0 1 0
			 2 400 86 2 0 1 0
			 3 200 86 2 0 2 0
			 4 400 86 2 0 1 0
			 5 400 86 2 0 1 0
			 6 600 86 2 0 1 0
			 7 400 86 2 0 1 0
			 8 200 86 2 0 1 0
			 9 200 86 2 0 2 0
			 10 200 86 2 0 1 0
			 11 200 86 2 0 2 0
			 12 1000 86 2 0 1 0
		[e]
		[w]
			 0 691 0 2 0
			 1 1680 0 2 0
			 2 6072 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 4352 1 0 0 0 0
@Column Head@<:f>Element

>
			 0 2 0 0 0 0 4352 1 0 0 0 0
@Column Head@<:f>Description<:f>

>
			 1 1 0 0 0 0 0 1 0 0 0 0
<+"><:f>variable_name

>
			 1 2 0 0 0 0 0 1 0 0 0 0
<-"><:f>A variable name. It must be previously declared as an object reference variable of the class 
<+">class_name<-">, or any class in the base class chain for <+">class_name<-">.

>
			 2 1 0 0 0 0 0 1 0 0 0 0
NEW

>
			 2 2 0 0 0 0 0 1 0 0 0 0
<:f>The <+!><:f,QCourier,>NEW<-!><:f> keyword indicates that a new object of the class 
<+">class_name<-"> is to be created.

>
			 3 1 0 0 0 0 0 1 0 0 0 0
<+">class_name

>
			 3 2 0 0 0 0 0 1 0 0 0 0
<-"><:f>The name of the class of the object to be created.

>
			 4 1 0 0 0 0 0 1 0 0 0 0
<+">arg_list

>
			 4 2 0 0 0 0 0 1 0 0 0 0
<-"><:f>A comma-separated list of arguments for the <+!><:f,QCourier,>NEW<-!><:f> sub for the class 
<+">class_name.<-">

>
			 5 1 0 0 0 0 0 1 0 0 0 0
<+">var_name_1

>
			 5 2 0 0 0 0 0 1 0 0 0 0
<-"><:f>A variable name. It must be previously declared as an object reference variable.

>
			 6 1 0 0 0 0 0 1 0 0 0 0
<+">instance_expr

>
			 6 2 0 0 0 0 0 1 0 0 0 0
<-"><:f>An expression whose value is either <+!><:f,QCourier,>NOTHING<-!><:f> or a reference to an existing instance of the same class as 
<+">var_name_1<-">, or a derived class of that class.

>
			 7 1 0 0 0 0 0 1 0 0 0 0
BIND

>
			 7 2 0 0 0 0 0 1 0 0 0 0
<:f>The <+!><:f,QCourier,>BIND<-!><:f> keyword associates a product object with a variable. The association is made by name. It is valid until any of the following is true:

>
			 8 2 0 0 0 0 0 1 0 0 0 0
<:I240,0,0,0><:f>The variable is out of scope

>
			 9 1 0 0 0 0 0 1 0 0 0 0
<:f>

>
			 9 2 0 0 0 0 0 1 0 0 0 0
<:I240,0,0,0>The product object no longer exists

>
			 10 2 0 0 0 0 0 1 0 0 0 0
<:I240,0,0,0>The variable is associated with another product object

>
			 11 1 0 0 0 0 0 1 0 0 0 0
<+"><:f>object_ref

>
			 11 2 0 0 0 0 0 1 0 0 0 0
<-">The name of the variable that will be associated with the object.

>
			 12 1 0 0 0 0 4096 1 0 0 0 0
<+"><:f>object_name

>
			 12 2 0 0 0 0 4096 1 0 0 0 0
<-">A string. The name and (optional) path of the product object. The syntax of this string is product-specific. For example, the product object name might have the form 
<+">ApplicationWindowName<-">\<+">ObjectName<-">. Refer to your Lotus product's documentation for information on specifying product object names.

>
		[e]
	[tble]
[frm]
	190
	1572932
	960
	2357
	9442
	6080
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	143
	32
	0
	17919 32769
	[frmlay]
		3840
		8482
		3
		0
		0
		3
		2357
		0
		0
		2
		0
		0
		0
		0
		1
		720
		7920
		0
	[tbl]
		 10 5 0 86 1440 0 1 43 43
		[h]
			 0 210 86 18 0 4 0
			 1 200 86 2 0 2 0
			 2 400 86 2 0 1 0
			 3 210 86 2 0 4 0
			 4 200 86 2 0 3 0
			 5 200 86 2 0 3 0
			 6 200 86 2 0 3 0
			 7 200 86 2 0 3 0
			 8 400 86 2 0 1 0
			 9 600 86 2 0 1 0
		[e]
		[w]
			 0 691 0 2 0
			 1 1680 0 2 0
			 2 1700 0 3 0
			 3 1704 0 3 0
			 4 2664 0 3 0
		[e]
		[data]
			 0 1 0 0 0 0 4352 1 0 0 0 0
@Column Head@Element

>
			 0 2 0 0 0 0 4352 1 0 0 0 0
@Column Head@Description

>
			 0 3 0 0 0 0 4352 1 0 0 0 0
@Column Head@
>
			 0 4 0 0 0 0 4352 1 0 0 0 0
@Column Head@
>
			 1 1 0 0 0 0 0 1 0 0 0 0
<:f><+"><:f>file_name

>
			 1 2 384 1 3 0 0 1 0 0 0 0
<:f>A string expression; you can optionally include a path. 

>
			 1 3 128 0 1 0 0 0 0 0 0 0
			 1 4 128 0 2 0 0 0 0 0 0 0
			 2 1 0 0 0 0 0 1 0 0 0 0
<+"><:f>attributes

>
			 2 2 384 1 3 0 0 1 0 0 0 0
<:f>The attributes to apply to the file, expressed as the sum of any of the following 
<+!><:f,QCourier,>INTEGER<-!><:f> values:

>
			 2 3 128 0 1 0 0 0 0 0 0 0
			 2 4 128 0 2 0 0 0 0 0 0 0
			 3 1 0 0 0 0 0 1 0 0 0 0
@Column Head@
>
			 3 2 0 0 0 0 0 1 0 0 0 0
@Column Head@Value

>
			 3 3 0 0 0 0 0 1 0 0 0 0
@Column Head@Description

>
			 3 4 0 0 0 0 0 1 0 0 0 0
@Column Head@Constant

>
			 4 2 8 0 0 0 0 1 0 0 0 0
<+@><:f>0.00

>
			 4 3 0 0 0 0 0 1 0 0 0 0
Normal file

>
			 4 4 0 0 0 0 0 1 0 0 0 0
<:f180,QCourier,><+!>ATTR_NORMAL<-!><:f>

>
			 5 2 8 0 0 0 0 1 0 0 0 0
<+@>1.00

>
			 5 3 0 0 0 0 0 1 0 0 0 0
Read-only

>
			 5 4 0 0 0 0 0 1 0 0 0 0
<:f180,QCourier,><+!>ATTR_READONLY<-!><:f>

>
			 6 2 8 0 0 0 0 1 0 0 0 0
<+@><:f>2.00

>
			 6 3 0 0 0 0 0 1 0 0 0 0
Hidden

>
			 6 4 0 0 0 0 0 1 0 0 0 0
<-!><:f180,QCourier,><+!>ATTR_HIDDEN<-!><:f>

>
			 7 2 8 0 0 0 0 1 0 0 0 0
<+@>4.00

>
			 7 3 0 0 0 0 0 1 0 0 0 0
System

>
			 7 4 0 0 0 0 0 1 0 0 0 0
<-!><:f180,QCourier,><+!>ATTR_SYSTEM<-!><:f>

>
			 8 2 8 0 0 0 0 1 0 0 0 0
<+@>32.00

>
			 8 3 0 0 0 0 0 1 0 0 0 0
Changed since <**>last back-up

>
			 8 4 0 0 0 0 0 1 0 0 0 0
<-!><:f180,QCourier,><+!>ATTR_ARCHIVE<-!><:f>

>
			 9 1 0 0 0 0 4096 0 0 0 0 0
			 9 2 384 1 3 0 4096 1 0 0 0 0
These constants are defined in the file LSCONST.LSS. Including this file in your script allows you to use the constants</R> names instead of the corresponding numeric values.

>
			 9 3 128 0 1 0 4096 0 0 0 0 0
			 9 4 128 0 2 0 4096 0 0 0 0 0
		[e]
	[tble]
[frm]
	191
	1572932
	720
	5892
	9206
	7089
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	144
	33
	3583
	256 3842
	[frmlay]
		10260
		8486
		3
		0
		0
		3
		5892
		0
		0
		2
		0
		0
		0
		0
		1
		960
		5280
		0
	[tbl]
		 4 3 0 86 1440 0 1 43 43
		[h]
			 0 210 86 18 0 1 0
			 1 200 86 2 0 2 0
			 2 200 86 2 0 2 0
			 3 200 86 2 0 2 0
		[e]
		[w]
			 0 691 0 2 0
			 1 1920 0 2 0
			 2 5832 0 2 0
		[e]
		[data]
			 0 1 0 0 0 0 4352 1 0 0 0 0
<+">Sign of<-"> num<+#> <-#>expr

>
			 0 2 0 0 0 0 4352 1 0 0 0 0
@Column Head@Value

>
			 1 1 0 0 0 0 0 1 0 0 0 0
<:f>Negative

>
			 1 2 8 0 0 0 0 1 0 0 0 0
<+@>-1.00

>
			 2 1 0 0 0 0 0 1 0 0 0 0
Zero

>
			 2 2 8 0 0 0 0 1 0 0 0 0
<+@> 0

>
			 3 1 0 0 0 0 4096 1 0 0 0 0
<:f>Positive

>
			 3 2 8 0 0 0 4096 1 0 0 0 0
<+@> 1

>
		[e]
	[tble]
[frm]
	24
	1572932
	2001
	6210
	7924
	7951
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	168
	34
	4
	2816 65280
	[frmlay]
		6780
		5923
		3
		0
		0
		3
		6210
		0
		0
		2
		0
		27
		18
		11760
		1
		1140
		5460
		0
	[tbl]
		 3 2 0 86 1440 0 5 43 43
		[h]
			 0 240 86 18 0 2 0
			 1 600 86 2 0 1 0
			 2 600 86 2 0 1 0
		[e]
		[w]
			 0 1440 120 6 0
			 1 4320 0 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
@Column Head@Element

>
			 0 1 0 0 0 0 0 1 0 0 0 0
@Column Head@Description

>
			 1 0 0 0 0 0 0 1 0 0 0 0
<+"><:f>macro<-">

>
			 1 1 0 0 0 0 0 1 0 0 0 0
<-">The text of a Lotus product macro, in the syntax that the product recognizes.  Refer to the Lotus product documentation for the correct syntax of the macro. 

>
			 2 0 0 0 0 0 0 1 0 0 0 0
<+"><:f>object<-">

>
			 2 1 0 0 0 0 0 1 0 0 0 0
<-">Optional. The name of a product object.  Refer to the product documentation to determine if the macro requires an object, and what the object is.

>
		[e]
	[tble]
[lay]
	Standard
	1031
	[rght]
		12960
		10166
		1
		960
		1200
		3
		960
		720
		0
		1
		0
		1
		0
		2
		1
		960
		9446
		5
		1
		720
		1
		1440
		1
		2880
		1
		4320
		1
		5760
	[lft]
		12960
		10166
		1
		720
		1200
		3
		960
		960
		0
		1
		0
		1
		0
		2
		1
		720
		9206
		5
		1
		720
		1
		1440
		1
		2880
		1
		4320
		1
		5760
	[hlft]
	[lyfrm]
		1
		3008
		0
		0
		10166
		960
		0
		1
		3
		1 0 0 0 0 0 0
		0
		0
		1
	[frmlay]
		960
		10166
		1
		720
		180
		3
		480
		960
		0
		1
		0
		1
		1
		0
		1
		720
		9206
		0
	[txt]
@right footer@LotusScript Language Reference	10/03/94

>
	[hrght]
	[lyfrm]
		1
		11200
		0
		0
		10166
		960
		0
		1
		3
		1 0 0 0 0 0 0
		0
		0
		2
	[frmlay]
		960
		10166
		1
		960
		180
		3
		480
		720
		0
		1
		0
		1
		1
		0
		1
		960
		9446
		0
	[txt]
@right footer@10/03/94<:f>	LotusScript Language Reference

>
	[flft]
	[lyfrm]
		1
		5056
		0
		11760
		10166
		12960
		0
		1
		3
		1 0 0 0 0 0 0
		0
		0
		3
	[frmlay]
		12960
		10166
		1
		720
		480
		3
		11940
		960
		0
		1
		0
		1
		1
		0
		1
		720
		9206
		0
	[txt]
@right footer@page <:P10,0,>	Lotus Strictly Private

>
	[frght]
	[lyfrm]
		1
		13248
		0
		11760
		10166
		12960
		0
		1
		3
		1 0 0 0 0 0 0
		0
		0
		4
	[frmlay]
		12960
		10166
		1
		960
		480
		3
		11940
		720
		0
		1
		0
		1
		1
		0
		1
		960
		9446
		0
	[txt]
@right footer@Lotus Strictly Private	page <:P10,0,>

>
[elay]
[l1]
	0
[pg]
	6
	10 89 88 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
	25 0 17 32 0 0 0 240 65535 Standard	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	49 0 90 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
	71 0 0 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
	90 0 37 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
	109 0 77 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
[edoc]
@Ahead@<:#410,8486><:f>DataType Function<:X8,1;Index "DATATYPE" #><:X8,1;Index "Data types" # "of VARIANTs"><:X8,1;Index "VARIANT" # "data type of">

<:#200,8486><:f>Returns the data type of the value of an expression 

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><:f><+!>DataType(<-!><+">expr<-"><+!>)<-!>

<:#200,8486><:f>The <+">expr<-"> argument is any expression.

@Chead@<:#240,8486><:f>Return value

@1st Paragraph@<:#200,8486>DataType returns a number representing the data type of <+">expr<-"> from the table below.

<:t15>

@Chead@<:#240,8486><:f><:f><:f>Usage

@1st Paragraph@<:#400,8486><:f>The constants are defined in the file LSCONST.LSS. Including this file in your script allows you to use the constants instead of the numeric definitions of the return values.

<:#600,8486><:f>If the argument to DataType is a list or array, the return value is the list or array value plus the appropriate data type value. For example, a fixed array of Integers is 8194 (that is, 8192 plus 2); a list of Variants is 2060 (that is, 2048 plus 12).

<:#400,8486>The return value 13 signifies an unknown value type, corresponding to the OLE value IUNKNOWN. To test for this value, use the IsUnknown function.

@Chead@<:#240,8486>Example

@mono@<:#1100,8486>DIM item(5) AS VARIANT		'Declare a VARIANT fixed array<**>DIM itemWeight AS SINGLE<**>DIM itemName AS STRING	<**>itemWeight = 2.7182<**>itemName = "Jute twine"

@mono@<:#1100,8486>item(1) = itemWeight<**>item(2) = itemName<**>PRINT DATATYPE(item(1))	'Prints 4<**>PRINT DATATYPE(item(2))	'Prints 8<**>PRINT DATATYPE(item(3))	'Prints 0 (initalized to EMPTY)

@mono@<:#1320,8486>DIM cells AS Range		'Suppose Range is a product class<**>PRINT DATATYPE(cells)		'Prints 35<**>SET cells2 = cells<**>PRINT DATATYPE(cells2)	'Prints 35<**>DIM areas(3) as Range		'An array of Range product objects<**>PRINT DATATYPE(areas)		'Prints 8227  (8192 
+ 35)

@mono@<:#440,8486>SET cal = CREATEOBJECT("dispcalc.ccalc")<**>PRINT DATATYPE(cal)		'Prints 9

@mono@<:#440,8486>DIM stats(3) AS INTEGER	'An array of INTEGERs<**>PRINT DATATYPE(stats)		'Prints 8194  (8192 + 2)

@mono@<:#440,8486>DIM misc LIST AS VARIANT	'A list of VARIANTs<**>PRINT DATATYPE(misc)		'Prints 2060  (2048 + 12)

@Chead@<:#240,8486><:f><:f>Related topics

@popref@<:#240,8486><:f>Data Type Conversion

@popref@<:#240,8486>Variables

@popref@<:#240,8486>%Include Directive: to include another script source file during compilation

@popref@<:#240,8486>IsUnknown Function

@popref@<:#240,8486>TypeName Function

@Ahead@<:#410,8486><:f>Date and Date$ Functions<:X8,3;Index "DATE" #><:X8,3;Index "Date and time handling" # "DATE"><:X8,3;Index "Handling dates and times" # "DATE"><:X8,3;Index "System date" # "retrieving"><:X8,3;Index "Time and date handling" # "DATE">

<:#200,8486><:f>Return the system date as a date value

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><:f><+!>Date<-!><[><+!>$<-!>]

@Chead@<:#240,8486><:f>Return value

@1st Paragraph@<:#400,8486><:f>The return value from Date or Date$ is a Variant containing a date value (its DataType is 7).

@Chead@<:#240,8486><:f>Usage

@1st Paragraph@<:#400,8486><:f>The function Date can be called as either Date or Date(). The function Date$ can be called as either Date$ or Date$().

@Chead@<:#240,8486><:f>Example

@mono@<:#660,8486>DIM X AS STRING<**>X = DATE()<**>PRINT X			'Prints "04/25/94" assuming the current date is 4/25/94

<:#200,8486><:f>The current system date is assigned to the variable X and printed.

@Chead@<:#240,8486><:f>Related topics

@popref@<:#240,8486><:f>CDat Function: to convert a numeric or string value to a date value in a Variant

@popref@<:#240,8486>Date and Date$ Statements: to set the system date

@popref@<:#480,8486>DateNumber Function: to return the date value represented by a given year, month, and day

@popref@<:#240,8486>DateValue Function: to return the date value represented by a string expression

@popref@<:#480,8486><:f>Format and Format$ Functions: to format a number, a date, or a string according to a template string

@popref@<:#240,8486><:f>Time and Time$ Functions: to return the system time

@popref@<:#240,8486>Time and Time$ Statements: to set the system time

@Ahead@<:#410,8486><:f>Date and Date$ Statements<:X8,3;Index "DATE" #><:X8,3;Index "Date and time handling" # "DATE"><:X8,3;Index "Handling dates and times" # "DATE"><:X8,3;Index "System date" # "setting"><:X8,3;Index "Time and date handling" # "DATE">

<:#200,8486><:f>Sets the system date 

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><:f><+!>Date<-!><[><+!>$<-!>]<+!> =<-!> <+">date_expr<-">

<:#200,8486><:f>The <+">date_expr<-"> argument is any numeric expression whose value is a valid date value.

@Chead@<:#240,8486><:f>Usage

@1st Paragraph@<:#1000,8486><:f>For Date, the expression <+">date_expr<-"> must be a String in a valid date format, or a Variant containing either a date value or a string value in date format. If 
<+">date_expr <-">is a string containing only numbers and valid date separators, the operating system</R>s international Short Date format determines the order in which the numbers are interpreted as month, day, and year values. 

<:#600,8486><:f>For Date$, the expression <+">date_expr<-"> must be a String in one of the following forms: mm-dd-yy, mm-dd-yyyy, mm/dd/yy, mm/dd/yyyy, dd-mm-yy, dd-mm-yyyy, dd/mm/yy, or dd/mm/yyyy.

<:#600,8486><:f>In a string representation of a date, a two-digit designation of a year is interpreted as that year in the twentieth century. For example, 17 and 1917 are equivalent year designations.

<:#200,8486><:f>In Windows, the earliest legal <+">date_expr<-"> argument is January 1, 1980.

@Chead@<:#240,8486><:f>Example

@mono@<:#220,8486>DATE = "09-07-94"

<:#400,8486><:f>The system date is set to September 7, 1994 or 09 July, 1994, depending on the international Short Date format.

@Chead@<:#240,8486><:f>Related topics

@popref@<:#240,8486><:f>Date and Date$ Functions: to return the system date

@popref@<:#480,8486>DateNumber Function: to return the date value represented by a given year, month, and day

@popref@<:#240,8486>DateValue Function: to return the date value represented by a string expression

@popref@<:#240,8486>Time and Time$ Functions: to return the system time

@popref@<:#240,8486>Time and Time$ Statements: to set the system time

@Ahead@<:#410,8486><:f>DateNumber Function<:X8,4;Index "DATENUMBER" #><:X8,4;Index "Date and time handling" # "DATENUMBER"><:X8,4;Index "Handling dates and times" # "DATENUMBER"><:X8,4;Index "Time and date handling" # "DATENUMBER">

<:#200,8486><:f>Returns a date for a given year, month, and day

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><:f><+!>DateNumber(<-!><+">year<-"><+!>,<-!> <+">month<-"><+!>,<-!> 
<+">day<-"><+!>)<-!>

<:#200,8486><:f>The arguments of the DateNumber function are described in the table below.

<:#200,8486>

<:#200,8486>

<:#200,8486>

<:t16>

@Chead@<:#240,8486><:f><:f><:f><:f>Return value

@1st Paragraph@<:#200,8486>DateNumber returns a Variant value of the Date type (its DataType is 7).

@Chead@<:R1,4,1,1200,1,1680,1,2160,1,4680,><:#240,8486><:f>Example 1

@mono@<:R1,4,1,1200,1,1680,1,2160,1,4680,><:#660,8486>DIM X AS VARIANT	'Declare X as type VARIANT<**>X = DATENUMBER(1947, 10, 8)<**>PRINT X			'Prints 10/8/47

<:R1,4,1,1200,1,1680,1,2160,1,4680,><:#200,8486><:f>The string representation of the date October 8, 1947 is printed.

@Chead@<:R1,4,1,1200,1,1680,1,2160,1,4680,><:#240,8486><:f>Example 2

@mono@<:R1,4,1,1200,1,1680,1,2160,1,4680,><:#220,8486>PRINT DATENUMBER(93, 2 - 5, 4 - 10)	'Prints 8/25/92

<:R><:#400,8486><:f>This computes the date 5 months and 10 days before February 4, 1993. The result is the date August 25, 1992.

@Chead@<:#240,8486><:f>Related topics

@popref@<:#480,8486><:f>CDat Function: to convert a numeric or string value to a date value assigned 
<**>to a Variant

@popref@<:#240,8486>Date and Date$ Functions: to return the system date

@popref@<:#240,8486>Date and Date$ Statements: to set the system date

@popref@<:#240,8486>DateValue Function: to return the date value represented by a string expression

@popref@<:#480,8486><:f>TimeNumber Function: to return the time value represented by a given hour, minute, and second

@Ahead@<:#410,8486><:f>DateValue Function<:X8,5;Index "DATEVALUE" #><:X8,5;Index "Date and time handling" # "DATEVALUE"><:X8,5;Index "Handling dates and times" # "DATEVALUE"><:X8,5;Index "Time and date handling" # "DATEVALUE">

<:#200,8486><:f>Returns the date value represented by a string expression

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><:f><+!>DateValue(<-!><+">string_expr<-"><+!>)<-!>

<:#600,8486><:f>The <+">string_expr<-"> must be a String in a valid date format, or a Variant containing either a date value or a string value in date format. If you omit the year in the 
<+">string_expr<-"> argument, DateValue uses the year in your computer's system date.

<:#600,8486><:f>If <+">string_expr <-">is a string containing only numbers and valid date separators, the operating system</R>s international Short Date format determines the order in which the numbers are interpreted as month, day, and year values.

<:#600,8486><:f>In a string representation of a date, a two-digit designation of a year is interpreted as that year in the twentieth century. For example, 17 and 1917 are equivalent year designations.

@Chead@<:#240,8486><:f>Return value

@1st Paragraph@<:#200,8486>DateValue returns a Variant containing a date value (its DataType is 7).

@Chead@<:#240,8486><:f>Usage

@1st Paragraph@<:#400,8486><:f>If the <+">string_expr <-">argument specifies a time of day, DateValue validates the time, but omits it from the return value.

@Chead@<:#240,8486><:f>Example

@mono@<:R1,4,1,1200,1,1680,1,2160,1,5700,><:#1100,8486>DIM MyBirthday AS VARIANT, Age AS VARIANT<**>MyBirthday = DATEVALUE("October 8, 1947")<**><++>Print<-+> CDAT(MyBirthday) 
	'Prints 10/8/47<**>Age = CINT((DATEVALUE("November 11, 1993") - MyBirthday) / 365)<**><++>Print<-+> Age 
		'Prints 46

<:R><:#800,8486><:f>The DateValue function is used to convert the string </S>October 8, 1947</T> to a date value, which is assigned to MyBirthday. CDat converts this to a string, and Print prints this in standard date format. The corresponding age in years is computed,  ro
unded to the nearest year, and printed. 

@Chead@<:#240,8486><:f>Related topics

@popref@<:#480,8486><:f>CDat Function: to convert a numeric or string value to a date value assigned to a Variant

@popref@<:#240,8486><:f>Date and Date$ Functions: to return the system date

@popref@<:#240,8486>Date and Date$ Statements: to set the system date

@popref@<:#480,8486>DateNumber Function: to return the date value represented by a given year, month, and day

@popref@<:#480,8486><:f>Format and Format$ Functions: to format a number, a date, or a string according to a template string

@popref@<:#240,8486><:f>TimeValue Function: to return the time value represented by a string

@Ahead@<:#410,8486><:f>Day Function<:X8,6;Index "DAY" #><:X8,6;Index "Date and time handling" # "DAY"><:X8,6;Index "Handling dates and times" # "DAY"><:X8,6;Index "Time and date handling" # "DAY">

<:#200,8486><:f>Returns the day of the month (an integer from 1 to 31) for a date argument

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><:f><+!>Day(<-!><+">date_expr<-"><+!>)<-!>

<:#200,8486><:f>The<+"> date_expr<-"> argument can be:

@bullet@<:#720,8486>A valid date string of String or Variant data type. In a date string, a two-digit designation of a year is interpreted as that year in the twentieth century. For example, 17 and 1917 are equivalent year designations.

@bullet@<:#240,8486>A numeric expression whose value is a Variant of type date

@bullet@<:#480,8486>A number within the valid date range: the range  -657434 (Jan 1, 100 AD) to 2958465 (Dec 31, 9999 AD) inclusive

@bullet@<:#240,8486>NULL

@Chead@<:#240,8486>Return value

@1st Paragraph@<:#400,8486>Day returns a Variant containing an Integer value (DataType 2). If 
<+">date_expr<-"> is NULL, then Day returns NULL. 

@Chead@<:#240,8486><:f>Example

@mono@<:#660,8486>DIM X AS VARIANT, DD AS INTEGER<**>X = DATENUMBER(1992, 4, 7)<**>DD = DAY(X)

<:#200,8486><:f>The value 7 (the day of the month, in X) is assigned to the variable DD.

@Chead@<:#240,8486><:f>Related topics

@popref@<:#240,8486><:f>Hour Function: to return the hour of the day from a time value

@popref@<:#240,8486>Minute Function: to extract the minute of the hour from a time value

@popref@<:#240,8486>Month Function: to return the month of the year from a date value

@popref@<:#240,8486>Now Function: to return the system date and time as a date/time value

@popref@<:#240,8486>Second Function: to extract the second of the minute from a time value

@popref@<:#240,8486>Today Function: to return the system date as a date value

@popref@<:#240,8486>Weekday Function: to retrieve the day of the week from a date value

@popref@<:#240,8486>Year Function: to return the year from a date value

@Ahead@<:#410,8486><:f>Declare (External C Calls) Statement<:X8,7;Index "DECLARE" #><:X8,7;Index "External declarations" #><:X8,7;Index "C functions" # "external"><:X8,7;Index "DLLs" #><:X8,7;Index "Declarations" #><:X8,7;Index "ALIAS" #><:X8,7;Index "LIB" #><:X8,7;Index "AS" #>
<:X8,7;Index "BYVAL" #><:X8,7;Index "ANY" #><:X8,7;Index "PRIVATE" #><:X8,7;Index "PUBLIC" #><:X8,7;Index "FUNCTION" #><:X8,7;Index "SUB" #><:f><:X8,7;Index "LMBCS strings" #><:f><:X8,7;Index "UNICODE strings" #><:f>

<:#400,8486><:f>Declares a LotusScript function or sub which calls an external C function, allowing calls to a function that is defined in a Dynamic Link Library (DLL) of C routines

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><:f><+!>Declare<-!> <[> <+!>Public<-!> | <+!>Private<-!> ] { <+!>Function<-!> | 
<+!>Sub<-!> } <+">LS_name<-"><+!> Lib <-!><+">lib_name<-">

<:#200,8486>	<[><+!> Alias<-!> <+">alias_name <-">] <:f200,,><+!>(<-!> <[><+"><:f200,,> argument_list 
<-"><:f200,,>]<+!> )<-!> <[><+!> As<-!> <+"><:f200,,>return_type <-"><:f200,,>]<:f>

<:#400,8486><:f>The elements of the Declare (External C Calls) statement are described in the table below.

<:t17>

@Chead@<:#240,8486><:f><:f><:f>Usage

@1st Paragraph@<:#400,8486><:f>You can only declare external functions at the module level. If a function is not typed with a return type or a suffix character, LotusScript generates an error.

@Chead@<:#240,8486><:f>Passing arguments

@1st Paragraph@<:#600,8486><:f>By default, arguments are passed to external functions by reference. Arguments can be passed by value (using the ByVal keyword), but only if LotusScript can convert the value passed to the data type of the C subprogram argument.

<:#200,8486><:f>You can</R>t pass lists as arguments to C subprograms.

<:#200,8486>You can't use a fixed-length String as an argument.

<:#200,8486>Arrays, type variables, and LotusScript objects must be passed by reference.

<:#600,8486><:f>Product objects can be passed by reference (passing a reference to the instance handle) or by value (passing the instance handle itself). However, they can be passed by value only by using the keyword ByVal. Parentheses can</R>t be used on the actual ar
gument.

<:#800,8486><:f>An argument can be typed as Any to avoid data type restrictions. Arguments of type Any are always passed by reference, regardless of the type of data they contain. You can pass a Variant containing an array or list to a subprogram argument declared as A
ny.

@Chead@<:#240,8486>Specifying a <+">return_type<-">

@1st Paragraph@<:#600,8486><:f>If you omit the <+">return_type<-">, the suffix character of <+">LS_name<-"> specifies the type. If you include the 
<+">return_type<-"> and it conflicts with a suffix character in <+">LS_name<-">, LotusScript generates an error.

<:#200,8486><:f>You can</R>t use Any as a <+">return_type.

<:#200,8486>You can</R>t use Variant, Currency, or fixed-length String as a <+">return_type<-">.

@Chead@<:#240,8486>Using LMBCS or Unicode Strings

@1st Paragraph@<:#400,8486>The optional keywords LMBCS and Unicode can be used with a String 
<+">argument <-">or <+">return_type<-">.

<:#400,8486>Unicode indicates a Unicode string of two-byte characters (words) using the platform-native byte order.

<:#200,8486>LMBCS indicates a LMBCS optimization group 1 string (multi-byte characters).

<:#400,8486><:f>If neither LMBCS nor Unicode is specified, the string variable uses the platform-native character set.

@Chead@<:#240,8486><:f>Calling exported DLLs in 32-bit versions of Windows

@1st Paragraph@<:#1000,8486><:f>If you</R>re using a 32-bit version of Windows, the names of exported DLL functions are case sensitive; however, LotusScript automatically converts them to uppercase in the Declare statement. To successfully call an exported DLL function, use the Alias 
clause to specify the function name with correct capitalization (LotusScript leaves the alias alone).

@Chead@<:#240,8486><:f>Example 1

<:#400,8486><:f>In the following example, the external function Str_Upr is declared. The literal string 
</S>Str_Lib</T> identifies the library where Str_Upr is defined.

@mono@<:#660,8486>DIM StrOut AS STRING<**>DECLARE FUNCTION Str_Upr LIB "Str_Lib" (BYVAL in_val$) AS STRING<**>StrOut = Str_Upr("abc")

@Chead@<:#240,8486><:f><:f>Example 2

<:#400,8486><:f>The statements in the following example declare an exported DLL function with an alias (preserving case sensitivity with the Alias clause) and then call that function.

@mono@<:#660,8486>DECLARE FUNCTION MyDLL LIB "C:\myxports.dll" _<**>  ALIAS "_MyExportedRoutine" (I1 AS LONG, I2 AS LONG)<**>MyDLL(5, 10)

@Chead@<:#240,8486><:f>Example 3

<:#400,8486><:f><:f><:f><:f><:f><:f>In the following example, the string argument MyIStr is passed to the function StrFun as a Unicode string. The function's return value is also a Unicode string.

@mono@<:#440,8486>DECLARE FUNCTION StrFun "lib.dll" (MyIStr AS UNICODE STRING) AS UNICODE STRING

@Chead@<:#240,8486><:f><:f><:f><:f><:f><:f>Example 4

<:#400,8486>In the following example, the string argument MylStr is passed to the function StrFun as a LMBCS string. The function's return value is a LotusScript platform-native string.

@mono@<:#220,8486>DECLARE FUNCTION StrFun "lib.dll" (MyIStr AS LMBCS STRING) AS STRING

@Chead@<:#240,8486><:f>Related topics

@popref@<:#480,8486><:f>Declare (Forward Reference) Statement: to declare a forward reference to a subprogram

@Ahead@<:#410,8486><:f>Declare (Forward Reference) Statement<:X8,11;Index "DECLARE" #><:X8,11;Index "Forward references" #><:X8,11;Index "Declarations" #>

<:#400,8486><:f>Declares a forward reference to a subprogram (function, sub or property), allowing calls to a subprogram that has not yet been defined

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><:f><+!>Declare<-!> <[><+!> Static <-!>] <[> <+!>Public<-!> | <+!>Private<-!><+"> 
<-">] <+">subtype<-"> <+">subname<-"> <[><+"> arg_list <-">] <[><+!> As<-!> 
<+">return_type <-">]

<:#400,8486><:f>The elements of the Declare (Forward Reference) statement are described in the following table.

<:t18>

@Chead@<:#240,8486><:f><:f><:f><:f>Usage

@1st Paragraph@<:#200,8486><:f>You can make a forward declaration only at the module level or within a class.

<:#600,8486>The subprogram, if it exists, must be defined in the same scope as the forward declaration. LotusScript does not generate an error if a subprogram has a forward declaration but is not defined.

<:#400,8486>The use of Static, Public, and Private keywords in a Property Get forward declaration must match the corresponding Property Set forward declaration, if one exists.

@Chead@<:#240,8486><:f>Example

@mono@<:R1,4,1,1200,1,1680,1,2160,1,5220,><:#3520,8486>'Forward declare the function Times<**>DECLARE FUNCTION Times (A AS SINGLE, B AS SINGLE) AS SINGLE<**><**>'Define the sub PrintFit. It calls Times. 
<**>SUB PrintFit (Lead AS STRING, X AS SINGLE)<**>  PRINT Lead, Times (X, X) 
<**>END SUB<**><**>'Define Times<**>FUNCTION Times (A AS SINGLE, B AS SINGLE) AS SINGLE<**>  Times = (A - 1.0) * (B + 1.0)<**>END FUNCTION<**><**>'Call the sub PrintFit<**>PrintFit "First approximation is:", 13<**>			'Prints "First approximation is:     168
"

<:R><:#600,8486><:f>The forward declaration of the function Times allows the use of Times within the definition of the sub PrintFit. The function definition of Times appears later in the script.

@Chead@<:#240,8486><:f>Related topics

@popref@<:#240,8486><:f>Declare (External C Calls) Statement

@popref@<:#240,8486>Function...End Function Statement

@popref@<:#240,8486>Property Get/Set...End Property Statements

@popref@<:#240,8486>Sub...End Sub Statement

@Ahead@<:#410,8486><:f>Def<+">type<-"> Statements<:X8,13;Index "DEFINT" #><:X8,13;Index "DEFLNG" #><:X8,13;Index "DEFSNG" #><:X8,13;Index "DEFDBL" #><:X8,13;Index "DEFSTR" #><:X8,13;Index "DEFCUR" #><:X8,13;Index "DEFVAR" #><:X8,13;Index "Declarations" #>

<:#400,8486><:f>Set the default data type for variables, functions, and properties whose names begin with one of a specified group of letters

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><:f><+!>DefCur<-!> <+">range<-"> <[><+!>,<-!><+"> range<-">]...

<:#200,8486><+!>DefDbl <-!><+">range<-"> <[><+!>,<-!><+"> range<-">]...

<:#200,8486><+!>DefInt <-!><+">range<-"> <[><+!>,<-!><+"> range<-">]...

<:#200,8486><+!>DefLng <-!><+">range<-"> <[><+!>,<-!><+"> range<-">]...

<:#200,8486><+!>DefSng <-!><+">range<-"> <[><+!>,<-!><+"> range<-">]...

<:#200,8486><+!>DefStr <-!><+">range<-"> <[><+!>,<-!><+"> range<-">]...

<:#200,8486><+!>DefVar <-!><+">range<-"> <[><+!>,<-!><+"> range<-">]...

<:#400,8486><+"><:f>range<-"> is a single letter, or two letters separated by a hyphen; specify the lower bound first (for example, A-B). Letters in 
<+">range<-"> are case-insensitive.

@Chead@<:#240,8486><:f>Usage

@1st Paragraph@<:#400,8486><:f>The following table lists the Def<+">type<-"> statements, the data type that each one refers to, and the suffix character for that data type.

<:t19>

<:#400,8486><:f><:f><:f>Data type suffix characters and data types in explicit declarations take precedence over Def<+">type<-"> declarations.

<:#600,8486>Def<+">type<-"> statements can only appear at the module level, but they affect all declarations contained within the module at module level and within its subprograms. They do not affect the declarations of data members of types and classes.

<:#400,8486><:f>Any Def<+">type<-"> statements in a module must appear before any declaration, explicit or implicit, in the module.

<:#400,8486><:f>A letter can</R>t belong to a range in more than one Def<+">type<-"> statement in the same module.

<:#400,8486><:f>To change the default data type of all variables, functions, and properties to Single (the standard data type for several versions of BASIC), specify DefSng A-Z.

<:#200,8486><:f>A Const is not affected by Def<+">type<-"> statements.

@Chead@<:#240,8486><:f>Example

@mono@<:#1540,8486>DEFINT A-Z<**>DIM X					'X is INTEGER<**>DIM Y AS STRING		'Y is STRING<**>Small = 3				'Small is INTEGER<**>PRINT Small			'Prints 3<**>B$ = "Rebar"			'B$ is STRING<**>PRINT B$				'Prints "Rebar"

<:#800,8486><:f>The data type of X is Integer because DefInt A-Z was specified and no data type was specified in X</R>s declaration. The data type of Small is Integer because it is implicitly declared. The data type of B$ is String because it is declared with the $ suf
fix character. 

@Chead@<:#240,8486><:f>Related topics

@popref@<:#240,8486><:f>Declaring Data Types with Suffix Characters

@Ahead@<:#410,8486><:f>Delete Statement<:X8,14;Index "DELETE" #><:X8,14;Index "Instances of a class" # "deleting"><:X8,14;Index "NOTHING" #>

<:#200,8486><:f>Explicitly deletes an object and executes the object's Delete sub, if one exists

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><:f><+!>Delete<-!> <+">object<-">

<:#400,8486><:f>The <+">object<-"> argument is an object reference variable or Variant containing an object reference. 
<:f>It is illegal to specify a property or function value as <+">object<-"><+">.<-">

@Chead@<:#240,8486><:f>Usage

@1st Paragraph@<:#400,8486>Delete sets all references to the object to NOTHING, and then calls the Delete sub in the object's class definition (if one exists).

<:#400,8486><:f>If the object's class is a derived class, the base class</R>s Delete sub (if one exists) is called automatically after the class</R>s Delete sub.

@Chead@<:#240,8486><:f>Example

@mono@<:#880,8486>DIM XInst AS RemClass, YInst AS RemClass<**>SET XInst = NEW RemClass()<**>SET YInst = XInst<**>DELETE XInst

<:#400,8486><:f>The Delete statement sets both XInst and YInst to NOTHING. If the class RemClass includes a Delete sub, it is called once.

@Chead@<:#240,8486><:f>Related topics

@popref@<:#240,8486><:f>Class...End Class Statement: to define a class

@popref@<:#240,8486>Erase Statement: to erase an array, a list, or a list element

@popref@<:#240,8486>Set Statement: to assign an object reference to a variable

@Ahead@<:#410,8486><:f>Dim, Private, Public, and Static Statements<:X8,15;Index "DIM" #><:X8,15;Index "PRIVATE" #><:X8,15;Index "PUBLIC" #><:X8,15;Index "STATIC" #><:X8,15;Index "Declarations" #><:X8,15;Index "Objects" # "creating"><:X8,15;Index "Variables" # "creating"><:X8,15;Index "Arrays" # "creating">
<:X8,15;Index "Lists" # "creating"><:X8,15;Index "Dynamic arrays" # "creating"><:X8,15;Index "Fixed arrays" # "creating"><:X8,15;Index "LIST" #><:X8,15;Index "NEW" #><:X8,15;Index "AS" #><:X8,15;Index "TO" #>

<:#200,8486><:f>Declare variables

@Chead@<:#240,8486><:f>Syntax - Dim statement

<:#200,8486><:f><+!>Dim <-!><+">variable_name <-"><[> <+!>(<-!> <[><+">bounds<-">]<+!> )<-!> | 
<+!>List<-!> ] <[><+!>As <-!><[><+!>New<-!>] <+">type<-"> <[><+">arg_list<-">] ]

<:#200,8486>	<[><+!>,<-!> <+">variable_name <-"><[> <+!>(<-!> <[><+">bounds<-">]<+!> )<-!> | 
<+!>List<-!> ] <[><+!>As<-!> <[><+!>New<-!>] <+">type<-"> <[><+">arg_list<-">] ] ]...

@Chead@<:#240,8486><:f>Syntax - Static statement

<:#200,8486><:f><+!>Static<-!> <+">variable_name <-"><[> <+!>(<-!> <[><+">bounds<-">]<+!> )<-!> | 
<+!>List<-!> ] <[><+!>As<-!> <[><+!>New<-!>] <+">type<-"> <[><+">arg_list<-">] ]

<:#200,8486>	<[><+!>,<-!> <+">variable_name <-"><[> <+!>(<-!> <[><+">bounds<-">]<+!> )<-!> | 
<+!>List<-!> ] <[><+!>As<-!> <[><+!>New<-!>] <+">type<-"> <[><+">arg_list<-">] ] ]...

@Chead@<:#240,8486>Syntax - Public or Private statement

<:#200,8486>{ <+!>Public<-!> | <+!>Private<-!> } <+">variable_name <-"><[> <+!>(<-!> <[><+">bounds<-">]<+!> )<-!> | 
<+!>List<-!> ] <[><+!>As<-!> <[><+!>New<-!>] <+">type<-"> <[><+">arg_list<-">] ]

<:#200,8486>	<[><+!>,<-!> <+">variable_name <-"><[> <+!>(<-!> <[><+">bounds<-">]<+!> )<-!> | 
<+!>List<-!> ] <[><+!>As<-!> <[><+!>New<-!>] <+">type<-"> <[><+">arg_list<-">] ] ]...

<:#200,8486><:f>Variable declarations begin with one of the words Dim, Static, Private, or Public.

<:#400,8486>They are referred to as </S>the Dim statement</T> or </S>the Dim statement and its variations.</T>  The elements of these statements are described in the table below.

<:t20>

@Chead@<:#240,8486><:f><:f><:f><:f>Usage

@Chead@<:#240,8486><:f>Declaring variables

@1st Paragraph@<:#200,8486><:f>The kind of variable being declared is determined by this part of the Dim statement:

<:#200,8486><+"><:f>variable_name<-"> <[> <+!>(<-!> <[><+">bounds<-">]<+!> )<-!> | 
<+!>List<-!>]

<:#200,8486>The following table shows the four possibilities.

<:t21>

@Chead@<:#240,8486><:f><:f><:f><:f>Declaring arrays

@1st Paragraph@<:#800,8486><:f>For a fixed array, Dim specifies the type of the array, the number of dimensions of the array, and the subscript bounds for each dimension. Dim allocates storage for the array elements and initializes the array elements to the appropriate value for that
 data type (see </S>Initializing variables</T>).

<:#800,8486>For a dynamic array, Dim only specifies the type of the array. The number of dimensions of the array and the subscript bounds for each dimension are not defined; and no storage is allocated for the array elements. The declaration of a dynamic array must be 
completed by a later ReDim statement.

<:#200,8486><:f>Arrays can have up to 8 dimensions.

<:#200,8486>Array subscript bounds must fall in the range -32768 to 32767 inclusive.

@Chead@<:#240,8486><:f>Declaring lists

@1st Paragraph@<:#800,8486><:f>A list is initially empty when it is declared: it has no elements, and no storage is allocated for it. An element is added to a list when the list name with a particular list tag first appears on the left-hand side of an assignment statement (a Let stat
ement or a Set statement).

@Chead@<:#240,8486><:f>Declaring object reference variables

@1st Paragraph@<:#600,8486><:f>If <+">type<-"> is the name of a class and the keyword New is not specified, the initial value of the declared object reference variable is NOTHING. To assign another value to an object reference variable, use the Set statement later in the script.

<:#800,8486><:f>If a compiled module is saved, its declarations and subprograms are saved, but not its compiled module-level executable code. Therefore, use the construct 
</S>Dim<+!> <-!><+">var_name<+!><-"> <-!>As New <+">class_name</T><-">  with care at the module level, since that statement generates executable code.

<:#200,8486>New is not valid in an array declaration or a list declaration.

@Chead@<:#240,8486><:f>Initializing variables

@1st Paragraph@<:#400,8486><:f>Declaring a variable also initializes it. The following table summarizes how variables are initialized.

<:t22>

<:#600,8486><:f><:f><:f>An array variable has a type just like an ordinary variable. Each element of an array variable has that same type. Each element is initialized like an ordinary variable of that type, as specified in the table.

<:#200,8486><:f>A list variable has no elements when it is declared.  There is nothing to initialize.

@Chead@<:#240,8486><:f>Visibility of declarations

@1st Paragraph@<:#400,8486><:f>The default <+">visibility<-"> for a declaration at the module level is Private, unless Option Public has been specified.

<:#200,8486><:f>The default <+">visibility<-"> for a variable declaration within a class is Private.

<:#800,8486>Public and Private can only be used to declare variables in module or class scope. Variables declared within subprograms, and members of types, can</R>t be declared as Public or Private. Variables declared within a subprogram are implicitly Private. Members
 of types are implicitly Public.

@Chead@<:#240,8486><:f>Example 1

@mono@<:#1540,8486>DIM PhilaMint(5) AS INTEGER <**>DIM X AS SINGLE<**>X = 10.0<**>PhilaMint(0) = 3<**>PhilaMint(1) = X<**>PRINT DATATYPE(PhilaMint(0)); DATATYPE(PhilaMint(1))   'Prints 2  2

<:#1000,8486><:f>The one-dimensional Integer fixed array PhilaMint is declared. The Integer value 0 and the Single value of X (the value 10.0) are assigned to elements of the array. The data types of the elements are retrieved by the DataType function. The DataType of P
hilaMint(1) is 2 (Integer), because data assigned to an array element is converted to the type of the element.

@Chead@<:#240,8486><:f>Example 2

@mono@<:#220,8486>DIM X AS NEW Button("Merge", 60, 125)

<:#1200,8486><:f>X is declared as an object reference variable to hold references to objects of the class named Button. A new Button object is created. For this example, suppose that the constructor sub for the class Button takes three arguments: a name for a button, an
d x- and y-position coordinates for the location of the button. The new button created is named 
</S>Merge</T>, and positioned at (60, 125). A reference to this button is assigned to X.

@Chead@<:#240,8486><:f>Related topics

@popref@<:#240,8486><:f>Arrays

@popref@<:#240,8486>Lists

@popref@<:#240,8486>Class...End Class Statement: to define a class

@popref@<:#480,8486><:f>Def<+">type<-"> Statements: to set the default data type for variables, functions, and properties whose names begin with certain letters

@popref@<:#240,8486><:f>Erase Statement: to erase an array, a list, or a list element

@popref@<:#240,8486>Let Statement: to assign a value to a variable

@popref@<:#240,8486>Option Base Statement: to set the default lower bound for array dimensions

@popref@<:#480,8486><:f>Option Public Statement: to specify that module-level explicit declarations are Public by default

@popref@<:#240,8486><:f>ReDim Statement: to set or change the size of a dynamic array

@popref@<:#240,8486>Set Statement: to assign an object reference to a variable

@popref@<:#240,8486>Type...End Type Statement: to define a type

@popref@<:#240,8486><:f>Use Statement: to load a module containing Public definitions

@Ahead@<:#410,8486><:f>Dir and Dir$ Functions<:X8,19;Index "DIR" #><:X8,19;Index "File handling" # "DIR"><:X8,19;Index "Directories" # "contents of (DIR)"><:X8,19;Index "Contents of directories" #>

<:#400,8486><:f>Return file or directory names from a specified directory, or return a drive 
<**>volume label

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><:f><+!>Dir<-!><[><+!>$<-!>] <[> <+!>(<-!><+">file_spec<-"> <[><+!>,<-!> 
<+">attribute_mask<-">]<+!> )<-!> ]

<:f>The arguments of the Dir and Dir$ functions are described in the following table.<:t1>

<:t2>

@Chead@<:#240,8486><:f><:f><:f>Return value

@1st Paragraph@<:#200,8486>Dir returns a Variant of DataType 8 (a String), and Dir$ returns a String.

@Chead@<:#240,8486><:f>Usage

@1st Paragraph@<:#400,8486><:f>The constants in the table are defined in the file LSCONST.LSS. Including this file in your script allows you to use constant names instead of their numeric values.

<:#600,8486><:f>To determine whether a particular file exists, use an exact file name for the 
<+">file_spec<-"> argument to Dir or Dir$. The return value is either the file name, or, if the file does not exist,  
<:f,QCourier,>"<:f,QCourier,>"<:f> (the empty string).

<:#400,8486><:f>The first call to Dir or Dir$ returns the name of the first file in the specified directory that fits the file name specifications in the 
<+">file_spec<-"> argument. Then:

@bullet@<:#480,8486>Subsequent calls to Dir or Dir$ without an argument retrieve additional file names that match 
<+">file_spec<-">.

@bullet@<:#720,8486>If there are no more file names in the specified directory that match the specification, Dir or Dir$ returns "" (the empty string) or a Variant of DataType 8 (a string).

<:#400,8486><:f>The function Dir with no arguments can be called as either Dir or Dir(). The function Dir$ with no arguments can be called as either Dir$ or Dir$().

<:#400,8486><:f>If Dir or Dir$ is called without an argument after an empty string has been returned, LotusScript generates an error.

@Chead@<:#240,8486><:f>Example

@mono@<:#1760,8486>DIM PathName AS STRING, FileName AS STRING<**>PathName = "C:\*.*"<**>FileName = DIR$(PathName, 0)<**><**>DO WHILE FileName <<<;> ""<**>  PRINT FileName<**>  FileName = DIR$()<**>LOOP

<:#200,8486><:f>This script lists the contents of directory C:\, one entry per line.

@Chead@<:#240,8486><:f>Related topics

@popref@<:#240,8486><:f>ChDir Statement: to set the current directory on a specified drive

@popref@<:#240,8486>CurDir and CurDir$ Functions: to return the current directory for a drive

@popref@<:#240,8486>%Include Directive: to include another script source file during compilation

@Ahead@<:#410,8486><:f>Do...Loop Statement<:X8,21;Index "DO" #><:X8,21;Index "WHILE" #><:X8,21;Index "UNTIL" #><:X8,21;Index "LOOP" #><:X8,21;Index "Loops" # "DO...LOOP"><:X8,21;Index "EXIT" #>

<:#400,8486><:f>Executes a block of statements repeatedly while a given condition is true, or until it becomes true

@Chead@<:#240,8486><:f>Syntax 1

<:#200,8486><:f><+!>Do <-!><[><+!>While <-!>| <+!>Until <-!><+">condition<-">]

<:#200,8486>	<[><+">statements<-">]

<:#200,8486><+!>Loop<-!>

@Chead@<:#240,8486><:f>Syntax 2

<:#200,8486><:f><+!>Do<-!>

<:#200,8486>	<[><+">statements<-">]

<:#200,8486><+!>Loop <-!><[><+!>While <-!>| <+!>Until <-!><+">condition<-">]

<:#400,8486><:f>The <+">condition <-">is a numeric expression. 0 is interpreted as FALSE, and any other value is interpreted as TRUE.

@Chead@<:#240,8486><:f>Usage

@1st Paragraph@<:#600,8486><:f>In Syntax 1, <+">condition<-"> is tested before entry to the loop, and before each subsequent repetition. The loop repeats While the 
<+">condition<-"> is TRUE, or Until the <+">condition<-"> is TRUE.

<:#600,8486><:f>In Syntax 2, <+">condition<-"> is tested after the body of the loop executes once, and after each subsequent repetition. The loop repeats While the 
<+">condition<-"> is TRUE<+!>, <-!>or Until the <+">condition<-"> is TRUE.

@Chead@<:#240,8486><:f>Terminating the loop

@1st Paragraph@<:#600,8486><:f>You can exit the loop with an Exit Do statement or a Goto statement. Exit Do transfers control to the statement that follows the Do...Loop block; Goto transfers control to the statement at the specified label.

<:#600,8486>If the While or Until <+">condition<-"> is not specified, the loop will run forever or until an Exit</`>Do or a Goto statement is executed within the loop. For example, this loop executes forever:

@mono@<:#660,8486>DO<**>'...<**>LOOP

@Chead@<:#240,8486><:f>Example

@mono@<:#2200,8486>DIM I AS INTEGER, J AS INTEGER<**>I = 1<**>J = 1<**>DO WHILE I << 5		'Tests the value of I before executing loop<**>  I = I + 1<**>LOOP<**><**>DO 
	<**>  J = J + 1<**>LOOP UNTIL J <;>= 5		'Tests the value of J after executing loop

<:#200,8486><:f>Each loop executes four times, exiting when the value of the loop variable reaches 5.

@Chead@<:#240,8486><:f>Related topics

@popref@<:#480,8486><:f>Exit Statement: to terminate execution of a block statement or subprogram before reaching the normal end

@popref@<:#240,8486><:f>For...Next Statement: to execute a block of statements some specific number of times

@popref@<:#480,8486><:f>ForAll...End ForAll Statement: to execute a block of statements repeatedly for each element of an array or list

@popref@<:#480,8486><:f>While...Wend Statement: to execute a block of statements repeatedly while a condition is TRUE

@Ahead@<:#410,8486>End Statement<:X8,23;Index "END" #>

<:#200,8486><:f>Terminates execution of the currently executing script

@Chead@<:#240,8486><:f><:f><:f>Syntax

<:#200,8486><:f><+!>End<-!> <[> <+">returnCode<-"> ]

<:#400,8486>The <+">returnCode<-"> is an optional Integer expression. The script returns the value of this expression to the Lotus product that executed the script.

@Chead@<:#240,8486><:f><:f><:f><:f>Usage

<:#600,8486>Some Lotus product can interpret a non-zero return value from a script. For more details, see the product's documentation. If the product does not expect a return value, do not use 
<+">returnCode<-">.

@Chead@<:#240,8486><:f>Example

@mono@<:#1100,8486>FUNCTION Func1 ()<**>  PRINT 1<**>  END				'Terminates program execution<**>  PRINT 2			'Never executed<**>END FUNCTION			'Ends the function definition

<:#400,8486><:f>The End statement within Func1 terminates execution of the script running when this function is called.

@Chead@<:#240,8486>Related topics

@1st Paragraph@<:#400,8486><:f>Exit Statement: to terminate execution of a block statement or subprogram before reaching the normal end

@Ahead@<:#410,8486><:f><:f><:f><:f>Environ and Environ$ Functions<:X8,23;Index "ENVIRON" #><:X8,23;Index "Operating environment" # "strings from">

<:#200,8486><:f>Return information about an environment variable from the operating system

@Chead@<:#240,8486><:f>Syntax 1

<:#200,8486><:f><+!>Environ<-!><[><+!>$<-!>] <+!>(<-!><+">environ_name<-"><+!>)<-!>

<:#400,8486>The <+">environ_name<-"> argument is a string of uppercase characters indicating the name of an environment variable.

@Chead@<:#240,8486><:f>Syntax 2

<:#200,8486><:f><+!>Environ<-!><[><+!>$<-!>] <+!>(<-!><+">n<-"><+!>)<-!>

<:#400,8486>The <+">n<-"> argument is a numeric value from 1 to 255, inclusive, indicating the position of an environment variable in the environment string table.

@Chead@<:#240,8486><:f>Return value

@1st Paragraph@<:#200,8486>Environ returns a Variant, and Environ$ returns a String. 

<:#800,8486>For Syntax 1, LotusScript returns the value of the specified environment variable. If that environment variable is not found, LotusScript returns the empy string (<:f,QCourier,>""<:f>). If 
<+">environ_name<-"> is an empty string, an EMPTY Variant, or NULL, LotusScript generates an 
</S>Illegal function call</T> error.

<:#1000,8486>For Syntax 2, LotusScript returns the entire environment string, including the name of the environment variable. If 
<+">n<-"> is larger than the number of strings in the environment string table, LotusScript returns the empty string (<:f,QCourier,>"<:f,QCourier,>"<:f>). If 
<+">n<-"> is less than 1, greater than 255, an EMPTY Variant, or NULL, LotusScript generates an 
</S>Illegal function call</T> error.

@Chead@<:#240,8486><:f>Example

@mono@<:R1,4,1,1200,1,1680,1,2160,1,3960,><:#1320,8486>DIM PathName AS STRING<**>'Assign the value of the environment variable<**>'PATH to the variable PathName.<**>PathName = ENVIRON$("PATH")<**><**>PRINT PathName	'Prints "C:\WINDOWS" (for example)

<:R><:#400,8486><:f>The current directory path in the operating environment, for example 
</S>C:\WINDOWS</T>, is assigned to the variable PathName, and printed.

@Chead@<:#240,8486>Related topics

@popref@<:#240,8486>Command and Command$ Functions

@Ahead@<:#410,8486><:f>EOF Function<:X8,24;Index "EOF" #><:X8,24;Index "File handling" # "EOF"><:X8,24;Index "End of file" #>

<:#200,8486><:f>Returns an integer value that indicates whether the end of a file has been reached

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><:f><+!>EOF(<-!><+">file_number<-"><+!>)<-!>

<:#200,8486>The <+">file_number <-">is the ID number assigned to the file when it was opened.

@Chead@<:#240,8486><:f>Return value

@1st Paragraph@<:#400,8486><:f>The return value depends on the type of file that you are using. The following table shows the EOF return values for binary, random, and sequential file types.

<:t23>

@Chead@<:#240,8486><:f><:f><:f>Usage

@1st Paragraph@<:#800,8486><:f>For sequential files, a CTRL-Z character (ASCII 26) is considered an end-of-file marker. If this character is encountered in the middle of a sequential file (via the Input function or the Input # statement), EOF returns TRUE. CTRL-Z is not considered an
 end-of-file marker for binary and random files.

@Chead@<:#240,8486><:f>Example

@mono@<:#1980,8486>DIM Text AS STRING, FileNum AS INTEGER<**>FileNum = FREEFILE()<**><**>OPEN "C:\CONFIG.SYS" FOR INPUT AS FileNum<**>DO UNTIL EOF(1)<**>  LINE INPUT #1, Text<**>  PRINT Text<**>LOOP<**>CLOSE FileNum

<:#400,8486><:f>This opens the CONFIG.SYS file in the C:\ directory, prints its contents, then closes the file.

@Chead@<:#240,8486><:f>Related topics

@popref@<:#240,8486><:f>Close Statement: to close one or more open files

@popref@<:#240,8486>LOC Function: to return the file position within an open file

@popref@<:#240,8486>LOF Function: to return the length (in bytes) of an open file

@popref@<:#240,8486>Open Statement: to open a file

@Ahead@<:#410,8486><:f>Erase Statement<:X8,26;Index "ERASE" #><:X8,26;Index "Arrays" # "erasing"><:X8,26;Index "Lists" # "erasing">

<:#200,8486><:f>Erases arrays, lists, and list elements

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><:f><+!>Erase <-!>{<+">arrayname<-"> <+">| listname | listname<+!> 
<-">(<-!><+">tag<-"><+!>)<-!> }<+"> <-"><[><+!>,<-!><+!> <-!>{<+">arrayname 
<-">|<+"> listname <-">|<+"> listname <-"><+!>(<-!><+">tag<-"><+!>)<-!> } ]...

<:#200,8486>Each item is an array, a list, or a list element to be erased. 

@1st Paragraph@<:#400,8486><:f>For a list element, the argument takes the form <+">listname<-">(<+">tag<-">).The 
<+">listname<-"> is a list or a Variant containing a list. The <+">tag<-"> is the tag of a list element in the list 
<+">listname<-">.

<:t0>

@Chead@<:#240,8486><:f>Usage

<:#200,8486><:f>The following table shows how the Erase statement affects arrays and lists.

<:t24>

@Chead@<:#240,8486><:f><:f><:f>Example

@mono@<:R1,4,1,1200,1,1680,1,2160,1,3480,><:#1760,8486>OPTION BASE 1	<**>DIM BaseLine(3) AS INTEGER  'Declare the fixed array BaseLine<**><**>BaseLine(1) = 1	'Assign values to BaseLine<**>BaseLine(2) = 2<**>BaseLine(3) = 6<**>ERASE BaseLine	'Erase BaseLine<**>PRINT BaseLine(1)	'Prints 0

<:R><:#400,8486><:f>The Erase statement reinitializes all elements of the Integer array BaseLine. The initial value of each element is 0.

@Chead@<:#240,8486><:f>Related topics

@popref@<:#240,8486><:f>Arrays

@popref@<:#240,8486>Lists

@popref@<:#240,8486>ReDim Statement: to set or change the size of a dynamic array

@Ahead@<:#410,8486><:f>ERL Function<:X8,27;Index "ERL" #><:X8,27;Index "Line number for error" #><:X8,27;Index "Errors" # "line number for"><:X8,27;Index "Error handling" # "ERL">

<:#200,8486><:f>Returns the line number in the script source file where the current error occurred

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><:f><+!>ERL<-!>

@Chead@<:#240,8486><:f>Return value

@1st Paragraph@<:#400,8486>ERL returns an Integer. It returns 0 if there is no current error. This means that the most recent error has been handled.

@Chead@<:#240,8486>Usage

@1st Paragraph@<:#200,8486>The function ERL can be called as either ERL or ERL().

@Chead@<:#240,8486><:f>Example

@mono@<:#1100,8486>SUB RepErr<**>  DIM X AS INTEGER<**>  X = ERL()<**>  PRINT X<**>END SUB

<:#200,8486><:f>The line number where the current error, if any, occurred is assigned to the variable X.

@Chead@<:#240,8486><:f>Related topics

@popref@<:#240,8486><:f>Handling Runtime Errors

@popref@<:#240,8486>Runtime Error Processing

@popref@<:#240,8486>Err Function: to return the current error number

@popref@<:#240,8486>Err Statement: to set the current error number

@popref@<:#240,8486>Error and Error$ Functions: to return an error message for a specified error number

@popref@<:#240,8486>Error Statement: to define an error number and its corresponding message

@popref@<:#240,8486>On Error Statement: to handle runtime errors in a script

@Ahead@<:#410,8486><:f>Err Function<:X8,28;Index "ERR" #><:X8,28;Index "Error handling" # "ERR">

<:#200,8486><:f>Returns the current error number

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><:f><+!>Err<-!>

@Chead@<:#240,8486><:f>Return value

@1st Paragraph@<:#200,8486>Err returns an Integer. If there is no current error, Err returns 0.

@Chead@<:#240,8486>Usage

@1st Paragraph@<:#400,8486>The error number is set when an error occurs, or by the Err statement. Generally, the function Err is used within an error-handling routine.

<:#200,8486>The function Err can be called as either Err or Err().

@Chead@<:#240,8486>Example

@mono@<:#3740,8486>SUB PrintError<**>  DIM X AS INTEGER, Y AS INTEGER, Z AS INTEGER<**>  DIM ErrCode AS INTEGER<**>  ON ERROR GOTO ErrHandler<**>  '...<**>  X = 5<**>  Y = 0<**>  '...<**>  Z = X / Y<**>  EXIT SUB<**>ErrHandler:<**>  ErrCode = ERR()<**>  PRINT ErrCode<**>  RES
UME NEXT<**>END SUB<**>'...<**>PrintError

<:#400,8486><:f>When an error occurs, On Error transfers control to ErrHandler, which assigns the error number to the variable ErrCode and then prints it.

@Chead@<:#240,8486><:f>Related topics

@popref@<:#240,8486><:f>Defining Errors and Error Numbers

@popref@<:#240,8486>Handling Runtime Errors

@popref@<:#240,8486>Runtime Error Processing

@popref@<:#480,8486>ERL Function: to return the line number in the script source file where the current error occurred

@popref@<:#240,8486>Err Statement: to set the current error number

@popref@<:#240,8486>Error and Error$ Functions: to return an error message for a specified error number

@popref@<:#240,8486>Error Statement: to define an error number and its corresponding message

@popref@<:#240,8486>On Error Statement: to handle runtime errors in a script

@Ahead@<:#410,8486><:f>Err Statement<:X8,29;Index "ERR" #><:X8,29;Index "Error handling" # "ERR"><:X8,29;Index "Overriding error codes" #>

<:#200,8486><:f>Sets the current error number

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><:f><+!>Err = <-!><+">err_number<-">

<:#200,8486>The <+">err_number<-"> argument is a numeric expression whose value is an error number.

@Chead@<:#240,8486><:f>Usage

@1st Paragraph@<:#400,8486><:f>The Err statement sets the current error number to an error number you specify. This may be any number in the range 0 to 32767 inclusive.

@Chead@<:#240,8486><:f>Example

@mono@<:#220,8486>ERR = 2000

<:#200,8486><:f>The current error number is set to 2000.

@Chead@<:#240,8486><:f>Related topics

@popref@<:#240,8486><:f>Defining Errors and Error Numbers

@popref@<:#240,8486>Handling Runtime Errors

@popref@<:#240,8486>Runtime Error Processing

@popref@<:#480,8486>ERL Function: to return the line number in the script source file where the current error occurred

@popref@<:#240,8486>Err Function: to return the current error number

@popref@<:#240,8486>Error and Error$ Functions: to return an error message for a specified error number

@popref@<:#240,8486>Error Statement: to define an error number and its corresponding message

@popref@<:#240,8486>On Error Statement: to handle runtime errors in a script

@Ahead@<:#410,8486><:f>Error and Error$ Functions<:X8,29;Index "ERROR" #><:X8,29;Index "Error handling" # "ERROR"><:X8,29;Index "Errors" # "messages from">

<:#200,8486><:f>Return an error message for either a specified error number or the current error

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><:f><+!>Error<-!><[><+!>$<-!>] <[><+!> (<-!><+">err_number<-"><+!>)<-!> ]

<:#600,8486>The <+">err_number<-"> argument is a numeric expression whose value is an error number. If no 
<+">err_number<-"> is specified, LotusScript returns the message for the current (most recent) error.

@Chead@<:#240,8486><:f>Return value

@1st Paragraph@<:#400,8486>Error returns a Variant, and Error$ returns a String. If no <+">err_number<-"> is specified, and there is no current error, Error<[>$] returns the empty string (<:f,QCourier,>"<:f,QCourier,>"<:f>).

@Chead@<:#240,8486><:f>Usage

@1st Paragraph@<:#400,8486><:f>The function Error with no arguments can be called as either Error or Error(). The function Error$ with no arguments can be called as either Error$ or Error$().

@Chead@<:#240,8486>Example

@mono@<:#3300,8486>SUB PrintError<**>  DIM X AS INTEGER, Y AS INTEGER, Z AS INTEGER<**>  ON ERROR GOTO ErrHandler<**>  '...<**>  X = 5<**>  Y = 0<**>  '...<**>  Z = X / Y<**>  EXIT SUB<**>  ErrHandler:<**>    PRINT ERROR$()<**>    RESUME NEXT<**>END SUB<**>'...<**>PrintError

<:#400,8486><:f>When an error occurs, On Error transfers control to ErrHandler, which prints the error message.

@Chead@<:#240,8486><:f>Related topics

@popref@<:#240,8486><:f>Defining Errors and Error Numbers

@popref@<:#240,8486>Handling Runtime Errors

@popref@<:#240,8486>Runtime Error Processing

@popref@<:#480,8486>ERL Function: to return the line number in the script source file where the current error occurred

@popref@<:#240,8486>Err Function: to return the current error number

@popref@<:#240,8486>Err Statement: to set the current error number

@popref@<:#240,8486>Error Statement: to define an error number and its corresponding message

@popref@<:#240,8486>On Error Statement: to handle runtime errors in a script

@Ahead@<:#410,8486><:f>Error Statement<:X8,31;Index "ERROR" #><:X8,31;Index "Error handling" # "ERROR"><:X8,31;Index "Errors" # "signalling"><:X8,31;Index "Defining new errors" #><:X8,31;Index "Creating new errors" #>

<:#200,8486><:f>Defines an error number and its corresponding message

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><:f><+!>Error <-!><+">err_number <-"><[><+!>,<-!> <+">msg_expr<-">]

<:#200,8486><:f>The elements of the Error statement are described in the following table.

<:t25>

@Chead@<:#240,8486><:f><:f><:f>Usage

@1st Paragraph@<:#1000,8486><:f>If <+">err_number<-"> is a LotusScript-defined error number, this Error statement simulates a LotusScript error. If it is not, this statement creates a user-defined error. When the Error statement is executed, LotusScript behaves as if a runtime error h
as occurred. If no error handling is in effect (set up by an On Error statement) for the specified error, execution ends and an error message is generated.

<:#800,8486>The error message generated is <+">msg_expr<-"> if it is specified. If 
<+">msg_expr<-"> is omitted, the error message is the LotusScript error message for the specified error number, if that number designates a LotusScript error. Otherwise the message 
</S>User-defined error</T> is generated.

@Chead@<:#240,8486><:f>Example

@mono@<:#2640,8486>SUB Checker<**>  'Specify an error which ErrTooHigh handles<**>  ON ERROR 2000 GOTO ErrTooHigh<**>  'Test the error-handling routine ErrTooHigh<**>  ERROR 2000,"Upper limit exceeded"<**>  EXIT SUB<**><**>  'Define the error-handling routine<**>ErrTooHigh:<**>
  PRINT ERROR$(); " has occurred."<**>  RESUME NEXT<**>END SUB

<:#400,8486><:f>The On Error statement specifies which error the error-handling routine ErrTooHigh handles. The Error statement tests the routine.

@Chead@<:#240,8486><:f>Related topics

@popref@<:#240,8486><:f>Defining Errors and Error Numbers

@popref@<:#240,8486>Handling Runtime Errors

@popref@<:#240,8486>Runtime Error Processing

@popref@<:#480,8486>ERL Function: to return the line number in the script source file where the current error occurred

@popref@<:#240,8486>Err Function: to return the current error number

@popref@<:#240,8486>Err Statement: to set the current error number

@popref@<:#240,8486>Error and Error$ Functions: to return an error message for a specified error number

@popref@<:#240,8486>On Error Statement: to handle runtime errors in a script

@Ahead@<:#410,8486>Evaluate Function<:X8,32;Index "EVALUATE" #><:f><:X8,32;Index "Macros, running" #>

<:#200,8486><:f>Executes a Lotus product macro

@Chead@<:#240,8486><:f>Syntax

@1st Paragraph@<:#200,8486><+!>Evaluate<-!><+!>(<-!><+">macro<-"> <[><+!>,<-!><+"> object<-">]<+!> )<-!>

<:#200,8486>The following table describes the elements of the Evaluate function.

@Chead@<:f><:f><:f><+!><:t34>Return value<-!>

@1st Paragraph@<:#400,8486>If the Lotus product macro being executed returns a value, Evaluate function returns a Variant containing that value. Otherwise, the function does not return a value.<:f><:f><:f><:f>

@Ahead@<:#410,8486><:f>Execute Function and Statement<:X8,32;Index "EXECUTE statement" #><:f><:X8,32;Index "EXECUTE function" #><:f><:f,,><:X8,32;Index "Text as a script" #><:X8,32;Index "Temporary modules" #>

<:#200,8486><:f>Compiles and executes text as a temporary module

@Chead@<:#240,8486><:f>Statement Syntax

<:#200,8486><:f><+!>Execute <-!><+">text

<:#200,8486>The <+">text<-"> argument is a string expression, the text to be compiled and executed.

@Chead@<:#240,8486>Function Syntax

@1st Paragraph@<:#200,8486><+!>Execute(<-!><+">text<-"><+!>)<-!>

<:#200,8486>The <+">text<-"> argument is a string expression, the text to be compiled and executed.

@Chead@<:#240,8486><:f><:f><:f><+!>Return value<-!>

@1st Paragraph@<:#200,8486>The Execute function returns one of the following values:

@bullet@<:#240,8486>The return code of an End statement, if one was executed.

@bullet@<:#480,8486>0, if no End statement was executed, or if the executed End statement had no return value.

@Chead@<:#240,8486>Usage

@1st Paragraph@<:#400,8486><:f>The text is considered a separate script. It is compiled and executed as a temporary module which is unloaded as soon as it finishes executing.

<:#1000,8486>Variables declared in the calling script (where the Execute statement appears) are only accessible in the temporary script if they are declared Public. Both these Public variables, and variables declared Public in external modules used by the calling script
, will be accessible automatically. To reference a local variable in the temporary script, use the CStr function to convert its value to a string, and then include the result in 
<+">text<-">.

<:#200,8486>Variables declared in the temporary script are not accessible outside of that script.

<:#400,8486>To delimit text that spans several lines or includes double-quote characters, use bars (| |) or braces ({ }).

<:#1000,8486>Any compilation error in the temporary script will be reported as a runtime error in the scope containing the Execute statement. Any runtime error in the temporary script will be reported as a runtime error within the scope of that temporary script, not the
 scope containing the Execute statement. To handle runtime errors within the temporary script, use On Error.

<:#400,8486>The Execute statement is not legal at the module level. It can be used only in subprograms.

@Chead@<:#240,8486>Example1 (Execute statement)

@mono@<:#1540,8486>'When the sub TestLet is called, the one-line script<**>'defined by the string contents of Scriptlet is executed.<**>SUB TestLet<**>  DIM Scriptlet AS STRING<**>  Scriptlet = |PRINT "The script is working"|<**>  EXECUTE Scriptlet<**>END SUB

@Chead@<:#240,8486><:f><:f><:f><+!>Example 2<-!> (Execute function)

@mono@<:#2640,8486>'When the sub TestLet is called, the one-line script<**>'named Scriptlet is executed. The END statement terminates<**>'the script and passes 4 as a result of the EXECUTE statement.<**>'The integer 4 is then put into the return code. The PRINT<**>'statement 
prints the result of the EXECUTE statement.<**>SUB TestLet<**>	DIM Scriptlet AS STRING<**>	DIM Retcode as INTEGER<**>	Scriptlet = |SUB Initialize: END 4: END SUB|<**>	Retcode=EXECUTE (Scriptlet)<**>	PRINT Retcode<**>END SUB

@Chead@<:#240,8486>Related topics

@popref@<:#240,8486>Dim, Private, Public, and Static Statements

@popref@<:#240,8486>End Statement

@popref@<:#240,8486>On Error Statement

@Ahead@<:#410,8486><:f>Exit Statement<:X8,34;Index "EXIT" #><:X8,34;Index "Blocks" #><:X8,34;Index "Terminating blocks" #>

<:#400,8486><:f>Terminates execution of a block statement or subprogram before reaching the statement that ends the block statement or subprogram definition

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><:f><+!>Exit <-!><+">block_type<-">

<:#600,8486>The <+">block_type<-"> designates the type of the block statement or subprogram for which execution is to be terminated. It must be one of the following keywords: Do, For, ForAll, Function, Sub, or Property.

@Chead@<:#240,8486><:f>Usage

@1st Paragraph@<:#600,8486><:f>When this statement is encountered during execution, LotusScript returns control from the block statement or subprogram where the statement is encountered, without executing any more statements within that block statement or subprogram.

<:#600,8486>An Exit statement of a particular type is legal only within an enclosing block statement or subprogram of that type. LotusScript returns control from the innermost block statement or subprogram of that type.

<:#1200,8486>However, the innermost block statement or subprogram containing the Exit statement need not be of that type. For example, a function definition can include a For...Next block statement, and an Exit Function statement can appear within this block statement. 
If LotusScript encounters the Exit Function statement during execution, control is returned immediately from the function; so the For...Next block statement is not executed to completion.

<:#200,8486>The following table shows the rules for transfer of control after the Exit statement. 

<:t26>

<:#800,8486><:f><:f>If you exit a function or a Property Get without assigning a value to the function or property variable, that function or property returns the initialized value of the variable. Depending on the data type of the function or property, this value can 
be either 0, EMPTY, or <:f,QCourier,>""<:f> (the empty string).

@Chead@<:#240,8486><:f>Example

@mono@<:#1100,8486>FUNCTION Func1 (X AS INTEGER)<**>  '...<**>  IF X <;> 0 THEN EXIT FUNCTION<**>  '...<**>END FUNCTION

<:#800,8486><:f>When Func1 is called and the If statement is encountered, then if X <;> 0 is TRUE, execution of Func1 is terminated without executing the statements between the conditional and the End Function statement. If Func1 had not yet been assigned a value, its 
value on return would be EMPTY.

@Chead@<:#240,8486><:f>Related topics

@popref@<:#240,8486><:f>End Statement: to terminate execution of the currently executing script

@Ahead@<:#410,8486><:f>Exp Function<:X8,35;Index "EXP" #><:X8,35;Index "Mathematical functions" # "EXP">

<:#200,8486><:f>Returns the exponential<+"> <-">(base <+">e<-">) of a number

@Chead@<:#240,8486><:f>Syntax

<:#200,8486><:f><+!>Exp(<-!><+">num_expr<-"><+!>)<-!>

<:#400,8486>The <+">num_expr<-"> argument is any numeric expression; it represents the power to which you wish to raise the value 
<+">e<-">.

@Chead@<:#240,8486><:f>Return value

@1st Paragraph@<:#200,8486>Exp returns a value with the data type Double. 

@Chead@<:#240,8486>Usage

@1st Paragraph@<:#200,8486><:f>The value of <+">e<-"> is approximately 2.71828.

<:#200,8486>Exp is the inverse function of Log.

<:#200,8486><:f>If <+">num_expr<-"> exceeds 709.78, an overflow error is generated.

@Chead@<:#240,8486><:f>Example

@mono@<:#660,8486>DIM Y AS DOUBLE<**>Y = EXP(2)<**>PRINT Y				'Prints 7.38905...

<:#200,8486><:f>The value of <+">e<-"> to the power 2 is assigned to the variable Y and printed.

@Chead@<:#240,8486><:f>Related topics

@popref@<:#240,8486><:f>Log Function: to return the natural logarithm of a number.<:f>

@popref@<:#240,8486>

>

[Embedded]
00142704
