08-11-12, 04:35 PM
السلام عليكم...
الشكر للأخ عبد الله الصافي على الحل، و يمكن اختصاره باستعمال جملة Select Case مع الكود الأصلي:
نرجو الاستفادة و السلام.
الشكر للأخ عبد الله الصافي على الحل، و يمكن اختصاره باستعمال جملة Select Case مع الكود الأصلي:
كود :
Private ArabLetters As String
Private Hamzat As String
Private Sub Command1_Click()
Dim Idx As Long
Dim MyText As String
Dim ALetter As String
Dim APos As Long
Dim AResult As String
Dim ASum As Long
Text2.Text = ""
Text3.Text = "0"
AResult = ""
ASum = 0
MyText = Trim(Text1.Text)
If MyText = "" Then Exit Sub
For Idx = 1 To Len(MyText)
ALetter = Mid$(MyText, Idx, 1)
APos = InStr(Hamzat, ALetter)
If APos = 0 Then
If AResult <> "" Then AResult = AResult & " - "
APos = InStr(ArabLetters, ALetter)
[color=#FF0000]Select Case[/color] APos
Case 0
AResult = AResult & "؟"
Case Is > 18
AResult = AResult & CStr((APos - 18) * 100)
ASum = ASum + (APos - 18) * 100
Case Is > 9
AResult = AResult & CStr((APos - 9) * 10)
ASum = ASum + (APos - 9) * 10
Case Else
AResult = AResult & CStr(APos)
ASum = ASum + APos
[color=#FF0000]End Select[/color]
Else
If AResult <> "" Then AResult = AResult & " - "
AResult = AResult & "1"
ASum = ASum + 1
End If
Next Idx
Text2.Text = AResult
Text3.Text = CStr(ASum)
End Sub
Private Sub Form_Load()
Hamzat = "ءاأإؤئ"
ArabLetters = "أبجدهوزحطيكلمنسعفصقرشتثخذضظغ"
End Subنرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
