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

جعل صندوق نص يستقبل حروف انجليزى

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

الرجاء من الاخوة الاعزاء ارشادى الى طريقة تمنع المستخدم من كتابة اى حروف او رموز فى صندوق النص ما عدا كتابة الحروف الانجليزية والا رقام من 0 - 9

ولكم عنى جذيل الشكر

محتاجها ضرورى ارجوكم

#2

استعمل الدالة isnumeric

مثلا اضف تكست بوكس للفورم و اضف الكود التالي

Private Sub Text1_Change()
If Not IsNumeric(Text1.Text) Then MsgBox "not number"
End Sub

من قال لا إله إلا الله صادقا دخل الجنة

موقعي للتعارف و تبادل الأخبار http://www.xybond.com

#3

أشكرك يا اخ هشام ولكن فى مستو ى الحدث Change للتكست

وايضا يجب ان يستقبل حروف انجليزية وارقام

اذا ضغطنا على حرف انجليزى او رقم يقوم بكتابته جوار ما سبق بينما اذا ضغطنا على حرف او رمز اخر لا يكتب شيئا ولا يعرض رسائل بينما يكتب اى ارقام او حروف انجليزى اخرى

شكرا على اهتمامك اخى هشام

#4

في الحقيقة لا اذكر طريقة حاليا لمنع الحروف العربية او الرموز الا عن طريق جملة if للحرف المستقبل و لكنها طريقة طويلة

مثلا لو اردنا منع كتابة حرف الباء مثلا نستعمل الكود التالي

Private Sub Text1_Change()
For i = 1 To Len(Text1.Text)
If Mid(Text1.Text, i, 1) = "ب" Then Text1.Text = Left(Text1.Text, i - 1) & Right(Text1.Text, (Len(Text1.Text) - i))
Next
End Sub
Private Sub Text1_Change()
For i = 1 To Len(Text1.Text)
If Mid(Text1.Text, i, 1) = "ب" Then Text1.Text = Left(Text1.Text, i - 1) & Right(Text1.Text, (Len(Text1.Text) - i))
Next
End Sub

من قال لا إله إلا الله صادقا دخل الجنة

موقعي للتعارف و تبادل الأخبار http://www.xybond.com

#5

وهنا ضع بدلا من الحرف باء كرر

mid(text1.text,i,1)=""

وضع باقي الحروف

لكني لست متاكد من وجود دالة مباشرة لعمل ذلك

من قال لا إله إلا الله صادقا دخل الجنة

موقعي للتعارف و تبادل الأخبار http://www.xybond.com

#6

بارك الله فيك يا اخ هشام

وانا ها اقول لك تصور عن اللى منتظرة يمكن ربنا يهديك لطريقة ما كانتش عندك قبل كدة

هوة ان فى حدث Change بيختبر مدى من ال ASCII ولما يدخل المستخدم اى حرف داخل هذا المدى يكتبه ولما يخرج عن المدى يتوقف عن الكتابة

#7

والله سبحان الله

اثناء ارسلك للرسالة انا كنت احاول في نفس الطريقة

خذ طرف الخيط وواصل

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii < 65 And KeyAscii < 90 Then

End If
End Sub

من قال لا إله إلا الله صادقا دخل الجنة

موقعي للتعارف و تبادل الأخبار http://www.xybond.com

#8

السلام عليكم

هذا الكود كتبته لمنع كتابة العربي

ومنع كتابة الارقام ليست بصعبة

Private Sub Text1_Change()
'اذا كان رقم اسكي للحرف اكبر من 128 بيكون عربي

Dim LastChar As String
LastChar = Mid(Text1.Text, Len(Text1.Text), 1)
If Asc(LastChar) > 128 Then
        Text1.SelStart = Len(Text1.Text) - 1
            Text1.SelLength = 1
                Text1.SelText = ""
        Text1.SelStart = Len(Text1.Text)
            Text1.SetFocus
            
End If

End Sub

تحياتي لك Prof_1982

دعواتكم لابي رحمه الله

تم تعديل هذه المشاركة بواسطة prof_1982 في 15 يونيو 2004 في 09:19

الإنسان الذي يقول بأنه لا يمكن عمل شيء يجب ألا يعيق مطلقاً الإنسان الذي يقوم بعمل ذلك الشيء.

إن تخطئ فأنت إنسان ... أما أن تلوم جهازك الكمبيوتر على خطأك فهذا أكثر إنسانية.

هذا الموضوع مغلق.

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