الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيفية جعل التكست يقبل حروف فقط

بدأه a_salah_hasballa في 6 نوفمبر 2008 · 4 رد · 2,208 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بســم الله الـرحمــن الرحيــم

ازاي اخلي التكست بوكس يقبل حروف بس يعني لو دخلت باك اسلاش او اي حاجة تانية ميبقلش ( / او * او - )

بســم الله الـرحمــن الرحيــم

لا خير في كاتم العلم ...زكاه العلم ...التعليم صدقة جارية

#2

أعتقد أن تلك الأكواد ستساعدك

private sub text1_change()
If  IsNumeric(Text1.Text) Then

SendKeys ("backspace")

Beep

End If
end sub

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 116 Or 111 Or 109 Then 
SendKeys ("backspace") 
Beep 
End If
end sub

تم تعديل هذه المشاركة بواسطة التائب الى الله في 6 نوفمبر 2008 في 17:13

#3

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)

If KeyCode = 116 Or 111 Or 109 Then

SendKeys ("backspace")

Beep

End If

end sub

الكود دة مش شغال

بســم الله الـرحمــن الرحيــم

لا خير في كاتم العلم ...زكاه العلم ...التعليم صدقة جارية

#4

السلام عليكم...

ضع الكود التالي في Module

  1. Public Enum TAllowedChars
  2. tacArabicOnly
  3. tacEnglishOnly
  4. tacBothLangs
  5. End Enum
  6.  
  7. دالة شاملة للتأكد من الإدخال
  8. Public Function AcceptChar(KeyAscii As Integer, AllowedChars As TAllowedChars, Optional IncludeSpace As Boolean = False, Optional IncludeNums As Boolean = False) As Integer
  9. Const ArabicLetters = "ءأإآاؤئىبتةثجحخدذرزسشصضطظعغفقكلمنهوي"
  10. Const EnglishLetters = "abcdefghijklmnopqrstuvwxyz"
  11.  
  12. Dim SearchStr As String
  13.  
  14. ' Backspace و Delete السماح برموز التحكم مثل
  15. If KeyAscii < 32 Then
  16. AcceptChar = KeyAscii
  17. Exit Function
  18. End If
  19.  
  20. Select Case AllowedChars
  21. Case tacArabicOnly ' السماح بالحروف العربية فقط
  22. SearchStr = ArabicLetters
  23. Case tacEnglishOnly ' السماح بالحروف الإنجليزية فقط
  24. SearchStr = EnglishLetters
  25. Case tacBothLangs ' السماح بالحروف من اللغتين
  26. SearchStr = ArabicLetters & EnglishLetters
  27. End Select
  28.  
  29. ' إذا كان مسموحاً باستعمال الفراغ
  30. If IncludeSpace Then SearchStr = SearchStr & " "
  31.  
  32. ' إذا كان مسموحاً بإدخال الأرقام
  33. If IncludeNums Then SearchStr = SearchStr & "0123456789"
  34.  
  35. If InStr(UCase(SearchStr), UCase(Chr(KeyAscii))) = 0 Then
  36. ' الحرف أو الرقم غير موجود ضمن المجموعة المسموح بها
  37. AcceptChar = 0
  38. Else
  39. ' الحرف أو الرقم موجود ضمن المجموعة المسموح بها
  40. AcceptChar = KeyAscii
  41. End If
  42. End Function
  43.  

الدالة AcceptChar هي دالة مرنة حيث يمكنك استعمالها للسماح بإدخال حروف اللغة العربية فقط أو الإنجليزية فقط أو كلتيهما، مع إمكانية تحديد ما إذا كنت تريد السماح بإدخال المسافات الفارغة (Spaces) و السماح بإدخال الأرقام.

البارامترات:

= KeyAscii: هو رقم آسكي للمفتاح المضغوط.

= AllowedChars: من النوع TAllowedChars المعرف في بداية الكود، و الذي يحدد اللغة:

* tacArabicOnly السماح بحروف اللغة العربية فقط.

* tacEnglishOnly السماح بحروف اللغة الإنجليزية فقط.

* tacBothLangs السماح بحروف اللغتين.

= IncludeSpace: منطقي (Boolean) فإذا كان True فإنه يسمح بإدخال الفراغات، و إذا كان False فإنه لا يسمح بإدخال الفراغات. هذا البارامتر اختياري، أي يمكنك عدم تحديده عند استدعاء الدالة و في تلك الحالة تكون قيمته False (القيمة الافتراضية).

= IncludeNums: منطقي (Boolean) فإذا كان True فإنه يسمح بإدخال الأرقام، و إذا كان False فإنه لا يسمح بإدخال الأرقام. هذا البارامتر اختياري، أي يمكنك عدم تحديده عند استدعاء الدالة و في تلك الحالة تكون قيمته False (القيمة الافتراضية).

و يتم استدعاء الدالة في معالج الحدث KeyPress للـ TextBox كما في الأمثلة التالية:

  1. Private Sub Text1_KeyPress(KeyAscii As Integer)
  2. ' السماح بالحروف العربية فقط
  3. KeyAscii = AcceptChar(KeyAscii, tacArabicOnly)
  4.  
  5. ' السماح بالحروف من اللغتين دون فراغات أو أرقام - و طبعاً دون أية رموز أخرى
  6. KeyAscii = AcceptChar(KeyAscii, tacBothLangs, True, True)
  7.  
  8. ' السماح بالحروف العربية مع الفراغات و لكن دون أرقام - لاحظ أن البارامتر الرابع غير مستعمل
  9. KeyAscii = AcceptChar(KeyAscii, tacArabicOnly, True)
  10.  
  11. ' السماح بالحروف من اللغتين مع الأرقام و لكن دون فراغات - لاحظ أن البارامتر الثالث غير مستع
    مل
  12. KeyAscii = AcceptChar(KeyAscii, tacBothLangs, , True)
  13. End Sub
  14.  

نرجو الاستفادة و السلام.

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

مواضيع مشابهة