[ver]
	4
[sty]
	
[files]
[charset]
	82
	ANSI (Windows, IBM CP 1252)
[revisions]
	0
[sequence]
	232
	0
	0
	0
	12
	0
	Numbered List
	1072
	bullet
	1072
	indent bullet
	1072
	Note
	1072
	indent Note
	1072
	tip
	1072
	Caution
	1072
	indentCaution
	1072
	find
	0
	Footnote
	1072
	indent Tip
	1072
	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
	
	
	
	
	802476035
	95
	765745656
	2923
	42
	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
	1573060
	1975
	7850
	7950
	9295
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	173
	0
	0
	9471 2
	[frmlay]
		10864
		5975
		1
		0
		0
		1
		7850
		0
		0
		2
		0
		0
		0
		0
		1
		504
		3268
		0
	[tbl]
		 1 2 0 86 1440 86 5 43 43
		[h]
			 0 1316 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
EMPTY

Integer

Long

Single

Double

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

Date

String

OLE error

OLE boolean

>
		[e]
	[tble]
[frm]
	1
	1573060
	2215
	960
	8190
	1847
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	172
	1
	7935
	2 3328
	[frmlay]
		4019
		5975
		1
		0
		0
		1
		960
		0
		0
		2
		0
		0
		0
		0
		1
		504
		3268
		0
	[tbl]
		 1 2 0 86 1440 86 5 43 43
		[h]
			 0 758 86 2 0 1 0
		[e]
		[w]
			 1 4320 86 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
NULL

Array

List

>
			 0 1 0 0 0 0 0 1 0 0 0 0
Object (OLE, product, or LotusScript object)

String (if not interpretable as number)

>
		[e]
	[tble]
[frm]
	1
	1573060
	1975
	8910
	7950
	10355
	0
	1
	1
	1 0 0 0 0 0 0
	0
	16777215
	171
	2
	3583
	256 3842
	[frmlay]
		10440
		5975
		1
		0
		0
		1
		8910
		0
		0
		2
		0
		0
		0
		0
		1
		504
		3268
		0
	[tbl]
		 1 2 0 86 1440 86 5 43 43
		[h]
			 0 1316 86 2 0 2 0
		[e]
		[w]
			 0 1440 86 2 0
			 1 4320 86 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
Integer

Long

Single

Double

Currency

>
			 0 1 0 0 0 0 0 1 0 0 0 0
Date

EMPTY

String (if interpretable as number)

OLE error

OLE boolean

>
		[e]
	[tble]
[frm]
	4
	1704004
	1975
	3330
	7950
	5129
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	170
	3
	3583
	256 3842
	[frmlay]
		6800
		5975
		3
		0
		0
		3
		3330
		0
		0
		2
		0
		133
		224
		23
		1
		720
		9206
		0
	[tbl]
		 6 2 0 86 4140 86 5 43 43
		[h]
			 0 240 86 2 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
		[e]
		[w]
			 0 2880 86 2 0
			 1 2880 86 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
@Column Head@Input mode

>
			 0 1 0 0 0 0 0 1 0 0 0 0
@Column Head@Return value

>
			 1 0 0 0 0 0 0 1 0 0 0 0
Single-byte alphanumeric (IME off)

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

>
			 2 0 0 0 0 0 0 1 0 0 0 0
Double-byte Hiragana

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

>
			 3 0 0 0 0 0 0 1 0 0 0 0
Double-byte Katakana

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

>
			 4 0 0 0 0 0 0 1 0 0 0 0
Single-byte Katakana

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

>
			 5 0 0 0 0 0 0 1 0 0 0 0
Double-byte alphanumeric

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

>
		[e]
	[tble]
[frm]
	104
	1572932
	2001
	5596
	7924
	8567
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	93
	4
	0
	7167 2
	[frmlay]
		9453
		5923
		3
		0
		0
		3
		5596
		0
		0
		2
		0
		133
		224
		23
		1
		720
		5040
		0
	[tbl]
		 8 2 0 86 1440 0 5 43 43
		[h]
			 0 240 86 18 0 2 0
			 1 200 86 2 0 2 0
			 2 400 86 2 0 1 0
			 3 400 86 2 0 1 0
			 4 400 86 2 0 1 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 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@Condition

>
			 0 1 8 0 0 0 0 1 0 0 0 0
@Column Head@<+@>Return value

>
			 1 0 0 0 0 0 0 1 0 0 0 0
<:f><+"><:f>string1<-"> is " " (the empty string)

>
			 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>string2<-"> is not found after <+">begin<-"> in <+">string1

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

>
			 3 0 0 0 0 0 0 1 0 0 0 0
<+"><:f>begin<-"> is larger than the length of <+">string1

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

>
			 4 0 0 0 0 0 0 1 0 0 0 0
<+"><:f>string2<-"> is <:f,QCourier,>""<:f> (the empty string)

>
			 4 1 8 0 0 0 0 1 0 0 0 0
<+@>The value of <+">begin. <-">(If you omit <+">begin,<-">  InStrB returns the value 1.)

>
			 5 0 0 0 0 0 0 1 0 0 0 0
<+"><:f>string1<-"> is NULL

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

>
			 6 0 0 0 0 0 0 1 0 0 0 0
<+"><:f>string2<-"> is NULL

>
			 6 1 8 0 0 0 0 1 0 0 0 0
<+@>NULL

>
			 7 0 0 0 0 0 0 1 0 0 0 0
<+"><:f>begin<-"> or <+">comp_method <-">is NULL

>
			 7 1 8 0 0 0 0 1 0 0 0 0
<+@>Error

>
		[e]
	[tble]
[frm]
	191
	1572932
	720
	5892
	9206
	7089
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	144
	5
	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]
	190
	1572932
	960
	2357
	9442
	6080
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	143
	6
	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]
	188
	1572932
	960
	1239
	9446
	7410
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	145
	7
	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]
	187
	1572932
	960
	5750
	9446
	6947
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	142
	8
	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]
	186
	1572932
	960
	3051
	9446
	5392
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	141
	9
	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]
	186
	1572932
	960
	960
	9438
	2772
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	140
	10
	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]
	185
	1572932
	720
	4634
	9206
	8031
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	146
	11
	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]
	100
	1572932
	2241
	4130
	8164
	8729
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	84
	12
	0
	7167 2
	[frmlay]
		4380
		5923
		3
		0
		0
		3
		4130
		0
		0
		2
		0
		133
		224
		23
		1
		1080
		5400
		0
	[tbl]
		 6 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
			 3 800 86 2 0 1 0
			 4 1200 86 2 0 1 0
			 5 600 86 2 0 1 0
		[e]
		[w]
			 0 1080 120 6 0
			 1 4680 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>prompt

>
			 1 1 0 0 0 0 0 1 0 0 0 0
<-">A string expression. This is the message displayed in the dialog box. 
<+">prompt<-"> can be up to 255 characters in length, depending on the display size of the characters.

>
			 2 0 0 0 0 0 0 1 0 0 0 0
<+">title

>
			 2 1 0 0 0 0 0 1 0 0 0 0
<-">Optional. A string expression. This is displayed in the title bar of the dialog box. If this is omitted or is an empty string, nothing is displayed in the title bar.

>
			 3 0 0 0 0 0 0 1 0 0 0 0
<+">default

>
			 3 1 0 0 0 0 0 1 0 0 0 0
<-">Optional. A string expression. This is displayed in the text input box in the dialog box as the default user response. If this is omitted, the text input box is displayed empty.

>
			 4 0 0 0 0 0 0 1 0 0 0 0
<+">xpos

>
			 4 1 0 0 0 0 0 1 0 0 0 0
<-">Optional. A numeric expression that specifies the horizontal distance between the left edge of the dialog box and the left edge of the display screen. If 
<+">xpos<-"> and <+">ypos<-"> are specified, but either <+">title 
<-">or <+">default<-"> (or both) is omitted, be sure to include a comma in place of the missing argument.

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

>
			 5 1 0 0 0 0 0 1 0 0 0 0
<-">Optional. A numeric expression that specifies the vertical distance between the top edge of the dialog box and the top edge of the screen. 

>
		[e]
	[tble]
[frm]
	99
	1572932
	2001
	4370
	7924
	5511
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	82
	13
	0
	7167 2
	[frmlay]
		4200
		5923
		3
		0
		0
		3
		4370
		0
		0
		2
		0
		133
		224
		23
		1
		900
		5220
		0
	[tbl]
		 3 2 0 86 1440 0 5 43 43
		[h]
			 0 240 86 18 0 2 0
			 1 400 86 2 0 1 0
			 2 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@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>count

>
			 1 1 0 0 0 0 0 1 0 0 0 0
<-">The number of bytes to read. The <+">count<-"> must not exceed 32,000 bytes (16,000 characters).

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

>
			 2 1 0 0 0 0 0 1 0 0 0 0
<-">The number assigned to the file when it was opened.

>
		[e]
	[tble]
[frm]
	98
	1572932
	2187
	960
	8218
	2101
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	81
	14
	0
	7167 2
	[frmlay]
		4020
		6031
		3
		0
		0
		3
		960
		0
		0
		2
		0
		133
		224
		23
		1
		720
		5040
		0
	[tbl]
		 3 2 0 86 1440 0 5 43 43
		[h]
			 0 240 86 18 0 2 0
			 1 400 86 2 0 1 0
			 2 200 86 2 0 2 0
		[e]
		[w]
			 0 1548 120 6 0
			 1 4320 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>count

>
			 1 1 0 0 0 0 0 1 0 0 0 0
<-">The number of characters to read. The <+">count<-"> must not exceed 16,000 characters.

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

>
			 2 1 0 0 0 0 0 1 0 0 0 0
<-">The number assigned to the file when it was opened.

>
		[e]
	[tble]
[frm]
	96
	1572932
	2241
	960
	8164
	7624
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	80
	15
	0
	0 22528
	[frmlay]
		2130
		5923
		3
		0
		0
		3
		960
		0
		0
		2
		0
		255
		255
		530
		1
		720
		5040
		0
	[tbl]
		 14 2 0 86 1440 0 5 43 43
		[h]
			 0 460 86 18 0 2 0
			 1 800 86 2 0 1 0
			 2 400 86 2 0 2 0
			 3 800 86 2 0 1 0
			 4 600 86 2 0 1 0
			 5 200 86 2 0 1 0
			 6 200 86 2 0 1 0
			 7 600 86 2 0 1 0
			 8 400 86 2 0 2 0
			 9 200 86 2 0 1 0
			 10 400 86 2 0 1 0
			 11 400 86 2 0 1 0
			 12 400 86 2 0 1 0
			 13 400 86 2 0 1 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@Variable_list data type

>
			 0 1 0 0 0 0 0 1 0 0 0 0
@Column Head@ <**>How Input # reads characters

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

>
			 1 1 0 0 0 0 0 1 0 0 0 0
The next non-space character in the file is assumed to begin a number. The next space, comma, or end-of-line character in the file ends the number. Blank lines and non-numeric values are translated to the number 0.

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

>
			 2 1 0 0 0 0 0 1 0 0 0 0
The next non-space character in the file is assumed to begin a character string. Note these special conditions:

>
			 3 1 0 0 0 0 0 1 0 0 0 0
