InStr

Locates the first occurrence of a substring or character within a string

Syntax
	KeyPgDeclareDeclare KeyPgFunctionFunction InStr ( KeyPgByrefByRef str KeyPgAsAs KeyPgConstQualifierConst KeyPgStringString,  [ Any ] KeyPgByrefByRef 
	substring KeyPgAsAs KeyPgConstQualifierConst KeyPgStringString ) KeyPgAsAs KeyPgIntegerInteger
	KeyPgDeclareDeclare KeyPgFunctionFunction InStr ( KeyPgByrefByRef str KeyPgAsAs KeyPgConstQualifierConst KeyPgWstringWString, [ Any ] KeyPgByrefByRef 
	substring KeyPgAsAs KeyPgConstQualifierConst KeyPgWstringWString ) KeyPgAsAs KeyPgIntegerInteger
	KeyPgDeclareDeclare KeyPgFunctionFunction InStr ( KeyPgByvalByVal start KeyPgAsAs KeyPgIntegerInteger, KeyPgByrefByRef str KeyPgAsAs KeyPgConstQualifierConst 
	KeyPgStringString, [ Any ] KeyPgByrefByRef substring KeyPgAsAs KeyPgConstQualifierConst KeyPgStringString ) KeyPgAsAs KeyPgIntegerInteger
	KeyPgDeclareDeclare KeyPgFunctionFunction InStr ( KeyPgByvalByVal start KeyPgAsAs KeyPgIntegerInteger, KeyPgByrefByRef str KeyPgAsAs KeyPgConstQualifierConst 
	KeyPgWstringWString, [ Any ] KeyPgByrefByRef substring KeyPgAsAs KeyPgConstQualifierConst KeyPgWstringWString ) KeyPgAsAs KeyPgIntegerInteger

Usage
	first = InStr( [ start, ] str, [ Any ] substring )

Parameters
	str
		The string where to search.
	substring
		The substring to find.
	start
		The position in str at which the search will begin. The first 
		character starts at position 1.

Return Value
	The position of the first occurrence of substring in str.

Description
	Locates the position of the first occurrence of a substring or character 
	within a string. In the first form of InStr (without start parameter), 
	the search begins at the first character.

	Zero (0) is returned if: either substring is not found, either str or 
	substring are empty strings, or start < 1.

	If the Any keyword is specified, InStr returns the first occurrence of 
	any character in substring.

Example
	' It will return 4
	Print InStr("abcdefg", "de")

	' It will return 0
	Print InStr("abcdefg", "h")

	' It will search for any of the characters "f", "b", "c", and return 2 as "b" is encountered first
	Print InStr("abcdefg", Any "fbc")

	Dim test As String
	Dim idx As Integer

	test = "abababab"
	idx = InStr(test, "b")

	Do While idx > 0 'if not found loop will be skipped
	   Print """b"" at " & idx
	   idx = InStr(idx + 1, Test, "b")
	Loop

'A Unicode example:
dim text as wstring*20
text = "&#1055;&#1088;&#1080;&#1074;&#1077;&#1090;, &#1084;&#1080;&#1088;!"
print instr(text,"&#1077;&#1090;") ' displays 5

Platform Differences
	* The wide-character string version of InStr is not supported for DOS 
	  target.

Differences from QB
	* QB returns start if search is a zero length string.
	* QB does not support Unicode.

See also
	* KeyPgInstrrevInStrRev
	* KeyPgMidfunctionMid (Function)

