وعليكم السلام ورحمة الله وبركاته
الفكرة يمكنك تنفيذها من خلال الكود التالي :
كود :
Private Sub Text1_KeyPress(KeyAscii As Integer)
If Not (KeyAscii >= 97 And KeyAscii <= 122 Or KeyAscii = 8) _
And Not (KeyAscii >= 65 And KeyAscii <= 90) Then
KeyAscii = 0
End If
End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii = 215 Or KeyAscii = 220 Or KeyAscii = 224 Or KeyAscii = 226 Then
KeyAscii = 0
ElseIf KeyAscii >= 231 And KeyAscii <= 235 Then
KeyAscii = 0
ElseIf Not (KeyAscii >= 193 And KeyAscii <= 237 Or KeyAscii = 8) Then
KeyAscii = 0
End If
End Sub
الكود 8 هو للمسح تراجعياً
أما المجالات بين الأرقام لكل نوع ..
65-90 مجال الأحرف الانكليزية الكبيرة
97-122 مجال الاحرف الانكليزية الصغيرة
193-237 مجال الاحرف العربية من الهمزة حتى الياء (ليس المجال صافي بل فيه شوائب وقمنا بتنقيتها من خلال الشرطين الذين سبقاه)
كيف يمكنك معرفة قيم تلك المحارف؟؟؟ : يمكنك ذلك من خلال التجريب :
1 - أفتح مشروع جديد.
2 - وقم بإضافة عليها (List1) + (List2) .
3 - انسخ الكود الموجود أدناه للمشروع .
4 - شغل المشروع .
5 - أختر أي رقم أو أي محرف وستعرف المقابل له.
كود :
Private Sub Form_Load()
For i = 0 To 255
List1.AddItem i
List2.AddItem Chr(i)
Next i
List1.FontSize = 24
List2.FontSize = 24
End Sub
Private Sub List1_Click()
If List1.ListIndex = List2.ListIndex Then Exit Sub
List2.ListIndex = List1.ListIndex
End Sub
Private Sub List2_Click()
If List2.ListIndex = List1.ListIndex Then Exit Sub
List1.ListIndex = List2.ListIndex
End Sub