Function ABGD(ByVal str As String) As Integer
Dim sum As Integer = 0
Dim chrVal() As Integer = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000}
Dim Letters(27) As String
For i = 0 To 27
Letters(i) = ("ابجدهوزحطيكلمنسعفصقرشتثخذضظغ").Substring(i, 1)
Next
For i = 0 To str.Length - 1
Dim n As Integer = 0
If str.Substring(i, 1) = "ء" _
Or str.Substring(i, 1) = "ؤ" _
Or str.Substring(i, 1) = "ئ" _
Or str.Substring(i, 1) = "أ" _
Or str.Substring(i, 1) = "إ" Then
n = 1
ElseIf str.Substring(i, 1) = "آ" Then
n = 2
ElseIf str.Substring(i, 1) = "ة" Then
n = 5
ElseIf str.Substring(i, 1) = "ى" Then
n = 10
Else
For j = 0 To 27
If str.Substring(i, 1) = Letters(j) Then
n = chrVal(j)
Exit For
End If
Next
End If
sum += n
Next
Return sum
End Function