<:I240,0,0,0>If that character is a double quote ("), it is ignored; however, all characters following it (including commas, spaces, and newline characters) up to the next double quote are read into the string variable.

>
			 4 1 0 0 0 0 0 1 0 0 0 0
<:I240,0,0,0>If the first character is not a double quote, the next space, comma, or end-of-line character ends the string.

>
			 5 1 0 0 0 0 0 1 0 0 0 0
<:I240,0,0,0>Blank lines are translated to the empty string (<:f,QCourier,>"<:f,QCourier,>"<:f>).

>
			 6 1 0 0 0 0 0 1 0 0 0 0
<:I240,0,0,0>Note that tab is a non-space character.

>
			 7 0 0 0 0 0 0 1 0 0 0 0
<:f>Fixed-length strings

>
			 7 1 0 0 0 0 0 1 0 0 0 0
Read according to their length. For example, if a variable is declared as 
<:f180,QCourier New,0,0,0>STRING*10<:f>, then exactly 10 bytes are read.

>
			 8 0 0 0 0 0 0 1 0 0 0 0
Variant variable

>
			 8 1 0 0 0 0 0 1 0 0 0 0
The next non-space character in the file is assumed to begin the data.

>
			 9 1 0 0 0 0 0 1 0 0 0 0
If the data is:

>
			 10 1 0 0 0 0 0 1 0 0 0 0
<:I240,0,0,0>Empty (a delimiting comma or blank line), the EMPTY value is assigned.

>
			 11 1 0 0 0 0 0 1 0 0 0 0
The literal </S>#NULL#</T>, the variable is assigned the NULL value.

>
			 12 1 0 0 0 0 0 1 0 0 0 0
A date literal, the variable is assigned the DataType 7 (a date value)

>
			 13 1 0 0 0 0 0 1 0 0 0 0
If none of the above applies, the variable is assigned the String type.

>
		[e]
	[tble]
[frm]
	95
	1572932
	2001
	6070
	7924
	8697
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	79
	16
	5375
	2 4864
	[frmlay]
		9210
		5923
		3
		0
		0
		3
		6070
		0
		0
		2
		0
		0
		0
		534
		1
		960
		5280
		0
	[tbl]
		 4 2 0 86 1440 0 5 43 43
		[h]
			 0 240 86 18 0 2 0
			 1 600 86 2 0 1 0
			 2 800 86 2 0 1 0
			 3 600 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@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><+">file_number<-"> 

>
			 1 1 0 0 0 0 0 1 0 0 0 0
The number assigned to the file when it was opened. A # sign must always precede the file number.

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

>
			 2 1 0 0 0 0 0 1 0 0 0 0
<-">A comma-separated list of variables. The data read from the file is assigned to these variables. File data and their data types must match the variables in the variable list and their data types.

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

>
			 3 1 0 0 0 0 0 1 0 0 0 0
<:f>The <+">variable_list <-">cannot include arrays, lists, type variables, or classes. It can include individual array elements, list elements, or type members.

>
		[e]
	[tble]
[frm]
	92
	1572932
	2241
	3920
	8164
	6719
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	83
	17
	5375
	2 4864
	[frmlay]
		6620
		5923
		3
		0
		0
		3
		3920
		0
		0
		2
		0
		0
		0
		534
		1
		900
		5220
		0
	[tbl]
		 6 2 0 86 1440 0 5 43 43
		[h]
			 0 240 86 18 0 2 0
			 1 400 86 2 0 1 0
			 2 200 86 2 0 2 0
			 3 600 86 2 0 1 0
			 4 400 86 2 0 1 0
			 5 400 86 2 0 1 0
		[e]
		[w]
			 0 1320 120 6 0
			 1 4440 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>condition1

>
			 1 1 0 0 0 0 0 1 0 0 0 0
<-">Any numeric expression. 0 is interpreted as FALSE and any other value is interpreted as TRUE.<-">

>
			 2 0 0 0 0 0 0 1 0 0 0 0
<+">statements1

>
			 2 1 0 0 0 0 0 1 0 0 0 0
<-">Statements that are executed if <+">condition1<-"> is TRUE.<-"><-">

>
			 3 0 0 0 0 0 0 1 0 0 0 0
<+">condition2

>
			 3 1 0 0 0 0 0 1 0 0 0 0
<-">Any numeric expression. Its value is interpreted as TRUE or FALSE. It is evaluated only if 
<+">condition1 <-">is FALSE.<-">

>
			 4 0 0 0 0 0 0 1 0 0 0 0
<+">statements2

>
			 4 1 0 0 0 0 0 1 0 0 0 0
<-">Statements that are executed if <+">condition1<-"> is FALSE and 
<+">condition2<-"> is TRUE.<-"><-">

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

>
			 5 1 0 0 0 0 0 1 0 0 0 0
<-">Statements that are executed only if all prior <**><+">condition<-">s are FALSE.<-">

>
		[e]
	[tble]
[frm]
	90
	1572932
	2241
	3450
	8164
	5077
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	78
	18
	5375
	2 4864
	[frmlay]
		6440
		5923
		3
		0
		0
		3
		3450
		0
		0
		2
		0
		0
		0
		534
		1
		720
		5040
		0
	[tbl]
		 4 2 200 86 1440 0 5 43 43
		[h]
			 0 240 86 18 0 2 0
			 1 600 86 2 0 1 0
			 2 200 86 2 0 2 0
			 3 200 86 2 0 2 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@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>condition

>
			 1 1 0 0 0 0 0 1 0 0 0 0
<-">Any numeric expression. 0 is interpreted as FALSE  and any other value is interpreted as TRUE.<-">

>
			 2 0 0 0 0 0 0 1 0 0 0 0
<+">label

>
			 2 1 0 0 0 0 0 1 0 0 0 0
<-">A label.

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

>
			 3 1 0 0 0 0 0 1 0 0 0 0
<-">A series of statements, separated by colons.

>
		[e]
	[tble]
[frm]
	102
	1572932
	2001
	6130
	7924
	9643
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	95
	19
	0
	7167 2
	[frmlay]
		4560
		5923
		3
		0
		0
		3
		6130
		0
		0
		2
		0
		133
		224
		23
		1
		1260
		5580
		0
	[tbl]
		 5 2 0 86 1440 0 5 43 43
		[h]
			 0 240 86 18 0 2 0
			 1 1200 86 2 0 1 0
			 2 200 86 2 0 2 0
			 3 200 86 2 0 2 0
			 4 1200 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@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>begin

>
			 1 1 0 0 0 0 0 1 0 0 0 0
<-">Optional. A numeric expression with a positive integer value, 
<+">begin<-"> specifies the character position in <+">string1<-"> where InStr should begin searching for 
<+">string2<-">. If you omit <+">begin<-">, it defaults to 1. If <+">comp_method<-"> is specified, then 
<+">begin <-">must be specified too.<-">

>
			 2 0 0 0 0 0 0 1 0 0 0 0
<+">string1

>
			 2 1 0 0 0 0 0 1 0 0 0 0
<-">The string to be searched.

>
			 3 0 0 0 0 0 0 1 0 0 0 0
<+">string2 

>
			 3 1 0 0 0 0 0 1 0 0 0 0
<-">The string for which InStr searches.

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

>
			 4 1 0 0 0 0 0 1 0 0 0 0
<-">A number designating the comparison method: 0 for case-sensitive, 1 for case-insensitive. If 
<+">comp_method<-"> is omitted, the default comparison mode is the mode set by the Option Compare statement for this module. If there is no statement for the module, the default is case-sensitive.<-">

>
		[e]
	[tble]
[frm]
	102
	1572932
	2241
	960
	8164
	3202
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	85
	20
	0
	7167 2
	[frmlay]
		9453
		5923
		3
		0
		0
		3
		960
		0
		0
		2
		0
		133
		224
		23
		1
		720
		5040
		0
	[tbl]
		 7 2 0 86 1440 0 5 43 43
		[h]
			 0 240 86 18 0 2 0
			 1 200 86 2 0 2 0
			 2 400 86 2 0 1 0
			 3 400 86 2 0 1 0
			 4 200 86 2 0 2 0
			 5 200 86 2 0 2 0
			 6 200 86 2 0 2 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@Condition

>
			 0 1 8 0 0 0 0 1 0 0 0 0
@Column Head@<+@>Return value

>
			 1 0 0 0 0 0 0 1 0 0 0 0
<:f><+"><:f>string1<-"> is " " (the empty string)

>
			 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>string2<-"> is not found after <+">begin<-"> in <+">string1

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

>
			 3 0 0 0 0 0 0 1 0 0 0 0
<+"><:f>string2<-"> is " " (the empty string)

>
			 3 1 0 0 0 0 0 1 0 0 0 0
The value of <+">begin. (<-">If you omit <+">begin,<:f,2Palatino,><-"> 
<:f>InStr returns the value 1.)

>
			 4 0 0 0 0 0 0 1 0 0 0 0
<+"><:f>string1<-"> is NULL

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

>
			 5 0 0 0 0 0 0 1 0 0 0 0
<+"><:f>string2<-"> is NULL

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

>
			 6 0 0 0 0 0 0 1 0 0 0 0
<+"><:f>begin<-"> or <+">comp_method <-">is NULL

>
			 6 1 8 0 0 0 0 1 0 0 0 0
<+@>Error

>
		[e]
	[tble]
[frm]
	103
	1572932
	2001
	960
	7924
	4516
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	94
	21
	0
	7167 2
	[frmlay]
		4740
		5923
		3
		0
		0
		3
		960
		0
		0
		2
		0
		133
		224
		23
		1
		1440
		5760
		0
	[tbl]
		 5 2 0 86 1440 0 5 43 43
		[h]
			 0 240 86 18 0 2 0
			 1 1200 86 2 0 1 0
			 2 200 86 2 0 2 0
			 3 200 86 2 0 2 0
			 4 1200 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@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>begin

>
			 1 1 0 0 0 0 0 1 0 0 0 0
<-">Optional. A numeric expression with a positive integer value, 
<+">begin<-"> specifies the character position in <+">string1<-"> where InstrB should begin searching for 
<+">string2<-">. If you omit <+">begin<-">, it defaults to 1. If <+">comp_method<-"> is specified, then 
<+">begin <-">must be specified too.<-">

>
			 2 0 0 0 0 0 0 1 0 0 0 0
<+">string1

>
			 2 1 0 0 0 0 0 1 0 0 0 0
<-">The string to be searched.

>
			 3 0 0 0 0 0 0 1 0 0 0 0
<+">string2 

>
			 3 1 0 0 0 0 0 1 0 0 0 0
<-">The string for which InStrB searches.

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

>
			 4 1 0 0 0 0 0 1 0 0 0 0
<-">A number designating the comparison method: 0 for case-sensitive, 1 for case-insensitive. If 
<+">comp_method<-"> is omitted, the default comparison mode is the mode set by the Option Compare statement for this module. If there is no statement for the module, the default is case-sensitive.<-">

>
		[e]
	[tble]
[frm]
	105
	1572932
	2241
	6330
	8164
	7757
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	86
	22
	0
	0 65280
	[frmlay]
		6130
		5923
		3
		0
		0
		3
		6330
		0
		0
		2
		0
		163
		0
		0
		1
		960
		5280
		0
	[tbl]
		 4 2 0 86 1440 0 5 43 43
		[h]
			 0 240 86 18 0 2 0
			 1 200 86 2 0 2 0
			 2 400 86 2 0 1 0
			 3 200 86 2 0 2 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@num_expr

>
			 0 1 0 0 0 0 0 1 0 0 0 0
@Column Head@Return value

>
			 1 0 0 0 0 0 0 1 0 0 0 0
NULL

>
			 1 1 0 0 0 0 0 1 0 0 0 0
NULL

>
			 2 0 0 0 0 0 0 1 0 0 0 0
Variant containing a string interpretable as a number

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

>
			 3 0 0 0 0 0 0 1 0 0 0 0
Variant containing a date value

>
			 3 1 0 0 0 0 0 1 0 0 0 0
Double

>
		[e]
	[tble]
[frm]
	112
	1572932
	2001
	9240
	7924
	10381
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	88
	23
	512
	28928 32515
	[frmlay]
		2320
		5923
		3
		0
		0
		3
		9240
		0
		0
		2
		0
		0
		0
		552
		1
		720
		5040
		0
	[tbl]
		 3 2 0 86 1440 0 5 43 43
		[h]
			 0 240 86 18 0 2 0
			 1 200 86 2 0 2 0
			 2 400 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@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>array_name

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

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

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

>
		[e]
	[tble]
[frm]
	113
	1572932
	2001
	5630
	7924
	6971
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	92
	24
	512
	28928 32515
	[frmlay]
		2500
		5923
		3
		0
		0
		3
		5630
		0
		0
		2
		0
		0
		0
		552
		1
		900
		5220
		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 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@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>expr 

>
			 1 1 0 0 0 0 0 1 0 0 0 0
<-">Any numeric or String expression for Left; and any Variant or String expression for Left$. If this is numeric, it is first converted to a string for Left<[>$].<-">

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

>
			 2 1 0 0 0 0 0 1 0 0 0 0
<-">The number of characters to be returned.

>
		[e]
	[tble]
