الإخوة الكرام
السلام عليكم ورحمة وبركاته
كيف امنع المستخدم إدخال في Text نص عربي اريد إدخال انجليزي فقط ؟
كليف امنع المستخدم إدخال في Text نص انجليزي اريد إدخال عربي فقط ؟
هل يمكن عمل ذلك وجزكم الله باء الجنة يأرب
تحياتي
وعليكم السلام ورحمة الله وبركاته
الفكرة يمكنك تنفيذها من خلال الكود التالي :
كود :
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
(19-09-22, 03:42 PM)Taha Okla كتب : [ -> ]وعليكم السلام ورحمة الله وبركاته
الفكرة يمكنك تنفيذها من خلال الكود التالي :
كود :
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
الف شكرا لك اخي العزيز وجزك الله خيراً
ملاحظه هامه إذا سمحت
هل من الممكن التعديل على الكود الذي يسمح فقط بكتابة الغه الإنجليزية بحيث يسمح مع الغه الإنجليزية كتابة الرموز والارقام إذا امكن ذلك ؟؟؟
وجزك الله خيراً
أنا أرفقت لك الكود الذي يعلمك كيف تعرف منه رقم كل محرف من المحارف لتستطيع التعديل على الكود كما تشاء
ليصبح مناسب لكل شيء تريد السماح به أو منعه ..
جرب أن تفعلها بنفسك فإن لم يفلح معك -- سأساعدك بإذن الله ..
(19-09-22, 07:26 PM)Taha Okla كتب : [ -> ]أنا أرفقت لك الكود الذي يعلمك كيف تعرف منه رقم كل محرف من المحارف لتستطيع التعديل على الكود كما تشاء
ليصبح مناسب لكل شيء تريد السماح به أو منعه ..
جرب أن تفعلها بنفسك فإن لم يفلح معك -- سأساعدك بإذن الله ..
الف شكر لك اخي العزيز وجزك الله عني باء الجنة يأرب
شكرا لكم ومزيدا من التقدم