منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
اريد كود يعطيني عدد مرات تكرار حرف معين ضمن نص موجود في textbox - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : اريد كود يعطيني عدد مرات تكرار حرف معين ضمن نص موجود في textbox (/showthread.php?tid=39672)



اريد كود يعطيني عدد مرات تكرار حرف معين ضمن نص موجود في textbox - mh66 - 11-10-21

السلام عليكم

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

لكن اذا ادخل المستخدم للبرنامج القيمة التالية مثلا 9999..99 

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

اريد كود يعيد عدد مرات تكرار النقطة اذا كان اكبر من واحد تظهر رسالة 


شكرا

الطلب الثاني لو سمحتم تعديل الكود التالي ليسمح بكتابة النقطة

If Not Char.IsNumber(e.KeyChar) And Not Char.IsControl(e.KeyChar) Then e.Handled = True


RE: اريد كود يعطيني عدد مرات تكرار حرف معين ضمن نص موجود في textbox - ابو انس - 12-10-21

وعليكم السلام 
الكود التالي لمنع كتابة اي شيء في التيكست بوكس باستثناء الارقام والفاصلة بنوعيها وطبعا انت تستطيع التعديل عليه ويجب ان يكون في حدث KEYPRESS
كود :
 If (e.KeyChar < "0" OrElse e.KeyChar > "9") AndAlso e.KeyChar <> ControlChars.Back AndAlso e.KeyChar <> "." AndAlso e.KeyChar <> "," Then
          e.Handled = True
      End If
  

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

كود :
dim a as integer
    For i As Integer = 0 To TextBox1.TextLength - 1
           If TextBox1.Text.Chars(i) = "." Then
               a += 1
           End If
       Next
       If a > 2 Then
           MsgBox("الفاصلة مكررة")
       End If



RE: اريد كود يعطيني عدد مرات تكرار حرف معين ضمن نص موجود في textbox - mh66 - 12-10-21

شكرا جزيلا وفقك الله

ان اضع الكود التالي في Keypress

Dim KeyAscii As Short = Asc(eventArgs.KeyChar)
       If KeyAscii = 13 Then
           Button7.Focus()
       End If

وعندما قمت بلصق الكود الذي اعطيتني اياه تحته  ظهر خط احمر تحت حرف e
فقمت بوضع الكود الذي اعطيتني اياه مشكرا في TextChanged
هل يمكن جمع الكودين معا

شكرا وفقك الله


RE: اريد كود يعطيني عدد مرات تكرار حرف معين ضمن نص موجود في textbox - ابو انس - 12-10-21

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


RE: اريد كود يعطيني عدد مرات تكرار حرف معين ضمن نص موجود في textbox - mh66 - 12-10-21

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


Dim KeyAscii As Short = Asc(eventArgs.KeyChar)
      If KeyAscii = 13 Then
          Button7.Focus()
      End If

وظيفته الانتقال لخانة اخرى عند الضغط على زر الانتر

وبعد اضافة كودك اول اصبح الكود الكامل في Keypress



Dim KeyAscii As Short = Asc(eventArgs.KeyChar)
      If KeyAscii = 13 Then
          Button7.Focus()
      End If

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

عندها ظهر الخطأ


RE: اريد كود يعطيني عدد مرات تكرار حرف معين ضمن نص موجود في textbox - ابو انس - 12-10-21

انا جربت ان اضع كودي وكودك في نفس الحدث مع تعديل بسيط على كودك ونجح الامر بدون مشاكل
كود :
 Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress

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

       Dim KeyAscii As Short = Asc(e.KeyChar)
       If KeyAscii = 13 Then
           Button1.Focus()
       End If
   End Sub



RE: اريد كود يعطيني عدد مرات تكرار حرف معين ضمن نص موجود في textbox - mh66 - 12-10-21

تمام وفقك الله وزادك الله علما


RE: اريد كود يعطيني عدد مرات تكرار حرف معين ضمن نص موجود في textbox - ابو انس - 12-10-21

اهلا وسهلا ... على الرحب والسعة