[frm]
	119
	1572932
	2241
	960
	8164
	2301
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	90
	25
	512
	28928 32515
	[frmlay]
		2860
		5923
		3
		0
		0
		3
		960
		0
		0
		2
		0
		0
		0
		552
		1
		1260
		5580
		0
	[tbl]
		 3 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
		[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><+"><:f>file_number

>
			 1 1 0 0 0 0 0 1 0 0 0 0
<-">The number assigned to the file when it was opened. A # sign must precede the file number.

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

>
			 2 1 0 0 0 0 0 1 0 0 0 0
<-">The name of a String or Variant variable, which will hold one line of the file<-">

>
		[e]
	[tble]
[frm]
	121
	1572932
	2001
	9170
	7924
	10797
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	89
	26
	512
	28928 32515
	[frmlay]
		3040
		5923
		3
		0
		0
		3
		9170
		0
		0
		2
		0
		0
		0
		552
		1
		1440
		5760
		0
	[tbl]
		 4 2 0 86 1440 0 5 43 43
		[h]
			 0 240 86 18 0 2 0
			 1 400 86 2 0 1 0
			 2 200 86 2 0 2 0
			 3 400 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@File Type

>
			 0 1 0 0 0 0 0 1 0 0 0 0
@Column Head@Return value

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

>
			 1 1 0 0 0 0 0 1 0 0 0 0
The number of the last record read from or written to the file. This is the file position, minus 1.

>
			 2 0 0 0 0 0 0 1 0 0 0 0
Sequential

>
			 2 1 0 0 0 0 0 1 0 0 0 0
The byte position in the file, divided by 128.

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

>
			 3 1 0 0 0 0 0 1 0 0 0 0
The position of the last byte read from or written to the file. This is the file position, minus 1.

>
		[e]
	[tble]
[frm]
	122
	1572932
	2001
	1400
	7924
	5313
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	97
	27
	512
	28928 32515
	[frmlay]
		3220
		5923
		3
		0
		0
		3
		1400
		0
		0
		2
		0
		0
		0
		552
		1
		1620
		5940
		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 800 86 2 0 1 0
			 3 800 86 2 0 1 0
			 4 1400 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>file_number

>
			 1 1 0 0 0 0 0 1 0 0 0 0
<-"><:f>The number assigned to the file when it was opened.

>
			 2 0 0 0 0 0 0 1 0 0 0 0
<+">record_number

>
			 2 1 0 0 0 0 0 1 0 0 0 0
<-">The number of the record (for a random file) or the byte (for a binary file) to be locked or unlocked. The first record in a random file is record number 1; the first byte in a binary file is byte number 1.

>
			 3 1 0 0 0 0 0 1 0 0 0 0
Only the specified record or byte is locked or unlocked. For a sequential file, the whole file is locked or unlocked, regardless of this argument's value.

>
			 4 0 0 0 0 0 0 1 0 0 0 0
<+"><:f>start <-">To<+"> end

>
			 4 1 0 0 0 0 0 1 0 0 0 0
<-">Specifies the range of record numbers (for a random file) or bytes (for a binary file) to be locked or unlocked. If you omit 
<+">start,<-"> LotusScript locks records or bytes from the beginning of the file to the specified 
<+">end <-">position. For a sequential file, the whole file is always locked or unlocked, regardless of the 
<+">start<-"> and <+">end<-"> values.

>
		[e]
	[tble]
[frm]
	40
	1572932
	2241
	960
	8164
	2344
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	100
	28
	512
	28928 32515
	[frmlay]
		3400
		5923
		3
		0
		0
		3
		960
		0
		0
		2
		0
		0
		0
		552
		1
		1800
		6120
		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 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@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>string_var

>
			 1 1 0 0 0 0 0 1 0 0 0 0
<-">The name of a string variable. It may be a fixed-length string variable, a variable-length string variable, or a Variant variable.<-">

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

>
			 2 1 0 0 0 0 0 1 0 0 0 0
<-">The string to be left-aligned within the variable.

>
		[e]
	[tble]
[frm]
	1
	1572932
	960
	960
	9434
	6126
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	149
	29
	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]
	1
	1572932
	720
	3553
	9206
	5350
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	151
	30
	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]
	1
	1572932
	720
	6208
	9206
	7691
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	157
	31
	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]
	1
	1572932
	960
	960
	9446
	4572
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	153
	32
	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]
	1
	1572932
	720
	2915
	9206
	6570
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	156
	33
	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]
	1
	1572932
	720
	1439
	9198
	2912
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	154
	34
	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]
	1
	1572932
	960
	7602
	9446
	8799
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	155
	35
	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]
	1
	1572932
	960
	1239
	9446
	3436
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	158
	36
	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]
	1
	1572932
	720
	4808
	9206
	5719
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	160
	37
	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]
	1
	1572932
	720
	2357
	9206
	3868
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	162
	38
	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]
	1
	1572932
	960
	960
	9446
	2914
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	164
	39
	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]
	1
	1572932
	960
	4730
	9446
	8243
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	163
	40
	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]
	5
	1572932
	2241
	1280
	8164
	3993
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	169
	41
	5375
	2 4864
	[frmlay]
		6800
		5923
		3
		0
		0
		3
		1280
		0
		0
		2
		0
		0
		0
		534
		1
		1080
		5400
		0
	[tbl]
		 5 2 0 86 1440 0 5 43 43
		[h]
			 0 240 86 18 0 2 0
			 1 600 86 2 0 1 0
			 2 400 86 2 0 1 0
			 3 600 86 2 0 1 0
			 4 400 86 2 0 1 0
		[e]
		[w]
			 0 1320 120 6 0
			 1 4440 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>product<-"><+">_const<-">

>
			 1 1 0 0 0 0 0 1 0 0 0 0
<-">A constant defined by a Lotus product. Refer to the product's documentation for a list of product-defined constants.<-">

>
			 2 0 0 0 0 0 0 1 0 0 0 0
<+">statements1

>
			 2 1 0 0 0 0 0 1 0 0 0 0
<-">Statements that are executed if <+">product_const1<-"> evaluates to TRUE.<-">

>
			 3 0 0 0 0 0 0 1 0 0 0 0
<+">statements2

>
			 3 1 0 0 0 0 0 1 0 0 0 0
<-">Statements that are executed if <+">product_const1<-"> evaluates to FALSE and 
<+">product_const2<-"> evaluates to TRUE.<-"><-"><-">

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

>
			 4 1 0 0 0 0 0 1 0 0 0 0
<-"><-">Statements that are executed if both <+">product_const1<-"> and 
<+">product_const2<-"> both evaluate to FALSE.<-"><-"><-">

>
		[e]
	[tble]
[frm]
	32
	1572932
	2181
	960
	8224
	7453
	0
	3
	1
	1 0 0 0 0 0 0
	0
	16777215
	174
	42
	0
	0 65281
	[frmlay]
		7414
		6043
		3
		0
		0
		3
		960
		0
		0
		2
		0
		1
		1
		0
		1
		960
		6720
		0
	[tbl]
		 8 3 0 86 1440 0 5 43 43
		[h]
			 0 240 86 18 0 3 0
			 1 800 86 2 0 1 0
			 2 400 86 2 0 2 0
			 3 400 86 2 0 1 0
			 4 800 86 2 0 1 0
			 5 1200 86 2 0 1 0
			 6 879 86 2 0 1 0
			 7 1000 86 2 0 1 0
		[e]
		[w]
			 0 1200 120 6 0
			 1 1920 120 6 0
			 2 2640 0 2 0
		[e]
		[data]
			 0 0 0 0 0 0 0 1 0 0 0 0
@Column Head@<:f><+">variable_id<-">

>
			 0 1 0 0 0 0 0 1 0 0 0 0
@Column Head@<:f>Syntax

>
			 0 2 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><:f>A variable, neither array nor list

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

>
			 1 2 0 0 0 0 0 1 0 0 0 0
The variable may not be an array or list variable, but it may be a Variant containing an array or list.

>
			 2 0 0 0 0 0 0 1 0 0 0 0
<:f>An array element

>
			 2 1 0 0 0 0 0 1 0 0 0 0
<+"><:f>name <-">(<+">subscripts<-">)

>
			 2 2 0 0 0 0 0 1 0 0 0 0
<+">name<-"> is an array variable or a Variant containing an array.

>
			 3 0 0 0 0 0 0 1 0 0 0 0
<:f>A list element

>
			 3 1 0 0 0 0 0 1 0 0 0 0
<+"><:f>name <-">(<+">list_tag<-">)

>
			 3 2 0 0 0 0 0 1 0 0 0 0
<+">name <-">is a list variable or a Variant containing a list.

>
			 4 0 0 0 0 0 0 1 0 0 0 0
<:f>An element of a member of a type

>
			 4 1 0 0 0 0 0 1 0 0 0 0
<+"><:f>type_var.member_var

>
			 4 2 0 0 0 0 0 1 0 0 0 0
<+">type_var<-"> is an instance of a user-defined type.This instance may be an element of an array or list.

>
			 5 2 0 0 0 0 0 1 0 0 0 0
<:f><+">member_var<-"> is a member variable in the type. In addition to scalar data, a member variable can hold an array or list, or a Variant containing an array, list, or object.

>
			 6 0 0 0 0 0 0 1 0 0 0 0
<:f>An data element of  an object

>
			 6 1 0 0 0 0 0 1 0 0 0 0
<+">object<-">.<+">member_var<-">

<+">object<-">..<+">member_var<-">

Me.<+">member_var

>
			 6 2 0 0 0 0 0 1 0 0 0 0
<+">object<-"><+"> <-">is an expression whose value is an object reference. 

<**>Me is used only within a subprogram the <+">object<-">'s class.

>
			 7 2 0 0 0 0 0 1 0 0 0 0
<:f><+">member_var<-"> is a member variable in the object's class, or an element of an array member variable, or an element of a list member variable.

>
		[e]
	[tble]
