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

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

بدأه atefkhalf2004 في 2 يونيو 2013 · 17 رد · 1,936 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع
اجبار المستخدم علي ادخال رقم يتراوح في مدي معين

كيف يمكن اجبار المستخدم علي ادخال رقم يتراوح في مدي معين


عندي مربع نص


عايز اجبر المستخدم علي ادخال رقم يتراوح من 0 وحتي 75 مثلا ويمكن ان يكون في صورة كسرية ويمكن ايضا ان يضيف حرف ابجدي مثل ح مثلا

اي 56.8

او ح


او 45.9


ولا يستطيع الكتابة الا ما تم تحديده فقط

شكرا

#2

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

 

تم الإجابة

 

و إرفاق  المثال 

 

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

post-275323-0-18244700-1370217004_thumb.

post-275323-0-43920000-1370217035_thumb.

post-275323-0-17122800-1370217092_thumb.

post-275323-0-55897600-1370217122_thumb.

ArabTeam.rar

#3

سيدي الفاضل

ليس هو كل  المطلوب 

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

#4

هلا وضحت أكثر أخي عاطف  ... فالرد السابق فيه توضيح كاف 

هل تقصد مثلاً لا يكتب أكثر من خانات معينة ؟؟؟

وبالنسبة لما ذكره أخي عرفات ... يمكن أن تجعله في حدث textbox1_LostFocus  فلا يستطيع الخروج من ذلك التكست إلا بوضع صحيح

