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

اجبار المستخدم على ادخال حروف فقط ؟؟؟

مغلق
بدأه الوردية في 27 ديسمبر 2006 · 16 رد · 5,158 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

:::

مرحبا أخوتي الكرام

ماهو الكود المستخدم لأجبار المستخدم على ادخال حروف فقط في الـ TextBox

سواء كانت أحرف عربي أو E

استخدمت هالكود بس مانفع...


c=e.keychar
if not (char.isLetter(c)) then e.handled = true 'الغاء الحرف المضغوط
end if
dim c as char

تمت كتابة هذا الكود في حدث الـ KeyPress للـ Textbox

هل هنالك من خطأ

:::

احنرامي

الوردية

#2

السلام عليكم

استخدمي هذا الكود للحروف الانجليزية وهو معروض من احد الاخوة من قبل وكان بشكل مختلف لغرض الارقام.

 If Not (Char.IsLetter(e.KeyChar) Or Char.IsControl(e.KeyChar)) Then
			e.Handled = True
		End If

أما اللغة العربية فحتاج إلى تقنية التعبير النظامي Regex بالتوفيق إن شاء الله.

في المثال يتضح المقال

#3

:::

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

مرحبا أخوي الغملاسي

أول شي تستاهل لقب المشرف المميز

وثاني شي هالكود نفس اللي كتبتة

بس الفرق انه حرف التحكم تمت اضافته من قِبلك

اللي هو iscontrol

اقتباس
هذا الكود للحروف الانجليزية

مالمقصود مافهمت؟؟

هل هو فقط لادخال أحرف انجليزية؟؟

أذا كان نعم,, اقول أني جربته وقام بادخال الأحرف عامة سواء عربية او انجليزية


Dim w As Char
w = e.KeyChar
If Not (Char.IsLetter(w) Or Char.IsControl(w)) Then
e.Handled = True 'الغاء الحرف المضغوط
End If
End Sub
Private Sub TextBox2_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress

^

^

هذا هو الكود الذي تمت كتابته

:::

ثاني شي...

لو عندي TextBox

وأريد المستخدم يقوم بادخال احرف واعداد انجليزية فقط وليست عربية

ماهو الكود المستخدم؟؟؟

:::

ألف شكر لك أخوي

احترامي

الوردية

تم تعديل هذه المشاركة بواسطة الوردية في 27 ديسمبر 2006 في 12:09

#4
اقتباس
لو عندي TextBox

وأريد المستخدم يقوم بادخال احرف واعداد انجليزية فقط وليست عربية

ماهو الكود المستخدم؟؟؟

معقولة محد عرف أو يعرف كيف؟؟

لدرجة انه انتقل للصفحة الثانية

اخواني اعرفكم مابتقصرون

انتظر ردّ

الوردية

تم تعديل هذه المشاركة بواسطة الوردية في 1 يناير 2007 في 19:52

#5

السلام عليكم

استخدمي التعبير النظامي لحل هذه المشكلة على سبيل المثال :

اصنعي Module وضعي فيه هذا الكود

Imports System.Text.RegularExpressions

Module Rgex

#Region " Constant Variables "

	Const Phenomenon As String = "^[a-zA-Z0-9]\b"


#End Region

#Region " Validate Alphanumeric Letters "

	Public Function ValidateEachAlphanumeric(ByVal Letters As String) As Boolean
		Try
			Dim rx As New Regex(Phenomenon)
			Return rx.IsMatch(Letters)
		Catch ex As FormatException
			Throw ex
		Catch ex As Exception
			Throw ex
		End Try
	End Function


#End Region

End Module

ثم في حدث الضغط على ازرار لوحة المفاتيح keyPress

اكتبي الكود التالي:

 Private Sub KPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress

		If Not ValidateEachAlphanumeric(e.KeyChar.ToString) Then
			e.Handled = True
		End If

		' if ' backspace key pressed or space key pressed
		If e.KeyChar = Microsoft.VisualBasic.ChrW(32) OrElse _
		e.KeyChar = Microsoft.VisualBasic.ChrW(8) Then
			e.Handled = False
		End If

	End Sub

بالتوفيق إن شاء الله.

(( عُذراً ))

أختي أحسن الله إليكِ , لا تشاركين بنفس الموضوع اكثر من مرة.

فقد يأتي الجواب في ساعة وقد يطول الانتظار الى أكثر من شهر.

وهذه دعوة عامة لقراءة قواعد الطرح و المشاركة قبل المضي في كتابةِ موضوعٍ ما.

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

ValidateAlphaNumericTextBox.rar

تم تعديل هذه المشاركة بواسطة الغملاسي في 3 يناير 2007 في 13:42

في المثال يتضح المقال