[lay]
	Standard
	3079
	[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
		0
		960
		0
		1
		0
		1
		1
		0
		1
		720
		9206
		0
	[txt]
>
	[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
		0
		720
		0
		1
		0
		1
		1
		0
		1
		960
		9446
		0
	[txt]
>
	[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]

>
	[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]

>
[elay]
[lay]
	1
	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
		165
	[frmlay]
		960
		10166
		1
		720
		180
		3
		480
		960
		0
		1
		0
		1
		1
		0
		1
		720
		9206
		0
	[txt]
@left footer@LotusScript Language Reference	<:X3,0;EditDate %Da>10/03/94<:X~3,0;EditDate %Da>

>
	[hrght]
	[lyfrm]
		1
		11200
		0
		0
		10166
		960
		0
		1
		3
		1 0 0 0 0 0 0
		0
		0
		166
	[frmlay]
		960
		10166
		1
		960
		180
		3
		480
		720
		0
		1
		0
		1
		1
		0
		1
		960
		9446
		0
	[txt]
@left footer@<:X3,0;EditDate %Da>10/03/94<:X~3,0;EditDate %Da>	LotusScript Language Reference

>
	[flft]
	[lyfrm]
		1
		5056
		0
		11760
		10166
		12960
		0
		1
		3
		1 0 0 0 0 0 0
		0
		0
		167
	[frmlay]
		12960
		10166
		1
		720
		480
		3
		11940
		960
		0
		1
		0
		1
		1
		0
		1
		720
		9206
		0
	[txt]
@left 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
		168
	[frmlay]
		12960
		10166
		1
		960
		480
		3
		11940
		720
		0
		1
		0
		1
		1
		0
		1
		960
		9446
		0
	[txt]
@left footer@Lotus Strictly Private	page <:P10,0,>

>
[elay]
[l1]
	1
[pg]
	5
	17 0 83 32 0 0 0 240 65535 1	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	38 0 35 0 0 0 0 200 65535 1	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	51 227 26 0 1 0 0 220 65535 1	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	69 0 0 32 0 0 0 200 65535 1	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
	82 90 12 32 0 0 0 240 65535 1	65535 0 0	0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
[edoc]
@Ahead@<:#410,8486><:f>If...Goto...Else Statement<:X8,1;Index "IF" #><:X8,1;Index "GOTO" #><:X8,1;Index "ELSE" #><:f>

<:#400,8486><:f>Conditionally executes one or more statements or transfers control to a labeled statement, depending on the value of an expression

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

<:#200,8486><:f><+!>If<-!> <+">condition<-"> <+!>Goto<-!> <+">label<-"> <[><+!>Else<-!> <[><+">statements<-">] ]

<:#200,8486><:f>The elements of the If...Goto...Else statement are described in the table below.

<:t18>

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

@1st Paragraph@<:#600,8486><:f>If <+">condition<-"> is TRUE, the Goto is executed (control transfers to the 
<+">label<-">ed statement). If <+">condition<-"> is FALSE, the block of 
<+">statements<-"> in the Else clause is executed. If there is no Else clause, execution continues with the next statement.

<:#400,8486>The entire If...Goto...Else statement must be coded as a single statement (line continuation is permitted).

<:#400,8486>If...Goto...Else can</R>t be used to transfer control into or out of a subprogram. It can</R>t be used at the module level.

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

@mono@<:#440,8486>DIM X AS INTEGER, Y AS INTEGER<**>IF X <;> 1 GOTO HiLabel ELSE Y = TRUE

<:#600,8486><:f>The value of the variable Y is set to TRUE (-1) only if the value of X is less than or equal to 1. If X is greater than 1, control is transferred to the statement following the label HiLabel.

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

@popref@<:#240,8486><:f>Labels

@popref@<:#240,8486>If...Then...Else Statement: to conditionally execute one or more statements

@popref@<:#240,8486>If...Then...Else...End If Statement: to conditionally execute a block of statements

@Ahead@<:#410,8486><:f>If...Then...Else Statement<:X8,2;Index "IF" #><:X8,2;Index "THEN" #><:X8,2;Index "ELSE" #><:f>

<:#400,8486><:f>Conditionally executes one or more statements, depending on the value of an expression

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

<:#200,8486><:f><+!>If<-!> <+">condition<-"> <+!>Then<-!> <[><+">statements<-">] <[><+!>Else<-!> <[><+">statements<-">] ]

<:#400,8486><:f>The <+">condition<-"> is any numeric expression. 0 is interpreted as FALSE and any other value is interpreted as TRUE.

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

@1st Paragraph@<:#400,8486><:f>If <+">condition<-"> is TRUE, the statements following Then, if any, are executed. If 
<+">condition<-"> is FALSE, the statements following Else are executed.

<:#200,8486>If...Then...Else must be coded as a single statement (line continuation is permitted).

<:#600,8486>If no statements follow Then, and there is no Else clause, Then must be followed by a colon (:). Otherwise LotusScript assumes that the statement is the first line of an If...Then...Else...End If statement.

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

@mono@<:#440,8486>DIM X AS INTEGER, Y AS INTEGER<**>IF X <;> 1 THEN Y = FALSE ELSE Y = TRUE

<:#400,8486><:f>The value of the variable Y is set to TRUE (-1) or FALSE (0), depending on the contents of the variable X.

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

@popref@<:#240,8486><:f>If...Goto...Else Statement: to conditionally transfer control to a labeled statement

@popref@<:#240,8486>If...Then...Else...End If Statement: to conditionally execute a block of statements

@Ahead@<:#410,8486><:f>If...Then...Else...End If Statement<:X8,2;Index "IF" #><:X8,2;Index "THEN" #><:X8,2;Index "ELSE" #><:X8,2;Index "ELSEIF" #><:f>

<:#400,8486><:f>Conditionally executes a block of statements, depending on the value of one or more expressions

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

<:#200,8486><:f><+!>If<-!> <+">condition1<-"> <+!>Then<-!>

<:#200,8486>	<+">statements1<-">

<:#200,8486><[><+!>ElseIf<-!> <+">condition2<-"> <+!>Then<-!>

<:#200,8486>	<+">statements2<-">]

<:#200,8486>...

<:#200,8486><[><+!>Else<-!>

<:#200,8486>	<+">statements3<-">]

<:#200,8486><+!>End If<-!>

<:#400,8486><:f>The elements of the If... Then...Else...End If statement are described in the following table.

<:t17>

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

@1st Paragraph@<:#400,8486><:f>You can include any number of ElseIf expressions in the block. Each ElseIf condition is evaluated when the preceding condition is FALSE.

<:#200,8486>If blocks can be nested; an End If is required for each If.

<:#800,8486>The statements following Then will be executed for the first condition whose value is TRUE. If none of the conditions is TRUE, the statements following Else are executed. After executing a block of statements, execution continues with the first statement fo
llowing the End If statement.

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

@mono@<:#3520,8486>SUB OrderPrice<**>  DIM Quantity AS INTEGER, PercentDiscount AS SINGLE<**>  DIM UnitPrice AS CURRENCY, Total AS CURRENCY<**>  UnitPrice = 3.69<**>  Quantity = 50<**>  IF Quantity <;> 99 THEN<**>    PercentDiscount = .20<**>  ELSEIF Quantity <;> 49 THEN<**> 
   PercentDiscount = .10<**>  ELSE<**>    PercentDiscount = 0<**>  END IF<**>  Total = (Quantity * UnitPrice) * (1 - PercentDiscount)<**>  PRINT "Unit price: $"; UnitPrice, "Quantity: "; Quantity, _<**>  "Discount%: "; PercentDiscount, "Total: $"; Total<**>
END SUB

<:#800,8486><:f>The PercentDiscount for a purchase order is based on the Quantity purchased: if 100 or more items are purchased the customer receives a 20% discount; if 50 
</V> 100 items are purchased the customer receives a 10% discount. There is no discount for fewer than 50 items.

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

@popref@<:#240,8486><:f>If...Goto...Else Statement: to conditionally transfer control to a labeled statement

@popref@<:#240,8486>If...Then...Else Statement: to conditionally execute one or more statements

@popref@<:#240,8486>Select Case...End Select Statement: to select and execute a block of statements

@Ahead@<:#410,8486><:f>%If...%ElseIf...%Else...%EndIf Directive<:X8,4;Index "IF" #><:X8,4;Index "THEN" #><:X8,4;Index "ELSE" #><:X8,4;Index "ELSEIF" #><:f>

<:#600,8486><:f>Conditionally compiles a block of statements, depending on the value of one or more product constants. To execute statements conditionally at run-time, use the If...Then...Else...End If statement.

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

<:#200,8486><:f><+!>%If<-!> <+">product<-"><+">_const<-"><+">1<-">

<:#200,8486>	<+">statements1<-">

<:#200,8486><[><+!>%ElseIf<-!> <+">product<-"><+">_const<-"><+">2<-">

<:#200,8486>	<+">statements2<-">]

<:#200,8486>...

<:#200,8486><[><+!>%Else<-!>

<:#200,8486>	<+">statements3<-">]

<:#200,8486><+!>%EndIf<-!>

<:#400,8486><:f>The following table describes the elements of the %If...%ElseIf...%Else...%EndIf directive

<:#200,8486>

<:f><:f><:f><:t41>

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

<:#600,8486>To test the conditions in this statement, the LotusScript compiler calls the Lotus product to evaluate the constant 
<+">product_const<-"><+">;<-"> the product returns either TRUE or FALSE.

@Chead@<:#240,8486>Usage

@1st Paragraph@<:#400,8486><:f>You can include any number of %ElseIf directives in the block. Each %ElseIf directive is evaluated when the preceding condition is FALSE.

<:#200,8486>%If blocks cannot be nested.

<:#400,8486>If the Lotus product returns TRUE in response to an %If <+">product<-"><+">_const 
<-">condition, then the statements following the %If directive are compiled.

<:#600,8486>If the Lotus product returns FALSE in response to an %If <+">product_const<-"> conditon, LotusScript ignores the statements following the %If directive, up to the first %ElseIf, %Else, or %EndIf directive.

<:#400,8486>If the Lotus product returns TRUE in response to an %ElseIf <+">product<-"><+">_const 
<-">condition, then the statements following the %ElseIf directive are compiled.

<:#400,8486>If neither an %If nor an %ElseIf condition returns TRUE, then the %Else statements are compiled (if they exist). 

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

@popref@<:#240,8486><:f>If...Then...Else...End If Statement: to conditionally execute one or more statements

@popref@<:#480,8486>%Include Directive: to <:f>insert source code from another script into the current file at compile time

@Ahead@<:#410,8486>IMEStatus Function<:X8,6;Index "IMESTATUS" #><:X8,6;Index "Input mode" #>

<:#200,8486>Returns an integer indicating the current input mode (IME)

@Chead@<:#240,8486>Syntax

<:#200,8486><+!>IMEStatus<-!>

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

@1st Paragraph@The following table shows the return value for each input mode.<:t3>

@Ahead@<:#410,8486>%Include Directive<:X8,6;Index "INCLUDE" #><:X8,6;Index "Source code from other files" #>

<:#200,8486><:f>Inserts source code from another script into the current file at compile time 

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

<:#200,8486><:f><+!>%Include<-!> <+">file_name<-">

<:#600,8486><:f>The <+">file_name<-"> is a string expression whose value is a file name; you can optionally include a path. If you omit the file name extension, LotusScript assumes .LSS. To include a file that has no extension, insert a period after the file name, as i
n:

@mono@<:#220,8486>%INCLUDE MyFile

<:#200,8486>This prevents LotusScript from adding the .LSS extension to the file name.

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

@1st Paragraph@<:#400,8486>%Include must appear at the beginning of a line and must be followed by white space (a space character, a tab character, or a newline character).

<:#400,8486>If no path is specified for the included file, the search path depends on the specific Lotus product you</R>re using.

<:#200,8486>An included file can itself contain %Include directives. You can nest up to 16 files. 

<:#400,8486>At compile time, LotusScript replaces the %Include directive with the entire contents of the named file. They are then compiled as part of the current script.

<:#400,8486>If a runtime error occurs in a statement in an included file, the line number reported is that of the %Include directive.

<:#400,8486>If a compile-time error occurs in a statement in an included file, the file name and the line number within that included file are reported with the error.

<:#600,8486>The file you include must be a text file containing only LotusScript statements. If anything in the included file cannot be compiled, LotusScript generates a compiler error. 

<:#200,8486>If the file is not found, LotusScript generates an error.

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

@mono@<:#220,8486>%INCLUDE "C:\testfile.txt"

<:#400,8486><:f>The contents of the file C:\testfile.txt are included in the current file when it is compiled.

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

@popref@<:#240,8486><:f>Evaluate Function: to execute a Lotus product macro

@popref@<:#240,8486>Use Statement: to load a module containing Public definitions

@Ahead@<:#410,8486><:f>Initialize Sub<:X8,7;Index "INITIALIZE" #><:X8,7;Index "Subs" # "INITIALIZE"><:X8,7;Index "Modules" # "initialization">

<:#400,8486><:f>A user-defined sub that executes automatically when the module containing it is loaded 

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

<:#200,8486><:f><+!>Sub Initialize<-!>

<:#200,8486>	<[><+">statements<-">]

<:#200,8486><+!>End Sub<-!>

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

@1st Paragraph@<:#200,8486><:f>Only one Initialize sub is allowed per module.

<:#200,8486>The Initialize sub is always Private.

<:#200,8486>The Initialize sub can</R>t take any arguments.

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

@mono@<:#660,8486>SUB INITIALIZE<**>  PRINT "Loading SupModule"<**>END SUB

<:#400,8486><:f>The string </S>Loading SupModule</T> is printed when the module containing this sub is loaded.

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

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

@popref@<:#240,8486>Terminate Sub: to execute a sub automatically when a module is unloaded

@Ahead@<:#410,8486><:f>INPUT # Statement<:X8,8;Index "INPUT #" #><:X8,8;Index "File handling" # "INPUT #">

<:#200,8486><:f>Reads data from a sequential file and assigns that data to variables

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

<:#200,8486><:f><+!>Input <+">#<-!>file_number<-"><+!>,<-!> <+">variable_list<-">

<:#200,8486><:f>The elements of the Input # statement are described in the table below.

<:t16>

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

@1st Paragraph@<:#400,8486><:f>The following table shows how the Input # statement reads characters for various data types.

<:t15>

<:#400,8486><:f><:f><:f>If an end-of-file is encountered while reading data, input is terminated and an error is generated.

<:#400,8486><+!>Tips <-!> The Write # statement writes data in a form that Input # can read, including Date values.

<:#400,8486>When reading record-oriented data, using a random file with the Get statement is easier and more efficient than using Input #.

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

@mono@<:#5060,8486>DIM FileNum AS INTEGER, EmpNumber AS INTEGER, I AS INTEGER<**>DIM Filename AS STRING, EmpName AS STRING<**>DIM EmpLocation AS VARIANT<**>DIM EmpSalary AS CURRENCY<**> 
<**>FileNum = FREEFILE()<**>Filename = "DATA.TXT"<**> <**>'Write out some employee data<**> 
<**>OPEN Filename FOR OUTPUT AS FileNum<**>WRITE #FileNum, "Joe Smith", 123, "1 Smith Road", 25000.99<**>WRITE #FileNum, "Jane Doe", 456, "Two Cambridge Center", 98525.66<**>WRITE #FileNum, "Jack Jones", 789, "Fourth Floor", 0<**>CLOSE FileNum<**>'Now read 
it all back and print it<**> <**>OPEN Filename FOR INPUT AS FileNum<**>FOR I = 1 TO 3<**>   INPUT #FileNum, EmpName, EmpNumber, EmpLocation, EmpSalary<**>   PRINT EmpName, EmpNumber, EmpLocation, EmpSalary<**>NEXT I<**>CLOSE FileNum	

<:#600,8486><:f>The contents of the file C:\DATA.TXT are printed out in groups of four values each. Each group consists of a String, an Integer, a Variant, and a Currency value, in that order. The resulting printed lines look like this:

@mono@<:#660,8486>Joe Smith     123          1 Smith Road                 25000.99 <**>Jane Doe      456          Two Cambridge Center         98525.66 
<**>Jack Jones    789          Fourth Floor                 0 

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

@popref@<:#240,8486><:f>Reading from Sequential Files

@popref@<:#240,8486>Get Statement: to read data from a random file

@popref@<:#480,8486>Line Input # Statement: to read a line of data from a sequential access text file without interpreting the input

@popref@<:#240,8486>Open Statement: to open a file

@popref@<:#240,8486>Put Statement: to write data to a random file

@popref@<:#480,8486>Write # Statement: to write data to a sequential access text file with formatting characters

@Ahead@<:#410,8486><:f>Input and Input$ Functions<:X8,10;Index "INPUT" #><:X8,10;Index "File handling" # "INPUT">

<:#600,8486><:f>Read a sequence of characters from a sequential or binary file into a string variable, without interpreting the input. If you want to work with bytes instead of characters, use the InputB or InputB$ function.

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

<:#200,8486><:f><+!>Input<-!><[><+!>$<-!>] <+!>(<-!><+">count<-"><+!>,<-!> <[><+!>#<-!>]<+">file_number<-"><+!>)<-!>

<:#200,8486><:f>The arguments of the Input and Input$ functions are described in the following table.

<:t14>

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

@1st Paragraph@<:#800,8486>Input returns a Variant, and Input$ returns a String. LotusScript returns the specified number of characters, beginning at the current position within the file. If the length of the string returned is less than 
<+">count<-">, the end of the file has been reached. If <+">count<-"> is 0, LotusScript returns 
<:f,QCourier,>"<:f,QCourier,>"<:f> (the empty string).

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

@1st Paragraph@<:#400,8486><:f>The input data is not filtered or translated in any way. All characters are returned, including newline characters, quotation marks, and spaces.

<:#400,8486>You cannot use the Input, Input$, InputB, or InputB$ functions to read a file opened in Output, Append, or Random mode.

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

@mono@<:#3520,8486>DIM FileNum AS INTEGER<**>DIM Filename AS STRING<**>FileNum = FREEFILE()<**>Filename = "DATA.TXT"<**>OPEN Filename FOR OUTPUT AS FileNum<**> 
<**>'Write out some employee data<**>WRITE #FileNum, "Joe Smith", 123, "1 Smith Road", 25000.99<**>WRITE #FileNum, "Jane Doe", 456, "Two Cambridge Center", 98525.66<**>CLOSE FileNum<**>'Now open the file for input, input the beginning characters<**>'of the 
file, and print themOPEN Filename FOR INPUT AS FileNum<**>DIM FirstCheck AS STRING<**>FirstCheck = INPUT$(23,FileNum)   
<**>PRINT FirstCheck<**>CLOSE FileNum

<:#600,8486><:f>The Open statement positions the file DATA.TXT at the beginning. The first twenty-three characters from the file are read into FirstCheck and printed. The printed output is:

@mono@<:#220,8486>"Joe Smith",123,"1 Smit

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

@popref@<:#240,8486><:f>Reading from Binary Files

@popref@<:#240,8486>Reading from Sequential Files

@popref@<:#240,8486>Get Statement: to read data from a binary or random file

@popref@<:#240,8486>InputB and InputB$ Functions: to read a sequence of bytes from a file  

@popref@<:#240,8486>Open Statement: to open a file

@Ahead@<:#410,8486><:f>InputB and InputB$ Functions<:X8,12;Index "INPUTB" #><:X8,12;Index "File handling" # "INPUTB"><:X8,12;Index "Byte-oriented file handling" # "INPUTB">

<:#600,8486><:f>Read a sequence of bytes from a sequential or binary file into a string variable without interpreting the input. If you want to work with characters instead of bytes, use the Input or Input$ function.

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

<:#200,8486><:f><+!>InputB<-!><[><+!>$<-!>] <+!>(<-!><+">count<-"><+!>,<-!> <[><+!>#<-!>]<+">file_number<-"><+!>)<-!>

<:#200,8486><:f>The arguments of the InputB and InputB$ functions are described in the table below.

<:t13>

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

@1st Paragraph@<:#800,8486>InputB returns a Variant and InputB$ returns a String. LotusScript returns the specified number of bytes, beginning at the current position within the file. If the length of the string returned is less than 
<+">count<-">, the end of the file has been reached. If <+">count<-"> is 0, LotusScript returns 
<:f,QCourier,>"<:f,QCourier,>"<:f> (the empty string).

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

@1st Paragraph@<:#400,8486><:f>The input data is not filtered or translated in any way. All bytes are returned, including the bytes representing newline, quotation marks, and space.

<:#400,8486>You cannot use the Input, Input$, InputB, or InputB$ functions to read a file opened in Output, Append, or Random mode.

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

@mono@<:#660,8486>DIM QuadOps AS STRING<**>QuadOps = INPUTB$(4, 1)<**>PRINT QuadOps			'Prints next four bytes from file number 1

<:#200,8486><:f>The next four bytes from file number 1 are read into QuadOps.

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

@popref@<:#240,8486><:f>Reading from Binary Files

@popref@<:#240,8486>Reading from Sequential Files

@popref@<:#240,8486>Get Statement: to read data from a binary or random file

@popref@<:#240,8486>Input and Input$ Functions: to read a sequence of characters from a file  

@popref@<:#240,8486>Open Statement: to open a file

@Ahead@<:#410,8486><:f>InputBox and InputBox$ Functions<:X8,13;Index "INPUTBOX" #><:X8,13;Index "Output to the user" # "INPUTBOX"><:X8,13;Index "Input from users" #><:X8,13;Index "Dialog boxes" # "INPUTBOX">

<:#400,8486><:f>Displays a dialog box containing a prompt for user entry, and returns input from the user as a string

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

<:#200,8486><:f><+!>InputBox<-!><[><+!>$<-!>] <+!>(<-!><+">prompt<-"> <[><+!>,<-!> <[><+">title<-">] ] <[><+!>,<-!> <[><+">default<-">] <[><+!>,<-!> 
<+">xpos<-"><+!>, <-!><+">ypos<-">] ] <+!>)<-!>

