Asc

Returns the corresponding ASCII or Unicode integer representation of a 
character.

Syntax
	KeyPgDeclareDeclare KeyPgFunctionFunction Asc ( KeyPgByrefByRef str KeyPgAsAs KeyPgConstQualifierConst KeyPgStringString, KeyPgByvalByVal position KeyPgAsAs 
	KeyPgIntegerInteger = 1 ) KeyPgAsAs KeyPgUlongULong
	KeyPgDeclareDeclare KeyPgFunctionFunction Asc ( KeyPgByvalByVal str KeyPgAsAs KeyPgConstQualifierConst KeyPgZstringZString KeyPgPtrPtr, KeyPgByvalByVal position KeyPgAsAs 
	KeyPgIntegerInteger = 1 ) KeyPgAsAs KeyPgUlongULong
	KeyPgDeclareDeclare KeyPgFunctionFunction Asc ( KeyPgByvalByVal str KeyPgAsAs KeyPgConstQualifierConst KeyPgWstringWString KeyPgPtrPtr, KeyPgByvalByVal position KeyPgAsAs 
	KeyPgIntegerInteger = 1 ) KeyPgAsAs KeyPgUlongULong

Usage
	result = Asc( str [, position ] )

Parameters
	str
		The source string.
	position
		The position in the string of a character.

Return Value
	The raw character value stored at position in str.
	If both str and position can be evaluated at compile time (like Asc("a") 
	or Asc(chr(97)) or Asc("abc", 2) ...), the value is returned in a 
	KeyPgUintegerUInteger result, otherwise in a KeyPgUlongULong result.

Description
	If str is a KeyPgStringString or a KeyPgZstringZString, the KeyPgUbyteUByte value at that position is 
	returned. This will be a 7-bit CptAsciiASCII code, or even a 8-bit character 
	value from some code-page, depending on the string data stored in str.

	If str is a KeyPgWstringWString, the KeyPgUshortUShort (Windows) or KeyPgUlongULong (Linux) value at that 
	position is returned. This will be a 16bit value on Windows (WStrings 
	use UTF16 there), or a 32bit value on Linux (WStrings use UTF32 there).

	The function returns zero (0) if the string is a zero length string, 
	position is less than one (1), or position is greater than the number of 
	characters in str.

	KeyPgChrChr performs the opposite function for ASCII strings, while KeyPgWchrWChr is the 
	opposite for Unicode strings, returning a string containing the 
	character represented by the code passed as an argument.

Example
	Print "the ascii code of 'a' is:"; Asc("a")
	Print "the ascii code of 'b' is:"; Asc("abc", 2)

		will produce the output:
	the ascii code of 'a' is: 97
	the ascii code of 'b' is: 98

	Unicode example (Note to documentation editors: don't put inside 
	%%(qbasic) markers or the Russian text will disappear!)
dim a as wstring * 12
	a = "&#1055;&#1088;&#1080;&#1074;&#1077;&#1090;, &#1084;&#1080;&#1088;"
	print "the Unicode of the second char of " & a & " is: " & asc(a, 2)
will produce the output:
the Unicode of the second char of 
&#1055;&#1088;&#1080;&#1074;&#1077;&#1090;, &#1084;&#1080;&#1088; is: 1088

Platform Differences
	* DOS does not support the wide-character string version of Asc.

Differences from QB
	* The optional position argument is new to FreeBASIC.
	* QB does not support the wide-character string version of Asc

See also
	* CptAsciiASCII Character Codes
	* KeyPgChrChr
	* KeyPgStrStr
	* KeyPgValVal