#6

يحبر المستخدم على عدم إدخال ارقام

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
		TextBox1.Select(TextBox1.Text.Length, 0)
		Dim s As Integer
		For n As Integer = 0 To 9
			Do Until s = -1
				s = TextBox1.Text.IndexOf(CStr(n))
				If s < 0 Then Exit Do

				TextBox1.Text = TextBox1.Text.Remove(s, 1)

			Loop
			s = 0
		Next

	End Sub
#7

:::

اقتباس
بالتوفيق إن شاء الله.

(( عُذراً ))

أختي أحسن الله إليكِ , لا تشاركين بنفس الموضوع اكثر من مرة.

فقد يأتي الجواب في ساعة وقد يطول الانتظار الى أكثر من شهر.

وهذه دعوة عامة لقراءة قواعد الطرح و المشاركة قبل المضي في كتابةِ موضوعٍ ما.

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

مرحبا أخي الغملاسي

عذراً على استعجالي

ولكن اصبح الموضوع في صفحته الثانية ولم اجد رداً وخوفاً من نسيان الموضوع

تمت كتابة الموضوع وطلب آخر مستقل

فقد كان الأول

هو كتابة أحرف فقط سواء عربية او انجليزية

أما الثاني فهو عن كتاية احرف واعداد انجليزية فقط

وان شاء الله يكون ماقدمتة مناسب لما استفسرت عنه

والعذر مرة أخرى

احترامي لك

الوردية

:::

أخي OBU_SAUD

سأجرب ماذكرتة وألف شكر لك أخي الكريم

احترامي

الورديو

#8

أخواني قبل لا أجرب شي

المقصور أو المطلب

هو

يوجد TextBox

والمدخلات تكون فقط احرف وارقام E

فقط

وعند ادخال احرف واعداد عربية تظهر رسالة تنبية

:::

الف شكر لكم

احترامي

الوردية

#9

مسألة الارقام عربية او هندية

تعتمد على Regional and Language

هنالك تتم تهيئة الارقام و بالتحديد من digit substitution

في المثال يتضح المقال

#10

::::

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

مرحبا أخي الغملاسي

اعرف اني ازعجتك ,,, بس للأسف أخوي المرفق مارضى يفتح معاي

يمكن اصدار الفيجيوال بيسك احدث من اللي عندي شكلة 2005

واللي عندي 2003

احترامي

الوردية

#11

طيب الكود يعمل على النسختين, فتبعي التعليمات في الاعلى لتطبق الشرح

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

في المثال يتضح المقال

#12

::

مرحبا أخي الغملاسي

عذراً ولكن في فقرة الكود في حدث الـ keypress

Private Sub TextBox3_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox3.KeyPress
		If Not ValidateEachAlphanumeric(e.KeyChar.ToString) Then
			e.Handled = True
		End If

		' if ' backspace key pressed or space key pressed
		If e.KeyChar = Microsoft.VisualBasic.ChrW(32) OrElse _
		e.KeyChar = Microsoft.VisualBasic.ChrW(8) Then
			e.Handled = False
		End If
	End Sub

ChrW(32)

ChrW(8) ماذا تعني

لاحظت انه لا يتم ادخال علامة الـ @

هل هنالك من اضافة على الكود كي تتم كتابة الأحرف الخاصة؟؟

انتظر الرد أخوتي الكرام

الوردية

تم تعديل هذه المشاركة بواسطة الوردية في 16 يناير 2007 في 20:03

#13

انا كنت منزل اداة جاهزة هل لم تكن تفي بالغرض؟

/index.ph...=113387&hl=

ام المطلوب الكود؟

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#14
Romantic_touch كتب:
انا كنت منزل اداة جاهزة هل لم تكن تفي بالغرض؟

/index.ph...=113387&hl=

ام المطلوب الكود؟

نسيت الموضوع

لك الشكر أخي الكريم

بس بعد,,

أبي افهم الكود هذا اللي تم وضعه من قِبل أخي الغملاسي

#15

السلام عليكم,,,

الطريقة ChrW تقبل وسيطة من النوع عدد صحيح يمثل رمز الحرف وتعود بالحرف المقابل له بجدول الاسكى Ascii

جربى هذا الكود يسمح بطباعة الاحرف الانجليزية الكبيرة والصغيرة والارقام والاحرف الخاصة يكتب فى الحدث KeyPress

If Not e.KeyChar >= ChrW(32) Or Not e.KeyChar <= ChrW(172) Then
			e.Handled = True

		End If

بالتوفيق

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#16

جزاك الله خيراااااااااااااااااا

محمد فخرالدين

#17

يعجبني تفكيرك يا SOLO.NET

كلامك صحيح 100%

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…