According to MSDN, this function is already implemented:
' Code from MSDN
'
Dim myString As String = "ABCDE"
Dim myChar As Char
' The value of myChar is "D".
myChar = myString.Chars(3)
**A review of your code**
Please indent your code.
I would choose another, more meaningful name for your function:
getCharAt
orgetByteFromString
. It is now clear that the function operates on a string.I would use the clearer parameter name
str
instead ofs
."Compress":
place = place + 1 getbyte = Mid(s, place, 1) ' change to getbyte = Mid(s, place + 1, 1)
The first version is definitely not wrong or ugly, but why use an extra line if we could express the same logic in the same clear manner?
You could use
If
If
to shorten your code:Private Function getbyte(str As String, ByVal place As Integer) As String getbyte = If(place < Len(str), Mid(str, place + 1, 1), "") End Function