<:#400,8486><:f>The arguments of the InputBox and InputBox$ functions are described in the following table.

<:t12>

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

@1st Paragraph@<:#200,8486>InputBox returns a Variant containing a string, and InputBox$ returns a String.

@Chead@<:#240,8486>Usage

@1st Paragraph@<:#400,8486>InputBox<[>$] interrupts script execution until the user confirms an entry. Then it returns that entry, and script execution continues.

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

@mono@<:#440,8486>DIM Num AS STRING<**>Num = INPUTBOX$("How many do you want?")

<:#400,8486><:f>The prompt </S>How many do you want?</T> is displayed in a dialog box, and the user response is assigned to the variable Num.

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

@popref@<:#480,8486><:f>MessageBox Function and Statement: to display a message in a message box and accept a response

@popref@<:#240,8486>Print Statement: to print to the output window

@Ahead@<:#410,8486><:f>InStr Function<:X8,14;Index "INSTR" #><:X8,14;Index "Searching in strings" #><:X8,14;Index "Handling strings" # "INSTR"><:X8,14;Index "String handling" # "INSTR">

<:#400,8486><:f>Returns the position of the character that begins the first occurrence of one string within another string. If you want to work with bytes, use the InStrB function.

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

<:#200,8486><:f><+!>InStr(<-!><[><+">begin<-"><+!>,<-!>] <+">string1<-"><+!>,<-!> 
<+">string2<-"><+!>)<-!>

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

<:#200,8486><:f><+!>InStr(<-!><+">begin<-"><+!>,<-!> <+">string1<-"><+!>,<-!> 
<+">string2<-"><+!>,<-!> <+">comp_method<-"><+!>)<-!>

@code@<:#200,8486>The arguments of the InStr function are described in the following table.

@code@<:t19>

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

@1st Paragraph@<:#400,8486>InStr returns the character position of the first occurrence of <+">string2<-"> within 
<+">string1<-">. The following table shows how the function responds to various conditions.

<:t20>

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

@mono@<:#1320,8486>DIM BigString AS STRING, LittleString AS STRING<**>DIM PositionOfChar AS LONG<**>BigString = "abcdefghi"<**>LittleString = "efg"<**>PositionOfChar = INSTR(1, BigString, LittleString)<**>PRINT PositionOfChar	'Prints 5

<:#400,8486><:f>The value 5 (the position of the character where the first occurrence of LittleString begins in BigString) is assigned to the variable PositionOfChar.

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

@popref@<:#240,8486><:f>InstrB Function: to locate the first byte in a substring (instead of the first character)

@popref@<:#240,8486>Option Compare Statement: to set the default case-sensitivity for string comparison

@popref@<:#240,8486>StrCompare Function: to perform string comparison

@Ahead@<:#410,8486><:f>InStrB Function<:X8,15;Index "INSTRB" #><:X8,15;Index "Searching in strings" #><:X8,15;Index "Handling strings" # "INSTRB"><:X8,15;Index "String handling" # "INSTRB"><:X8,15;Index "Byte-oriented string handling" # "INSTRB">

<:#400,8486><:f>Returns the position of the byte beginning the first occurrence of one string within another string. If you want to work with characters, use the InStr function.

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

<:#200,8486><:f><+!>InStrB(<-!> <[><+">begin<-"><+!>,<-!>] <+">string1<-"><+!>,<-!> 
<+">string2<-"><+!>)<-!>

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

<:#200,8486><:f><+!>InStrB(<-!><+">begin<-"><+!>,<-!> <+">string1<-"><+!>,<-!> 
<+">string2<-"><+!>,<-!> <+">comp_method<-"><+!>)<-!>

<:#200,8486>The arguments of the InStrB function are described in the following table. 

@code@<:t21>

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

@1st Paragraph@<:#400,8486>InStrB returns the byte position of the first occurrence of <+">string2<-"> in 
<+">string1<-">. The following table shows how the function responds to various conditions.

<:t4>

<:#400,8486>Note that the byte position returned by InStrB depends on the platform-specific byte order of the words in a string.

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

@mono@<:#1320,8486>DIM BigString AS STRING, LittleString AS STRING<**>DIM PositionOfByte AS LONG<**>BigString = "abcdefghi"<**>LittleString = "efg"<**>PositionOfByte = INSTRB(1, BigString, LittleString)<**>PRINT PositionOfByte		'Prints 9

<:#600,8486><:f>The value 9 (the position of the byte where the first occurrence of LittleString begins in BigString) is assigned to the variable PositionOfByte. On some platforms, this example returns the value 8.

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

@popref@<:#240,8486><:f>InStr Function: to locate the first character in a substring (instead of the first byte)

@popref@<:#240,8486>Option Compare Statement: to set the default case-sensitivity for string comparison

@popref@<:#240,8486>StrCompare Function: to perform string comparison

@Ahead@<:#410,8486><:f>Int Function<:X8,17;Index "INT" #><:X8,17;Index "Number-handling functions" # "INT"><:X8,17;Index "Handling numbers" # "INT"><:X8,17;Index "Rounding numbers" # "INT"><:X8,17;Index "Mathematical functions" # "INT">

<:#200,8486><:f>Returns the nearest integer value that is less than or equal to a number

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

<:#200,8486><:f><+!>Int(<-!><+">num_expr<-"><+!>)<-!>

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

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

@1st Paragraph@<:#400,8486><:f>The data type of the return value is determined by the data type of 
<+">num_expr<-">. The following table shows special cases.

@code@<:t22>

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

@1st Paragraph@<:#800,8486><:f>The Int function and the Fix function behave differently. The return value from Int is always less than or equal to its argument. Fix removes the fractional part of its argument, returning a value that is less than or equal to its argument for a positiv
e argument, and greater than or equal to its argument for a negative argument.

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

@mono@<:#880,8486>DIM X AS INTEGER, Y AS INTEGER<**>X = INT(-99.8)<**>Y = INT(99.8)<**>PRINT X; Y		'Prints -100  99

<:#200,8486><:f>The values -100 and 99 are assigned to the variables X and Y.

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

@popref@<:#240,8486><:f>Fix Function: to return the integer part of a number

@popref@<:#240,8486>Fraction Function: to retrieve the fractional part of a number

@popref@<:#240,8486>Round Function: to round a number to a specified number of decimal places

@Ahead@<:#410,8486><:f><:f>IsArray Function<:X8,18;Index "ISARRAY" #><:f><:X8,18;Index "Arrays" # "testing for">

<:#200,8486>Tests the value of an expression to determine whether it is an array

@Chead@<:#240,8486>Syntax

@1st Paragraph@<:#200,8486><+!>IsArray(<-!><+">expr<-"><+!>)<-!>

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

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

@1st Paragraph@<:#200,8486>IsArray returns TRUE (-1) if <+">expr<-"> is an array; otherwise IsArray returns FALSE (0).

@Chead@<:#240,8486>Example

@mono@<:#880,8486><**>DIM f_array(1 TO 5)		'Fixed array<**>DIM d_array( )			'Dynamic array<**>PRINT ISARRAY(f_array)		'Prints -1 (true)<**>PRINT ISARRAY(d_array)		'Prints -1 (true)

@mono@<:#880,8486><**>DIM v AS VARIANT	<**>PRINT ISARRAY(v)			'Prints 0 (false)<**>v = f_array<**>PRINT ISARRAY(v)			'Prints -1 (true)

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

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

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

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

@Ahead@<:#410,8486>IsDate Function<:X8,18;Index "ISDATE" #><:X8,18;Index "Date value check" #><:X8,18;Index "Data types" # " of VARIANTs"><:X8,18;Index "VARIANT" # "data type of">

<:#200,8486><:f>Tests the value of an expression to determine whether it is a date

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

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

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

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

@1st Paragraph@<:#200,8486>IsDate returns TRUE (-1) if <+">expr<-"> is any of the following:

@bullet@<:#240,8486>A Variant value of type Date

@bullet@<:#240,8486>A Variant value of type String, where the string represents a valid date

@bullet@<:#240,8486>A String value representing a valid date

<:#200,8486>Otherwise IsDate returns FALSE (0). 

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

@mono@<:R1,4,1,1200,1,1680,1,2160,1,2970,><:#2860,8486>DIM X, Y, Z		'Declare three VARIANT variables<**>X = 100			'Make the first a number<**>Y = CDAT(100)		'Make the second a date<**>Z = "Nov 2, 1983"	'Make the third a string that represents a date<**>PRINT ISDATE(X) 
	'Prints 0 (FALSE) since the VARIANT doesn't<**>				'contain a date<**>PRINT ISDATE(Y) 
	'Prints -1 (TRUE) since the VARIANT contains a<**>				'date<**>PRINT ISDATE(Z) 
	'Prints -1 (TRUE) since the VARIANT contains a<**>				'string which is a date<**>PRINT ISDATE("100")	'Prints 0 (FALSE) since the string isn't a date<**>PRINT ISDATE("Nov 2, 1983")'Prints -1 (TRUE) since the string is a<**>				'date

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

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

