الرجاء من الاخوة الاعزاء ارشادى الى طريقة تمنع المستخدم من كتابة اى حروف او رموز فى صندوق النص ما عدا كتابة الحروف الانجليزية والا رقام من 0 - 9
ولكم عنى جذيل الشكر
محتاجها ضرورى ارجوكم
الرجاء من الاخوة الاعزاء ارشادى الى طريقة تمنع المستخدم من كتابة اى حروف او رموز فى صندوق النص ما عدا كتابة الحروف الانجليزية والا رقام من 0 - 9
ولكم عنى جذيل الشكر
محتاجها ضرورى ارجوكم
استعمل الدالة isnumeric
مثلا اضف تكست بوكس للفورم و اضف الكود التالي
Private Sub Text1_Change() If Not IsNumeric(Text1.Text) Then MsgBox "not number" End Sub
من قال لا إله إلا الله صادقا دخل الجنة
موقعي للتعارف و تبادل الأخبار http://www.xybond.com
أشكرك يا اخ هشام ولكن فى مستو ى الحدث Change للتكست
وايضا يجب ان يستقبل حروف انجليزية وارقام
اذا ضغطنا على حرف انجليزى او رقم يقوم بكتابته جوار ما سبق بينما اذا ضغطنا على حرف او رمز اخر لا يكتب شيئا ولا يعرض رسائل بينما يكتب اى ارقام او حروف انجليزى اخرى
شكرا على اهتمامك اخى هشام
في الحقيقة لا اذكر طريقة حاليا لمنع الحروف العربية او الرموز الا عن طريق جملة 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
وهنا ضع بدلا من الحرف باء كرر
mid(text1.text,i,1)=""
وضع باقي الحروف
لكني لست متاكد من وجود دالة مباشرة لعمل ذلك
من قال لا إله إلا الله صادقا دخل الجنة
موقعي للتعارف و تبادل الأخبار http://www.xybond.com
بارك الله فيك يا اخ هشام
وانا ها اقول لك تصور عن اللى منتظرة يمكن ربنا يهديك لطريقة ما كانتش عندك قبل كدة
هوة ان فى حدث Change بيختبر مدى من ال ASCII ولما يدخل المستخدم اى حرف داخل هذا المدى يكتبه ولما يخرج عن المدى يتوقف عن الكتابة
والله سبحان الله
اثناء ارسلك للرسالة انا كنت احاول في نفس الطريقة
خذ طرف الخيط وواصل
Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii < 65 And KeyAscii < 90 Then End If End Sub
من قال لا إله إلا الله صادقا دخل الجنة
موقعي للتعارف و تبادل الأخبار http://www.xybond.com
السلام عليكم
هذا الكود كتبته لمنع كتابة العربي
ومنع كتابة الارقام ليست بصعبة
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
الإنسان الذي يقول بأنه لا يمكن عمل شيء يجب ألا يعيق مطلقاً الإنسان الذي يقوم بعمل ذلك الشيء.
إن تخطئ فأنت إنسان ... أما أن تلوم جهازك الكمبيوتر على خطأك فهذا أكثر إنسانية.
هذا الموضوع مغلق.