السلام عليكم لدينا مشكلة بسيطة
لناخذ مثالا على حرف الذال (ذ)
من المفترض من الكود ان يفصل الحروف كالتالي:
3 حروف (ذاً) , (ذَا) , (ذِي) , (ذُو)
حرفين (ذْ) , (ذَ) , (ذِ) , (ذُ) , (ذٍ) , (ذٌ)
اذا لم يطايق الحالات السابقة فانه يتم عرض الحرف وحيدا
مثال: اذا << من المفترض ان يظهر كل حرف على حدا (ا) , (ذ) , (ا)
اذاً << (ا) , (ذاً)
المشكلة ان الكود لا يقوم بعرض الحروف كما في المثال بعد ان يجد ان الحرف لا تتبعه حركة
هذا هوا الكود:
For i = 0 To TextBox1.Text.Length - 1 Step 3
If (i + 2 < TextBox1.Text.Length) Then
If (TextBox1.Text(i + 2) = "ً") Then 'tanween fatha
MessageBox.Show(TextBox1.Text(i) + TextBox1.Text(i + 1) + TextBox1.Text(i + 2))
ElseIf ((TextBox1.Text(i + 1) = "َ" And TextBox1.Text(i + 2) = "ا") Or (TextBox1.Text(i + 1) = "ِ" And TextBox1.Text(i + 2) = "ي") Or (TextBox1.Text(i + 1) = "ُ" And TextBox1.Text(i + 2) = "و")) Then 'mad
MessageBox.Show(TextBox1.Text(i) + TextBox1.Text(i + 1) + TextBox1.Text(i + 2))
ElseIf (TextBox1.Text(i + 1) = "َ" Or TextBox1.Text(i + 1) = "ِ" Or TextBox1.Text(i + 1) = "ُ" Or TextBox1.Text(i + 1) = "ْ") Then 'harakat
MessageBox.Show(TextBox1.Text(i) + TextBox1.Text(i + 1))
i = i - 1
Else
MessageBox.Show(TextBox1.Text(i))
i = i - 2
End If
Else
MessageBox.Show(TextBox1.Text(i))
End If
Next