@popref@<:#240,8486><:f>IsNumeric Function

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

@Ahead@<:#410,8486><:f>IsElement Function<:X8,19;Index "ISELEMENT" #><:X8,19;Index "List tag check" #>

<:#200,8486><:f>Tests a string to determine whether it is a list tag for a given list

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

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

<:#200,8486>The <+">list_name<-"> is the name of a defined list. <+">string_expr<-"> is any string expression.

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

@1st Paragraph@<:#400,8486>IsElement returns TRUE (-1) if <+">string_expr<-"> is the list tag for any element of 
<+">list_name<-">. Otherwise IsElement returns FALSE (0).

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

@1st Paragraph@<:#200,8486><:f>If <+">list_name <-">is not the name of a defined list, LotusScript generates an error.

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

@popref@<:#240,8486><:f>Lists

@popref@<:#480,8486>ForAll...End Forall Statement: to execute a block of statements repeatedly for each element of an array or list

@popref@<:#480,8486>ListTag Function: to return the name of the list element being processed in a ForAll loop

@Ahead@<:#410,8486><:f>IsEmpty Function<:X8,20;Index "ISEMPTY" #><:X8,20;Index "Data types" # " of VARIANTs"><:X8,20;Index "EMPTY value check" #><:X8,20;Index "VARIANT" # "data type of">

<:#200,8486><:f>Tests the value of an expression to determine whether it is EMPTY

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

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

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

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

@1st Paragraph@<:#400,8486>IsEmpty returns TRUE (-1) if expr has the value EMPTY. This occurs only if 
<+">expr<-"> is a Variant and has not been assigned a value.

@1st Paragraph@<:#200,8486>Otherwise IsEmpty returns FALSE (0). 

@Chead@<:#240,8486>Example

@mono@<:R1,4,1,1200,1,1680,1,2160,1,4320,><:#1320,8486>DIM DynaVar AS VARIANT	'Declare a VARIANT variable<**>DIM X AS INTEGER, Y AS INTEGER<**>X = ISEMPTY(DynaVar)	'Assigns -1 (TRUE) to X<**>DynaVar = PI<**>Y = ISEMPTY(DynaVar)	'Assigns 0 (FALSE) to Y<**>PRINT X; Y		'Prints -1  0

<:R><:#600,8486><:f>The declaration of the Variant variable DynaVar initializes DynaVar to EMPTY, so the subsequent test of DynaVar for EMPTY results in TRUE. After DynaVar is set to the numeric constant PI, the test for EMPTY results in FALSE.

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

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

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

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

@Ahead@<:#410,8486><:f><:f>IsList Function<:X8,21;Index "ISLIST" #><:f><:X8,21;Index "Lists" # "testing for"><:f>

<:#200,8486>Tests the value of an expression to determine whether it is a list

@Chead@<:#240,8486>Syntax

@1st Paragraph@<:#200,8486><+!>IsList(<-!><+">expr<-"><+!>)<-!>

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

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

@1st Paragraph@<:#200,8486>IsList returns TRUE (-1) if <+">expr<-"> is a list; o<:f>therwise IsList returns FALSE (0).

@Chead@<:#240,8486>Example

@mono@<:#1540,8486><**>DIM mylist LIST<**>PRINT ISLIST(mylist)		'Prints -1 (true)<**><**>DIM v AS VARIANT	<**>PRINT ISLIST(v)			'Prints 0 (false)<**>v = mylist<**>PRINT ISLIST(v)			'Prints -1 (true)

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

@popref@<:#240,8486>Lists

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

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

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

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

@Ahead@<:#410,8486>IsNull Function<:X8,21;Index "ISNULL" #><:X8,21;Index "Data types" # " of VARIANTs"><:X8,21;Index "NULL value check" #><:X8,21;Index "VARIANT" # "data type of">

<:#200,8486><:f>Tests the value of an expression to determine whether it is NULL

@Chead@<:#240,8486>Syntax

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

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

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

@1st Paragraph@<:#200,8486>IsNull returns TRUE (-1) if <+">expr<-"> is NULL; otherwise it returns FALSE (0).

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

@1st Paragraph@<:#400,8486>IsNull is the only way you can check whether a Variant contains NULL. For example, suppose that LoVar is a Variant containing NULL. If you use this test:

@mono@<:#220,8486>IF LoVar = NULL

<:#400,8486><:f>LotusScript returns NULL, so the test condition is interpreted as FALSE. To correctly test whether LoVar contains NULL, use this:

@mono@<:#220,8486>IF ISNULL(LoVar)

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

@mono@<:#1100,8486>DIM v AS VARIANT<**>PRINT ISNULL(v)		'Prints 0 (FALSE)<**>PRINT ISEMPTY(v)		'Prints -1 (TRUE)<**>v = NULL<**>PRINT ISNULL(v)		'Prints -1 (TRUE)

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

@popref@<:#240,8486><:f>Built-In Constants and Values

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

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

@Ahead@<:#410,8486><:f>IsNumeric Function<:X8,22;Index "ISNUMERIC" #><:X8,22;Index "Data types" # " of VARIANTs"><:X8,22;Index "Numeric value check" #><:X8,22;Index "VARIANT" # "data type of">

<:#400,8486><:f>Tests the value of an expression to determine whether it is numeric, or can be converted to a numeric value

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

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

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

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

@1st Paragraph@<:#400,8486>IsNumeric returns TRUE (-1) if the value of <+">expr <-">is a numeric value or can be converted to a numeric value. The following values are numeric:

<:t2>If expr is not a numeric value and cannot be converted to a numeric value,  IsNumeric returns FALSE (0). The following values are not numeric:

<:t1>

@Chead@<:#240,8486>Usage

<:#400,8486>A common use of <-!>IsNumeric is to determine whether a Variant expression has a numeric value.

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

@mono@<:#1760,8486>DIM v AS VARIANT<**>PRINT ISNUMERIC(v)	'Prints -1 (TRUE) -- v is EMPTY<**>v = "Twelve"		'A string that is not interpretable as a number<**>PRINT ISNUMERIC(v)	'Prints 0 (FALSE)<**>v = 12<**>PRINT ISNUMERIC(v)	'Prints -1 (TRUE)<**>v = "12"			'A string that is
 interpretable as a number<**>PRINT ISNUMERIC(v)	'Prints -1 (TRUE)

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

@popref@<:#240,8486><:f>IsDate Function

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

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

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

@Ahead@<:#410,8486><:f><:f>IsObject Function<:f><:f>

<:#400,8486>Tests the value of an expression to determine whether it is a LotusScript object, product object, or OLE object

@Chead@<:#240,8486>Syntax

@1st Paragraph@<:#200,8486><+!>IsObject(<-!><+">expr<-"><+!>)<-!>

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

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

@1st Paragraph@<:#400,8486>IsObject returns TRUE (-1) if the value of <+">expr<-"> is an object (LotusScript object, product object, or OLE object).

<:#200,8486>Otherwise IsObject returns FALSE (0).

@Chead@<:#240,8486>Example

@mono@<:#2640,8486><**>CLASS Vegetable			'An object class<**>'... class definition<**>END CLASS<**>CLASS Fruit				'Another object class<**>'... class definition<**>END CLASS<**>DIM tomato AS VARIANT<**>PRINT ISOBJECT(tomato)	'Prints 0 (false)<**>SET tomato = NEW Vegetable<**>
PRINT ISOBJECT(tomato)	'Prints -1 (true)<**>SET tomato = NEW Fruit<**>PRINT ISOBJECT(tomato)	'Prints -1 (true)

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

@popref@<:#240,8486>Is Operator

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

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

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

@Ahead@<:#410,8486><:f>IsScalar Function<:X8,24;Index "ISSCALAR" #><:f><:X8,24;Index "Scalar values" # "testing for"><:f>

<:#200,8486>Tests the value of an expression to determine whether it is scalar

@Chead@<:#240,8486>Syntax

@1st Paragraph@<:#200,8486><+!>IsScalar(<-!><+">expr<-"><+!>)<-!>

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

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

@1st Paragraph@<:#200,8486>IsScalar returns TRUE (-1) if <+">expr<-"> is scalar. The following values are scalar:

<:t0>

<:#200,8486><:f>Otherwise (if <+">expr<-"> is an array, list, object, or NULL) IsScalar returns FALSE (0).

@Chead@<:#240,8486>Example

@mono@<:#2640,8486><**>DIM var AS VARIANT<**>PRINT ISSCALAR(var)		'Prints -1 (true)<**>var = 1<**>PRINT ISSCALAR(var)		'Prints -1 (true)<**>var = "hello"<**>PRINT ISSCALAR(var)		'Prints -1 (true)<**><**>CLASS MyClass<**>'... class definition<**>END CLASS<**>SET var = NEW MyCl
ass<**>PRINT ISSCALAR(var)		'Prints 0 (false)

@mono@<:#660,8486>DIM myarray(1 to 5)<**>var = myarray<**>PRINT ISSCALAR(var)		'Prints 0 (false)

@mono@<:#660,8486>DIM mylist LIST<**>var = mylist<**>PRINT ISSCALAR(var)		'Prints 0 (false)

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

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

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

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

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

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

@Ahead@<:#410,8486>IsUnknown Function<:X8,25;Index "ISUNKNOWN" #><:f><:X8,25;Index "VT_UNKNOWN" #><:f><:X8,25;Index "OLE" # "unknown values"><:X8,25;Index "Unknown values" #><:f>

<:#400,8486>Tests the value of an expression to determine whether it has the OLE-2 value V_UNKNOWN

@Chead@<:#240,8486>Syntax

@1st Paragraph@<:#200,8486><+!>IsUnknown(<-!><+">expr<-"><+!>)<-!>

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

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

@1st Paragraph@<:#600,8486>IsUnknown returns TRUE (-1) if <+">expr<-">  is a Variant and the value of 
<+">expr<-"> is V_UNKNOWN. This value may be returned by an OLE-2 object property or method call. 

<:#200,8486><:f>Otherwise IsUnknown returns FALSE (0).

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

@popref@<:#240,8486>Is Operator

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

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

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

@Ahead@<:#410,8486>Kill Statement<:X8,26;Index "KILL" #><:X8,26;Index "File handling" # "KILL">

<:#200,8486><:f>Deletes a file from the operating system

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

<:#200,8486><:f><+!>Kill<-!> <[><+">path<-">]<+">file_name<-">

<:#400,8486><:f>The <+">file_name<-"> argument is a file name; wildcards are not allowed. The 
<+">path<-"> is optional and can contain a drive letter. 

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

@1st Paragraph@<:#600,8486><:f>Use Kill with care. Once deleted, a file cannot be restored by standard commands in either LotusScript or the operating system. Make sure the file is closed before attempting to delete it.

<:#200,8486>Kill only deletes files. To remove directories, use the RmDir statement.

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

@mono@<:#220,8486>KILL "C:\TEST"

<:#200,8486><:f>The file C:\TEST is deleted from the file system.

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

@popref@<:#240,8486><:f>RmDir Statement: to remove a directory from the file system

@Ahead@<:#410,8486><:f>LBound Function<:X8,26;Index "LBOUND" #><:X8,26;Index "Arrays" # "lower bounds for"><:X8,26;Index "Lower bounds, for arrays" #>

<:#200,8486><:f>Returns the lower bound for one dimension of an array

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

<:#200,8486><:f><+!>LBound(<-!><+">array_name<-"> <[><+!>,<-!> <+">dimension<-">]<+!>)<-!>

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

<:t23>

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

@1st Paragraph@<:#200,8486>LBound returns an Integer.

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

@1st Paragraph@<:#200,8486><:f>The default value for <+">dimension<-"> is 1.

<:#400,8486>The lower bound for each array dimension is set when a fixed array is declared, or a dynamic array is ReDimed.

<:#400,8486>The default lower bound for an array dimension is 0 or 1, depending on the Option Base setting.

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

@mono@<:#880,8486>DIM Minima(10 TO 20)<**>DIM X AS INTEGER<**>X = LBOUND(Minima)<**>PRINT X			'Prints 10

<:#400,8486><:f>The lower bound (10) for the one-dimensional array Minima is assigned to the 
<**>variable X.

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

@popref@<:#240,8486><:f>IsArray Function

@popref@<:#240,8486>Option Base Statement: to set the default lower bound for array dimensions

@popref@<:#240,8486>UBound Function: to retrieve the upper bound for one dimension of an array

@Ahead@<:#410,8486><:f>LCase and LCase$ Functions<:X8,27;Index "LCASE" #><:X8,27;Index "Lowercase" #><:X8,27;Index "String handling" # "LCASE"><:X8,27;Index "Handling strings" # "LCASE"><:X8,27;Index "Converting text to lowercase" #>

