'select xinstrrev(street, ' ')
'-----------------------------
strError = "Error in function xinstrrev"
iFunctionConvertPos = strSQL.ToLowerCase.IndexOf("xinstrrev(")
Do While iFunctionConvertPos > -1 And strSQL.CharAt(iFunctionConvertPos - 1) <> Chr(39)
iFunctionConvertEndPos = cMP.GetPosOfClosingBracket(strSQL, iFunctionConvertPos)
strStringToReplace = strSQL.SubString2(iFunctionConvertPos, iFunctionConvertEndPos + 1)
iCommaPos = strStringToReplace.IndexOf(",")
strField = strStringToReplace.SubString2(10, iCommaPos)
strFindString = strStringToReplace.SubString2(iCommaPos + 2, strStringToReplace.Length - 1)
strReplace = $"length(rtrim(${strField}, replace(${strField}, ${strFindString}, '')))"$
strSQL = strSQL.Replace(strStringToReplace, strReplace)
iFunctionConvertPos = strSQL.ToLowerCase.IndexOf("xinstrrev(")
Loop
'select xlastnumberpos(street)
'-----------------------------
iFunctionConvertPos = strSQL.ToLowerCase.IndexOf("xlastnumberpos(")
strError = "Error in function xlastnumberpos"
Do While iFunctionConvertPos > -1 And strSQL.CharAt(iFunctionConvertPos - 1) <> Chr(39)
iFunctionConvertEndPos = cMP.GetPosOfClosingBracket(strSQL, iFunctionConvertPos) + 1
strField = strSQL.SubString2(iFunctionConvertPos + 15, iFunctionConvertEndPos - 1)
strStringToReplace = strSQL.SubString2(iFunctionConvertPos, iFunctionConvertEndPos)
strSQL = strSQL.Replace(strStringToReplace, _
$"max(length(rtrim(${strField}, replace(${strField}, '0', ''))),
length(rtrim(${strField}, replace(${strField}, '1', ''))),
length(rtrim(${strField}, replace(${strField}, '2', ''))),
length(rtrim(${strField}, replace(${strField}, '3', ''))),
length(rtrim(${strField}, replace(${strField}, '4', ''))),
length(rtrim(${strField}, replace(${strField}, '5', ''))),
length(rtrim(${strField}, replace(${strField}, '6', ''))),
length(rtrim(${strField}, replace(${strField}, '7', ''))),
length(rtrim(${strField}, replace(${strField}, '8', ''))),
length(rtrim(${strField}, replace(${strField}, '9', ''))))"$)
'Log(strSQL)
iFunctionConvertPos = strSQL.ToLowerCase.IndexOf("xlastnumberpos(")
Loop