Private Sub textbox1_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles textbox1.LostFocus
        If val(textbox1.Text) > 25 Then
            MessageBox.Show("أدخل رقم من 1 حتى 25  ... سيعاد الرقم إلى 12  إفتراضياً", "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error)
            textbox1.Text = 12
            textbox1.Focus()
        End If
    End Sub
#5
رحيّم كتب:

هلا وضحت أكثر أخي عاطف  ... فالرد السابق فيه توضيح كاف 

هل تقصد مثلاً لا يكتب أكثر من خانات معينة ؟؟؟

وبالنسبة لما ذكره أخي عرفات ... يمكن أن تجعله في حدث textbox1_LostFocus  فلا يستطيع الخروج من ذلك التكست إلا بوضع صحيح

Private Sub textbox1_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles textbox1.LostFocus
        If val(textbox1.Text) > 25 Then
            MessageBox.Show("أدخل رقم من 1 حتى 25  ... سيعاد الرقم إلى 12  إفتراضياً", "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error)
            textbox1.Text = 12
            textbox1.Focus()
        End If
    End Sub

استاذي العزيز

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

انا اعمل على فجوال البيسك 6 !!!!!!!؟

#6

أخي الفاضل 

atefkhalf2004

تفضل المثال

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
        If Val(TextBox1.Text) < 0 Or Val(TextBox1.Text) > 75 Then
            MsgBox("!!!! غير مسموح")
            TextBox1.Clear()
        End If
    End Sub

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#7

الاستاذ محمد  شكرا علي ؤدك      ولكت كيف مع الشرط  السابق   اجعل المستخدم  لا يستطيع  كتابة حروف عدا  حرف معين وليكن ح

#8

سيكون الكود بالشكل التالي

وسيقبل مربع النص جميع القيم من 0 وحتي 75 فقط وسيقبل أيضا كتابة الكسور ولكن لن يقبل اي حروف ماعدا حرف ح وبخلاف ذلك سيظهر رسالة للمستخدم تمنعه من اي ادخالات اخري

 

بالتوفيق

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


        If Char.IsDigit(e.KeyChar) Or Char.IsControl(e.KeyChar) Or Char.IsPunctuation(e.KeyChar) Or e.KeyChar = "ح" Then
            e.Handled = False
        Else
            e.Handled = True
        End If
    End Sub

 

Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _
    Handles TextBox1.TextChanged

        If Val(TextBox1.Text) < 0 Or Val(TextBox1.Text) > 75 Then
            MsgBox("!!!! غير مسموح")
            TextBox1.Clear()
        End If
    End Sub
 

تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 7 يونيو 2013 في 08:30

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#9

تمام يا ا  محمد

 

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

 

اي  يستطيع  ان يكتب  34.6      او      77      او     ح       ولا يستطيع حح 

جربت هذا

  If e.KeyChar = "غ" And Len(e.KeyChar) = 1 Then

            e.Handled = False
        Else
            e.Handled = True
        End If

        If Char.IsDigit(e.KeyChar) Or Char.IsControl(e.KeyChar) Or Char.IsPunctuation(e.KeyChar) Or e.KeyChar = "غ" Then

            e.Handled = False
        Else
            e.Handled = True
        End If  If e.KeyChar = "غ" And Len(e.KeyChar) = 1 Then

            e.Handled = False
        Else
            e.Handled = True
        End If

        If Char.IsDigit(e.KeyChar) Or Char.IsControl(e.KeyChar) Or Char.IsPunctuation(e.KeyChar) Or e.KeyChar = "غ" Then

            e.Handled = False
        Else
            e.Handled = True
        End If

#10

بمنتهي البساطة سنقوم باضافة جملة بسيطة في الكود في حدث TextBox1_TextChanged 

وهي 

 

Or TextBox1.Text.Contains("حح")

 

ليصبح الشكل النهائي للكود هكذا 

 

بالتوفيق

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


        If Char.IsDigit(e.KeyChar) Or Char.IsControl(e.KeyChar) Or Char.IsPunctuation(e.KeyChar) Or e.KeyChar = "ح" Then

            e.Handled = False
        Else
            e.Handled = True

        End If

    End Sub

 

 

    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _
    Handles TextBox1.TextChanged

        If Val(TextBox1.Text) < 0 Or Val(TextBox1.Text) > 75 Or TextBox1.Text.Contains("حح") Then

            MsgBox("!!!! غير مسموح")
            TextBox1.Clear()
        End If
    End Sub

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#11

الاستاذ محمد   منك   نتعلم   الكثير   وعودتنا علي الدقة   

هذا الكود  سوف بعمل عند الخروج من المربع   

 

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

لذا

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

شكرا

#12
اقتباس

الاستاذ محمد   منك   نتعلم   الكثير   وعودتنا علي الدقة   

هذا الكود  سوف بعمل عند الخروج من المربع   

 

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

لذا

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

شكرا

 

بارك الله فيك أخي الكريم علي هذه الكلمات الطيبة

 

الكود الحالي يحقق جميع الشروط التي قد طلبتها بالحرف الواحد وعذرا مني لاني حاولت فهم ما تقولة في آخر مشاركة ولم أفهم ماذا تريد عملة بالضبط في حدث Key_Press

فلو قمت بتطبيق الكود كما هو سيمنع المستخدم من كتابة "حح" و سيمنع المستخدم من كتابة رقم يقل عن عن 0 ويزيد عن الــ 75 لكنه سيقبل كتابة "ح" أو كسور يتخللها الحرف "ح" أو أرقام صحيحة أيضا يتخللها الحرف ح وكما هو موضح بالصور

 

post-46243-0-69300600-1370710269.jpg

 

post-46243-0-79188100-1370710292.jpg

 

post-46243-0-80511800-1370710315.jpg

 

post-46243-0-33562500-1370710340.jpg

 

post-46243-0-81702700-1370710366.jpg

 

بالتوفيق

Validation.rar

تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 8 يونيو 2013 في 19:54

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#13

هذا الحل ممتاز يا استاذ محمد

ولكن ... ماذا لو ادخل المستخدم 9ح      او   ح9         شكرا

اثق في حلولك

#14

الاسناذ  محمد

برجاء   التعديل   ةشكرا

#15

والله يا أخي اذا كانت الاجابة متوفرة لدي كنت جاوبتك لكن الي الان لم أصل الي اجابة علي السؤال الجديد الموجود في المشاركة لكن عندي اقتراح

 

1- أنا لا أعرف أصلا الغرض من هذه الشروط !!

2- اذا كان حرف الــ ح سيكون حرف ثابت فأقترح منع المستخدم من كتابة أي حروف في خانة كتابة الارقام

3- وعمل خانة جديدة ReadOnly بحيث لا يستطيع المستخدم التعديل عليها وبداخلها حرف الــ ح كما هو موضح بالصورة وبهذه الطريقة وصلنا للمطلوب

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

في خانه للقراءة فقط ولا يتدخل فيها المستخدم

 

 

post-46243-0-21871000-1370888889.jpg

تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 10 يونيو 2013 في 21:28

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#16

الاستاذ محمد   انا تعبت حضرتك

الهدف من المربع هو    كتابة درجات الطلاب  

 

اذا    يمكن كتابة ارقام   في حدود   من صفر  حتي  رقم معين وليكن 75

 

او   كتابة    غ   دليل  علي الغياب           

 

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

وعند كتابة ارقام  يكتب  رقم في  المدي  المحدد  

 

 

مطلوب   كتابة غ  فقط      او  ارقام في مدي  معين   

 

 

 

بحيث  اذا اراد  ان يكتب  حف غ9  لا يستطيع     او  9غ  لا يستطيع    وهو المطلوب

#17

اقترح ان تضيف حرف غ أو ح أو اي شيء من هذا القبيل في DropDownlist أي ComboBox لتفادي اخطاء الكتابة وليختار المستخدم الحرف الذي يريده ان يعطية للطالب

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#18

السلام عليكم
جرب أخي هذا الكود في الحدث
  KeyPress
 

Private Sub txtValeur_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtValeur.KeyPress
        Dim ValeurL As Array = Split(txtValeur.Text, "ح")
        If e.KeyChar = "ح" And ValeurL.Length <> 1 Then
            e.Handled = True
        End If

        Dim Vrgl As Array = Split(txtValeur.Text, ".")
        If e.KeyChar = "." And Vrgl.Length <> 1 Then
            e.Handled = True
        End If

        If (e.KeyChar < "0"c OrElse e.KeyChar > "9"c) AndAlso (e.KeyChar <> ControlChars.Back) AndAlso (e.KeyChar <> ".") AndAlso (e.KeyChar <> "ح") Then
            e.Handled = True
        End If
    End Sub

 

و أضف هذا الكود في الحدث TextChanged

 

Private Sub txtValeur_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtValeur.TextChanged
        If Val(txtValeur.Text) < 0 Or Val(txtValeur.Text) > 75 Then
            MsgBox("!!!! غير مسموح")
            txtValeur.Clear()
        End If
    End Sub

والسلام

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

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

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

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

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