<:#400,8486><:f>Convert all alphabetic characters in a string to lowercase, and return the resulting string

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

<:#200,8486><:f><+!>LCase<-!><[><+!>$<-!>] <+!>(<-!><+">expr<-"><+!>)<-!>

<:#400,8486>The <+">expr<-"> argument is any numeric or String expression for LCase; and any Variant or String expression for LCase$.

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

@1st Paragraph@<:#200,8486>LCase returns a Variant of DataType 8 (a string), and LCase$ returns a String.

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

@1st Paragraph@<:#200,8486>LCase<[>$] has no effect on non-alphabetic characters or on numeric values.

<:#200,8486>LCase(NULL) returns NULL. LCase$(NULL) is an error.

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

@mono@<:#660,8486>DIM Y AS STRING<**>Y = LCASE$ ("ABC")<**>PRINT Y			'Prints abc

<:#200,8486><:f>The string </S>ABC</T> is converted to </S>abc</T> and assigned to the variable Y.

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

@popref@<:#240,8486><:f>UCase and UCase$ Functions: to convert a string to uppercase

@Ahead@<:#410,8486><:f>Left and Left$ Functions<:X8,28;Index "LEFT" #><:X8,28;Index "String handling" # "LEFT"><:X8,28;Index "Handling strings" # "LEFT">

<:#200,8486><:f>Extract a specified number of the leftmost characters in a string

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

<:#200,8486><:f><+!>Left<-!><[><+!>$<-!>]<+!> (<-!><+">expr<-"><+!>,<-!> <+">n<-"><+!>)<-!>

<:#200,8486><:f>The arguments of the Left and Left$ functions are described in the table below.

<:t24>

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

@1st Paragraph@<:#200,8486>Left returns a Variant of DataType 8 (a string), and Left$ returns a String.

<:#400,8486>If <+">n<-"> is 0, Left<[>$] returns <:f,QCourier,>"<:f,QCourier,>"<:f> (the empty string). If 
<+">n<-"> is greater than the length (in characters) of <+">expr<-">, Left<[>$] returns the entire string.

<:#200,8486>Left(NULL) returns NULL. Left$(NULL) is an error.

@Chead@<:#240,8486>Usage

@1st Paragraph@<:#600,8486>Starting in LotusScript version 3, characters are represented using two bytes instead of one. Using the LeftB and LeftB$ functions to work with bytes is no longer recommended.

@Chead@<:#240,8486>Example

@mono@<:#660,8486>DIM SubString AS STRING<**>SubString = LEFT$("ABC", 1)<**>PRINT SubString		'Prints "A"

<:#200,8486><:f>The character </S>A</T> is assigned to the variable SubString.

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

@popref@<:#240,8486><:f>Len Function: to determine the length of a string in characters

@popref@<:#240,8486>LenB Function: to determine the length of a string in bytes

@popref@<:#240,8486>Mid and Mid$ Functions: to extract characters from a string

@popref@<:#240,8486>Mid and Mid$ Statements: to replace characters within a string

@popref@<:#240,8486>Right and Right$ Functions: to extract the rightmost characters from a string

@Ahead@<:#410,8486>LeftB and LeftB$ Functions<:X8,29;Index "LEFTB" #><:X8,29;Index "String handling" # "LEFTB"><:X8,29;Index "Handling strings" # "LEFTB"><:X8,29;Index "Byte-oriented string handling" # "LEFTB">

@1st Paragraph@<:#800,8486><:f><:f><:f>We do not recommend that you use LeftB<[>$] in LotusScript 3. This is because the current release uses Unicode, a character set encoding scheme that represents each character as two bytes. This means that a character can be accompanied by leadin
g or trailing zeroes.

<+@><:S+-1><:#245,8486>Instead, we recommend that you use Left<[>$] for left character set extractions.

@Chead@<:S+-1><:#240,8486><:f>Related topics

@popref@<:#240,8486><:f>Left and Left$ Functions

@Ahead@<:#410,8486><:f>Len Function<:X8,29;Index "LEN" #><:X8,29;Index "String handling" # "LEN"><:X8,29;Index "Handling strings" # "LEN"><:X8,29;Index "Length of strings" #>

<:#400,8486><:f>Returns the length of a string in number of characters, or the number of bytes used to hold a variable; to determine the length of a string in bytes, use the LenB function

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

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

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

<:#200,8486>Len returns the number of characters in the string expression.

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

<:#200,8486><:f><+!>Len(<-!><+">variant_expr<-"><+!>)<-!>

<:#200,8486><:f>The <+">variant_expr<-"> argument is any Variant expression that includes a variable name.

<:#400,8486>Len returns the number of bytes required to hold the value of <+">variant_expr<-"> converted to a String.

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

<:#200,8486><:f><+!>Len(<-!><+">variable_expr<-"><+!>)<-!>

<:#600,8486>The <+">variable_<-"><+">expr<-"> argument is the name of a variable, an element of an array variable, or an element of a list variable; or a member of a type or class. The 
<+">variable<-"><+">_<-"><+">expr<-"> must have a numeric data type.

<:#200,8486>Len returns the number of bytes required to hold the contents of <+">variable_expr<-">.

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

<:#200,8486><:f><+!>Len(<-!><+">type_name<-"><+!>)<-!>

<:#400,8486>The <+">type_name<-"> argument an instance of a user-defined type. It can be a simple variable of that type, or an element of an array variable or a list variable of that type.

<:#800,8486>Len returns the number of bytes required to hold all the type members. However, if the user-defined type includes any Variant or variable-length String members, the length of the type instance may not be the same as the sum of the length of each type instan
ce member.

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

@1st Paragraph@<:#400,8486>In the current version of LotusScript, Len(NULL) is an error. In LotusScript version 2, Len (NULL) returned NULL.

<:#200,8486>Len(<+">v<-">), where <+">v<-"> is EMPTY, returns 0.

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

@mono@<:#2200,8486>DIM SingleVar AS SINGLE<**>DIM NumChars AS INTEGER, SingLen AS INTEGER<**>DIM TheString AS STRING<**><**>TheString = "alphabet"<**>NumChars = LEN(TheString)<**>SingLen = LEN(SingleVar)<**><**>PRINT NumChars	'Prints 8<**>PRINT SingLen		'Prints 4

<:#400,8486><:f>The length of TheString in characters (8) is assigned to NumChars. The number of bytes used to hold a Single variable (4) is assigned to SingLen.

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

@mono@<:#2200,8486>TYPE OrderInfo			'A user-defined type<**>	OrdID AS STRING * 6<**>	CustName AS STRING		'Variable-length String member<**>END TYPE<**><**>DIM ord AS OrderInfo<**>ord.OrdID = "OR1234"<**>ord.CustName = "John R. Smith"<**>LenMembers = LEN(ord.OrdID) + LEN(ord.C
ustName)<**>LenType = LEN(ord)

@mono@<:#440,8486>PRINT LenMembers			'Prints 19<**>PRINT LenType				'Prints 16

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

@popref@<:#240,8486><:f>LenB Function: to return the length of a string in bytes

@Ahead@<:#410,8486><:f>LenB Function<:X8,31;Index "LENB" #><:X8,31;Index "String handling" # "LENB"><:X8,31;Index "Handling strings" # "LENB"><:X8,31;Index "Length of strings" #><:X8,31;Index "Byte-oriented string handling" # "LENB">

<:#400,8486><:f>Returns the length of a string (in bytes), or the number of bytes used to hold a variable; to determine the length of a string in characters, use the Len function.

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

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

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

<:#200,8486>LenB returns the number of bytes in the string expression.

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

<:#200,8486><:f><+!>LenB(<-!><+">variant_expr<-"><+!>)<-!>

<:#200,8486><:f>The <+">variant_expr<-"> argument is any Variant expression that includes a variable name.

<:#400,8486>LenB returns the number of bytes required to hold the value of <+">variant_expr<-"> converted to a String.

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

<:#200,8486><:f><+!>LenB(<-!><+">variable_expr<-"><+!>)<-!>

<:#600,8486>The <+">variable<-"><+">_<-"><+">expr<-"> argument is the name of a variable, an element of an array variable, or an element of a list variable; or a member of a type or class. The 
<+">variable<-"><+">_<-"><+">expr<-"> must have a numeric data type.

<:#200,8486>LenB returns the number of bytes required to hold the contents of 
<+">variable_expr<-">.

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

<:#200,8486><:f><+!>LenB(<-!><+">type_name<-"><+!>)<-!>

<:#400,8486>The <+">type_name<-"> argument is an instance of a user-defined type. It can be a simple variable of that type, or an element of an array variable or a list variable of that type.

<:#800,8486>LenB returns the number of bytes required to hold all the type members. However, if the user-defined type includes any Variant or variable-length String members, the byte-length of the type instance may not be the same as the sum of the byte-length of each 
type instance member.

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

@1st Paragraph@<:#200,8486>LenB (NULL) returns NULL.

<:#200,8486>LenB(<+">v<-">), where <+">v <-">is EMPTY, returns 0.

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

@mono@<:#2200,8486>DIM SingleVar AS SINGLE<**>DIM NumBytes AS INTEGER, SingLen AS INTEGER<**>DIM TheString AS STRING<**><**>TheString = "alphabet"<**>NumBytes = LENB(TheString)<**>SingLen = LENB(SingleVar)<**><**>PRINT NumBytes		'Prints 16<**>PRINT SingLen			'Prints 4

<:#400,8486><:f>The length of TheString is 16 bytes (8 characters). The number of bytes used to hold a Single variable (4 bytes) is assigned to SingLen.

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

@popref@<:#240,8486><:f>Len Function: to return the length of a string in characters 

@Ahead@<:#410,8486><:f>Let Statement<:X8,32;Index "Assignment statement" #><:X8,32;Index "LET" #><:X8,32;Index "= (assignment statement)" #><:f><:X8,32;Index "Variable assignment" #>

<:#400,8486><:f>Assigns a value to a variable. To assign an object reference, use the Set statement instead.

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

@code@<:#200,8486><:f><[> <+!>Let<-!> ] <+">variable_id<-"><+!> = <-!><+">expression<-">

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

<:#400,8486><:f>LotusScript assigns the value of <+">expression<-"> to the variable or variable element named by 
<+">variable_id<-">.

@1st Paragraph@<:#200,8486><:f>The <+">variable_id<-"> can have any built-in data type or user-defined type.

<:#400,8486><:f>The following table describes the syntax for the different variables and variable elements that can be represented by 
<+">variable_id<-">. 

<:t42>

<:#400,8486><:f><:f><:f>The Let keyword is optional, and is often omitted; its absence has no effect on the assignment. 

<:#400,8486><:f>Do not use the Let statement to assign an object reference. Use the Set statement to do that.

<:#800,8486><:f>The <+">expression<-"> must be of the same data type as <+">variable_name<-">, or else must be convertible to the data type of 
<+">variable_name. <-">The rules for data type conversion determine if and how the value of 
<+">expression<-"> is converted before being assigned to <+">variable_name<-">.

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

@mono@<:#7920,8486>Dim a As Integer, b As Integer, c As Integer<**>a% = 2<**>b% = a%<**>Print b%				'Prints 2<**>c% = b% + 1<**>Print c%				'Prints 3<**><**>'Declare a three-element array and assign b's<**>'value to array element 1.<**>Dim myArray(3)<**>myArray(1) = b%<**>Pri
nt myArray(1)		'Prints 2<**><**>'Declare a list and assign c's value to list<**>'element "one"<**>Dim myList List<**>myList("one") = c%<**>Print myList("one")	'Prints 3<**><**>'Define a type and declare an instance of that type.<**>'Assign the value c - a t
o an instance member.<**>Type myType<**>	num As Integer<**>End Type<**>Dim inst As MyType<**>inst.num = c% - a%<**>Print inst.num		'Prints 1<**><**>'Define a class and create an object of that class.<**>'Assign the value a + b to an object member.<**>Class 
MyClass	<**>	Public num As Integer<**>End Class<**>Set myObj = New MyClass<**>myObj.num = a% + b%<**>Print myObj.num		'Prints 4

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

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

@popref@<:#240,8486>Variables

@popref@<:#240,8486>Dim, Private, Public, and Static Statements: to declare a variable

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

@Ahead@<:#410,8486><:f><:f>Line Input # Statement<:X8,34;Index "LINE INPUT #" #><:X8,34;Index "INPUT" #><:X8,34;Index "File handling" # "LINE INPUT #">

<:#200,8486><:f>Reads a line from a sequential file into a String variable or a Variant variable

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

<:#200,8486><:f><+!>Line Input #<-!><+">file_number<-"><+!>, <-!><+">var_name<-">

<:#200,8486><:f>The elements of the Line Input # statement are described in the following table.

<:t25>

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

@1st Paragraph@<:#400,8486>Line Input # reads all characters from a sequential file up to a newline character (the newline character is not read into the variable).

@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 WHILE NOT EOF(1)<**>  LINE INPUT #1, Text<**>  PRINT Text<**>LOOP<**>CLOSE FileNum

<:#400,8486><:f>This script prints the contents of the file CONFIG.SYS in the C:\ directory, then closes that file.

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

@popref@<:#240,8486><:f>Reading from Sequential Files

@popref@<:#240,8486>Input # Statement: to read data from a sequential file

@popref@<:#240,8486>Open Statement: to open a file

@Ahead@<:#410,8486><:f>ListTag Function<:X8,35;Index "LISTTAG" #><:X8,35;Index "Lists" # "tag names in"><:X8,35;Index "Tag names in lists" #>

<:#200,8486><:f>Returns the name of the list element currently being processed in a ForAll loop

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

<:#200,8486><:f><+!>ListTag(<-!><+">ref_var<-"><+!>)<-!>

<:#400,8486><:f>The <+">ref_var<-"> argument is the reference variable in a ForAll...End ForAll list iteration loop.

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

@1st Paragraph@<:#600,8486>ListTag returns a String. This is the name of the list element corresponding to the current value of 
<+">ref_var. <-">For any argument other than an active list reference variable, ListTag generates an error.

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

@1st Paragraph@<:#200,8486><:f>The ListTag function is valid only inside a ForAll loop iterating over a list.

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

@mono@<:#1760,8486>DIM Loft LIST AS INTEGER<**>Loft("first") = 0<**>Loft("second") = 1<**>Loft("third") = 2<**><**>FORALL I IN Loft<**>  PRINT LISTTAG(I)	'Prints "first", "second", and "third"<**>END FORALL

<:#200,8486><:f>The list tags for the elements of Loft are printed, each on its own line.

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

@popref@<:#480,8486><:f>ForAll...End ForAll Statement: to execute a block of statements repeatedly for each element of an array or list

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

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

@Ahead@<:#410,8486><:f>LOC Function<:X8,36;Index "LOC" #><:X8,36;Index "File handling" # "LOC"><:X8,36;Index "Position in a file" #>

<:#200,8486><:f>Returns the file position in an open file

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

<:#200,8486><:f><+!>LOC(<-!><+">file_number<-"><+!>)<-!>

<:#200,8486>The <+">file_number<-"> is the number assigned to the file when it was opened.

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

@1st Paragraph@<:#400,8486><:f>The following table presents the LOC return values for random, sequential, and binary files. 

<:t26>

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

@mono@<:R1,4,1,1200,1,1680,1,2160,1,4200,><:#880,8486>TYPE PersonRecord<**>  EmpNumber AS INTEGER<**>  EmpName AS STRING *20<**>END TYPE

@mono@<:R1,4,1,1200,1,1680,1,2160,1,4200,><:#4620,8486><**>DIM Rec1 AS PersonRecord, Rec2 AS PersonRecord<**>DIM FileNum AS INTEGER<**>DIM Filename AS STRING<**>FileNum = FREEFILE()<**>Filename = "DATA.TXT"<**><**>OPEN Filename FOR RANDOM AS FileNum 'Create a sample file<**>Rec1.EmpNumber = 123<**>Rec1.EmpName 
= "John Smith"<**>PUT #FileNum, 1, Rec1 	'Write at record 1<**>PRINT LOC(FileNum)	'Prints 1<**><**>Rec2.EmpNumber = 456<**>Rec2.EmpName = "Jane Doe"<**>PUT #FileNum, 2, Rec1 
	'Write at record 2<**>PRINT LOC(FileNum)	'Prints 2<**><**>GET #FileNum, 1, Rec2	'Read from record 1<**>PRINT LOC(FileNum)	'Prints 1<**><**>CLOSE FileNum	

<:R><:#200,8486><:f>Using record-oriented I/O, LOC indicates the current position within the file.

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

@popref@<:#240,8486><:f>LOF Function: to return the length of an open file

@popref@<:#240,8486>Open Statement: to open a file

@popref@<:#240,8486>Seek Function: to return the file position in an open file

@popref@<:#240,8486>Seek Statement: to set the file position in an open file

@Ahead@<:#410,8486><:f>Lock and Unlock Statements<:X8,37;Index "LOCK" #><:X8,37;Index "TO" #><:X8,37;Index "UNLOCK" #><:X8,37;Index "File handling" # "LOCK"><:X8,37;Index "File handling" # "UNLOCK">

<:#200,8486><:f>Provides controlled access to files in a multi-user environment

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

<:#200,8486><:f><+!>Lock<-!> <[><+!>#<-!>]<+">file_number <-"><[><+!>,<-!> <+">record_number | 
<-">{ <[><+">start<-">]<+"> <-"><+!>To<-!><+"> end <-">} ]

<:#200,8486><+!>Unlock <-!><[><+!>#<-!>]<+">file_number <-"><[><+!>,<-!> <+">record | 
<-">{ <[><+">start<-">]<+"> <-"><+!>To<-!><+"> end <-">} ]

<:#200,8486><:f>The elements of the Lock and Unlock statements are described in the table below.

<:t27>

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

@1st Paragraph@<:#600,8486><:f>You must run SHARE.EXE to enable the locking feature if you are using MS-DOS version 3.1 or later. Lock and Unlock are not supported for earlier versions of MS-DOS.

<:#600,8486>Always use Lock and Unlock in pairs whose elements match exactly. If you do not remove all locks, or if the elements do not match exactly, unpredictable results can occur.

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

@mono@<:R1,4,1,1200,1,1680,1,2160,1,4710,><:#4400,8486>TYPE PersonRecord<**>  EmpNumber AS INTEGER<**>  EmpName AS STRING * 20<**>END TYPE<**> 
<**>DIM Rec1 AS PersonRecord, Rec2 AS PersonRecord<**>DIM FileNum AS INTEGER, RecNum AS INTEGER<**>DIM Filename AS STRING<**>RecNum = 1<**>FileNum = FREEFILE()<**>Filename = "DATA.TXT"<**><**>OPEN Filename FOR RANDOM AS FileNum	'Create a record<**>Rec1.EmpN
umber = 123<**>Rec1.EmpName = "John Smith"<**>PUT #FileNum, RecNum, Rec1<**><**>LOCK #FileNum, RecNum	'Lock and update the record<**>GET #FileNum, RecNum, Rec2<**>Rec2.EmpName = "John Doe"

@mono@<:R1,4,1,1200,1,1680,1,2160,1,4710,><:#880,8486>PUT #FileNum, RecNum, Rec2<**><**>UNLOCK #FileNum, RecNum	'Release the lock<**>CLOSE FileNum

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

@popref@<:#240,8486><:f>LOC Function: to return the file position within an open file

@popref@<:#240,8486>LOF Function: to return the length of an open file

@popref@<:#240,8486>Open Statement: to open a file

@Ahead@<:#410,8486><:f>LOF Function<:X8,39;Index "LOF" #><:X8,39;Index "File handling" # "LOF"><:X8,39;Index "Length of files" #>

<:#200,8486><:f>Returns the length of an open file in bytes

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

<:#200,8486><:f><+!>LOF(<-!><+">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@<:#200,8486><:f>The return value from LOF is a Long value.

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

@1st Paragraph@<:#400,8486>LOF works only on an open file. To find the length of a file that may not be open, use the FileLen function.

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

@mono@<:#440,8486>DIM FileSize AS LONG<**>FileSize = LOF(1)

<:#200,8486><:f>The length of file number 1, in bytes, is assigned to the variable FileSize.

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

@popref@<:#240,8486><:f>FileLen Function: to return the length of a file

@popref@<:#240,8486>Open Statement: to open a file

@Ahead@<:#410,8486><:f>Log Function<:X8,39;Index "LOG" #><:X8,39;Index "Mathematical functions" # "LOG"><:X8,39;Index "Natural logarithm" #>

<:#200,8486><:f>Returns the natural (base <+">e<-">) logarithm of a number

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

<:#200,8486><:f><+!>Log(<-!><+">num_expr<-"><+!>)<-!>

<:#200,8486><:f>The <+">num_expr<-"> argument is any numeric expression greater than zero.

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

@1st Paragraph@<:#200,8486>Log returns a Double.

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

@1st Paragraph@<:#200,8486><:f>The base for natural logarithms (<+">e<-">) is approximately 2.71828.

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

@mono@<:#440,8486>DIM NatLog AS DOUBLE<**>NatLog = LOG(18)

<:#200,8486><:f>The natural logarithm of 18 (the number 2.89037...) is assigned to the variable NatLog.

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

@mono@<:#1540,8486>FUNCTION Log10 (InVal AS SINGLE) AS SINGLE<**>  Log10 = LOG(InVal) / LOG(10)<**>END FUNCTION<**>PRINT Log10(10)		'Prints 1<**>PRINT Log10(100)		'Prints 2<**>PRINT Log10(1 / 100)	'Prints -2<**>PRINT Log10(1)		'Prints 0

<:#400,8486><:f>This example shows how to compute the base 10 logarithm of a number with a function that uses Log.

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

@popref@<:#240,8486><:f>Exp Function: to return the exponential (base <+">e<-">) of a number

@Ahead@<:#410,8486><:f>LSet Statement<:X8,40;Index "LSET" #><:X8,40;Index "String handling" # "LSET"><:X8,40;Index "Handling strings" # "LSET"><:X8,40;Index "String variables" # "alignment in">

<:#200,8486><:f>Left-aligns a specified string in a string variable

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

<:#200,8486><:f><+!>LSet <-!><+">string_var<-"> <+!>= <-!><+">string_expr<-">

<:#200,8486><:f>The elements of the LSet statement are described in the following table.

<:t28>

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

@1st Paragraph@<:#400,8486><:f>If the length of <+">string_var<-"> is greater than the length of 
<+">string_expr<-">, then <+">string_expr<-"> is left-aligned in <+">string_var<-"> and the remaining characters in 
<+">string_var<-"> are set to spaces.

<:#400,8486>If the length of <+">string_var<-"> is less than the length of <+">string_expr<-">, then only that many of the leftmost characters from 
<+">string_expr<-"> are copied to <+">string_var<-">.

<:#400,8486>If <+">string_var<-"> contains a numeric value, it is converted to a string to determine the length of the result.

<:#200,8486>If <+">string_var<-"> is a Variant, it can</R>t contain NULL.

<:#400,8486>LSet cannot be used to assign variables of one user-defined type to variables of another user-defined type.

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

@mono@<:R1,4,1,1200,1,1680,1,2160,1,3360,><:#1100,8486>DIM InitPosit AS STRING *20 'InitPosit is initialized to all Null<**>				'characters<**>LSET InitPosit = "Left"	'The 4-character string "Left" is<**>				'shorter than InitPosit<**>PRINT InitPosit	'Prints "Left                "

<:R><:#400,8486><:f>The string </S>Left</T> is left-aligned in the fixed-length string variable named InitPosit, and the remaining 16 characters in InitPosit are set to spaces.

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

@mono@<:#880,8486>DIM X AS VARIANT<**>X = "q"<**>LSET X = "ab"<**>PRINT X						'Prints "a"

<:#400,8486><:f>The string </S>q</T> is assigned to the Variant X, giving it a length of 1. The single leftmost character 
</S>a</T> of the two-character string expression </S>ab</T> is assigned to X.

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

@popref@<:#240,8486><:f>LTrim and LTrim$ Functions: to remove leading spaces from a string

@popref@<:#240,8486>RSet Statement: to right-align a string in a variable

@popref@<:#240,8486>RTrim and RTrim$ Functions: to remove trailing spaces from a string

@popref@<:#240,8486>Trim and Trim$ Functions: to remove leading and trailing spaces from a string

@Ahead@<:#410,8486><:f>LTrim and LTrim$ Functions<:X8,42;Index "LTRIM" #><:X8,42;Index "String handling" # "LTRIM"><:X8,42;Index "Handling strings" # "LTRIM"><:X8,42;Index "Trimming spaces from strings" #><:X8,42;Index "Removing spaces from strings" #>

<:#200,8486><:f>Remove leading spaces from a string and return the resulting string 

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

<:#200,8486><:f><+!>LTrim<-!><[><+!>$<-!>] <+!>(<-!><+">string_expr<-"><+!>)<-!>

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

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

@1st Paragraph@<:#600,8486>LTrim<[>$] returns the trimmed version of <+">string_expr<-">, but does not modify the contents of 
<+">string_expr<-"> itself. LTrim returns a Variant of DataType 8 (a string), and LTrim$ returns a String.

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

@mono@<:#440,8486>DIM TrimLeft AS STRING<**>TrimLeft = LTRIM$("   abc ")

<:#200,8486><:f>The string </S>abc </T> is assigned to TrimLeft. Note that the trailing space is not removed.

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

@popref@<:#240,8486><:f>LSet Statement: to left-align a string in a variable

@popref@<:#240,8486>RSet Statement: to right-align a string in a variable

@popref@<:#240,8486>RTrim and RTrim$ Functions: to remove trailing spaces from a string

@popref@<:#240,8486>Trim and Trim$ Functions: to remove leading and trailing spaces from a string

<:#200,8486><:f>

>

[Embedded]
00149450
