تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
التأكد من وجود أرقام فقط فى string
#1
لدية كود به مربع أدخال مبلغ وأريد أن يكون المبلغ لا يشمل أى حروف أو + أو - أو / أو * أو مسافة أو أى شيئ بخلاف الأرقام والعلامة العشرية فقط 

الكود 
Dim smasseg As String

smasseg = XtraInputBox.Show("المبلغ المحصل", "تسليم نقدى", GridView2.GetFocusedRowCellValue("mtlob"))
If smasseg <> "" Then
    If smasseg = 0 And GridView2.GetFocusedRowCellValue("mdfoa") > 0 Then


        If XtraForm1.d86.Checked = False Then
            XtraMessageBox.Show("غير مصرح لك", "خطاء", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End If


        Dim sql1 = "Select * from syana_add where sid=N'" & (GridView2.GetFocusedRowCellValue("sid")) & "'"
        Dim adp1 As New SqlDataAdapter(sql1, sqlconn)
        Dim ds1 As New DataSet
        adp1.Fill(ds1)
        Dim dt1 = ds1.Tables(0)
        If dt1.Rows.Count > 0 Then
            Dim dr1 = dt1.Rows(0)
            '========= بيانات اساسية============
            dr1!gehazan = " قام ( " & XtraForm1.user_name.Text & " )" & "  بتسليم الجهاز إلى العميل " & GridView2.GetFocusedRowCellValue("sname") &
            dr1!smsaol = XtraForm1.user_name.Text

            dr1!mdfoa = Format(Val(dr1!mdfoa) + Val(smasseg), "0.00")
            dr1!mtlob = Format(Val(dr1!total_fatora) - Val(dr1!ksm) - Val(dr1!mdfoa), "0.00")
            dr1!on_out = "تم التسليم"
            dr1!dateout = Now.ToString("yyyy/MM/dd")
            dr1!timeout = Now.ToString("hh:mm")
            dr1!noa_thsel = "نقداً بالكامل"
            dr1!msaol_thsel = XtraForm1.user_name.Text
            dr1!msaol_tslem = XtraForm1.user_name.Text
            dr1!mdfoa_sabk = dr1!mdfoa
            dr1!tslem = 2
            dr1!estlam_tslem = "تم التسليم"
            dr1!hala_tslem = "تم التسليم"
            dr1!twasel = False
            dr1!tzker_twasel = False
            dr1!phone_kta = False
            dr1!rbh_ksara = Format(Val(dr1!mdfoa) - Val(dr1!msrofat), "0.00")
            If dr1!rbh_ksara > 0 Then
                dr1!ntega_nshat = "ربح"
            ElseIf dr1!rbh_ksara = 0 Then
                dr1!ntega_nshat = "توازن"
            ElseIf dr1!rbh_ksara < 0 Then
                dr1!ntega_nshat = "خسارة"
            End If
            Dim n = Format(Val(dr1!rbh_ksara) / Val(dr1!total_fatora), "0.00")

            dr1!nsba_rbh = Format(Val(n) * 100, "0")


            '============================

            Dim cmd1 As New SqlCommandBuilder(adp1)
            adp1.Update(dt1)
        End If

        ''============حفظ الحركة=============
        set_hrka(Now.Date, XtraForm1.store.Text, GridView2.GetFocusedRowCellValue("sid"), Now.Year, GridView2.GetFocusedRowCellValue("sname"), GridView2.GetFocusedRowCellValue("sphone"), GridView2.GetFocusedRowCellValue("snoa"), GridView2.GetFocusedRowCellValue("smarka"), Now, "تم تسليم الجهاز بواسطة    ( " & XtraForm1.user_name.Text & " )   ", XtraForm1.user_name.Text, "الصيانة")
        ''============تحديث البيانات=============
        fill_up_show()
        ''============أرسال الأشعارات=============
        set_ashar(Now, XtraForm1.store.Text, XtraForm1.user_name.Text, "الصيانة", "أشعار", "تم تسليم الجهاز الخاص بـ" & GridView2.GetFocusedRowCellValue("sname") & "   بواسطة  " & XtraForm1.user_name.Text & "", False, False, False)

        My.Computer.Audio.Play(My.Resources.suc, AudioPlayMode.Background)

        XtraMessageBox.Show("تم تسليم الجهاز ")


    ElseIf smasseg > 0 Then

        If XtraForm1.d86.Checked = False Then
            XtraMessageBox.Show("غير مصرح لك", "خطاء", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End If

        Dim adp = New SqlDataAdapter("select * from treasury_name where treasury_name=N'" & (XtraForm1.type_pay.Text) & "'", sqlconn)
        ds = New DataSet
        adp.Fill(ds)
        Dim dt = ds.Tables(0)
        Dim dr6 = dt.Rows(0)
        If smasseg < GridView2.GetFocusedRowCellValue("mtlob") Then
            XtraMessageBox.Show("لا يمكن تحصيل مبلغ أقل من المطلوب", "خطاء", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Exit Sub
        End If


        treasury_pay(XtraForm1.type_pay.Text, "الصيانة", Now.ToString("yyyy/MM/dd"), Now.ToString("hh:mmConfuseds:tt"), "استلام نقدية عن جهاز رقم " & GridView2.GetFocusedRowCellValue("sid") & GridView2.GetFocusedRowCellValue("sname"), XtraForm1.user_name.Text, Val(smasseg), 0, Val(dr6!balace) + Val(smasseg), GridView2.GetFocusedRowCellValue("sid"))

        dr6!balace = Val(dr6!balace) + Val(smasseg)

        Dim cmd6 As New SqlCommandBuilder(adp)
        adp.Update(dt)


        Dim sql1 = "Select * from syana_add where sid=N'" & (GridView2.GetFocusedRowCellValue("sid")) & "'"
        Dim adp1 As New SqlDataAdapter(sql1, sqlconn)
        Dim ds1 As New DataSet
        adp1.Fill(ds1)
        Dim dt1 = ds1.Tables(0)
        If dt1.Rows.Count > 0 Then
            Dim dr1 = dt1.Rows(0)
            '========= بيانات اساسية============
            dr1!gehazan = " قام ( " & XtraForm1.user_name.Text & " )" & "  تسليم الجهاز مقابل مبلغ قيمته " & smasseg & " جنيه  "
            dr1!smsaol = XtraForm1.user_name.Text

            dr1!mdfoa = Format(Val(dr1!mdfoa) + Val(smasseg), "0.00")
            dr1!mtlob = Format(Val(dr1!total_fatora) - Val(dr1!ksm) - Val(dr1!mdfoa), "0.00")
            dr1!on_out = "تم التسليم"
            dr1!dateout = Now.Date
            dr1!timeout = Now.ToString("hh:mm")
            dr1!noa_thsel = "نقداً بالكامل"
            dr1!msaol_thsel = XtraForm1.user_name.Text
            dr1!msaol_tslem = XtraForm1.user_name.Text
            dr1!mdfoa_sabk = dr1!mdfoa
            dr1!tslem = 2
            dr1!estlam_tslem = "تم التسليم"
            dr1!hala_tslem = "تم التسليم"
            dr1!twasel = False
            dr1!tzker_twasel = False
            dr1!phone_kta = False
            dr1!rbh_ksara = Format(Val(dr1!mdfoa) - Val(dr1!msrofat), "0.00")
            If dr1!rbh_ksara > 0 Then
                dr1!ntega_nshat = "ربح"
            ElseIf dr1!rbh_ksara = 0 Then
                dr1!ntega_nshat = "توازن"
            ElseIf dr1!rbh_ksara < 0 Then
                dr1!ntega_nshat = "خسارة"
            End If
            Dim n = Format(Val(dr1!rbh_ksara) / Val(dr1!total_fatora), "0.00")

            dr1!nsba_rbh = Format(Val(n) * 100, "0")


            '============================

            Dim cmd1 As New SqlCommandBuilder(adp1)
            adp1.Update(dt1)
        End If

        ''============حفظ الحركة=============
        set_hrka(Now.Date, XtraForm1.store.Text, GridView2.GetFocusedRowCellValue("sid"), Now.Year, GridView2.GetFocusedRowCellValue("sname"), GridView2.GetFocusedRowCellValue("sphone"), GridView2.GetFocusedRowCellValue("snoa"), GridView2.GetFocusedRowCellValue("smarka"), Now, "تم تسليم الجهاز نقدى بواسطة    ( " & XtraForm1.user_name.Text & " )   ", XtraForm1.user_name.Text, "الصيانة")
        ''============تحديث البيانات=============
        fill_up_show()
        ''============أرسال الأشعارات=============
        set_ashar(Now, XtraForm1.store.Text, XtraForm1.user_name.Text, "الصيانة", "أشعار", "تم تسليم الجهاز الخاص بـ" & GridView2.GetFocusedRowCellValue("sname") & "  نقدى بواسطة  " & XtraForm1.user_name.Text & "", False, False, False)




        My.Computer.Audio.Play(My.Resources.suc, AudioPlayMode.Background)
        XtraMessageBox.Show(" تم تسليم الجهاز وتحصيل مبلغ " & smasseg & " جنيه ")


    End If
    sr_Click(Nothing, Nothing)

End If


مرفق صورة بالمرفقات توضع المشكلة
الرد }}}
تم الشكر بواسطة:
#2
للتأكد من أن الإدخال في مربع النص (TextBox) يحتوي فقط على أرقام والعلامة العشرية (.) في فيجوال بيسك، يمكنك استخدام الحدث
كود :
KeyPress
للتحقق من كل حرف يتم إدخاله.
إليك الكود:
vb
نسخ الكود
كود :
Private Sub TextBox1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TextBox1.KeyPress
   ' السماح بالأرقام فقط والعلامة العشرية
   If Not Char.IsDigit(e.KeyChar) AndAlso e.KeyChar <> "." AndAlso Not Char.IsControl(e.KeyChar) Then
       e.Handled = True ' تجاهل الأحرف غير المسموح بها
   End If

   ' السماح بعلامة عشرية واحدة فقط
   If e.KeyChar = "." AndAlso TextBox1.Text.Contains(".") Then
       e.Handled = True
   End If
End Sub
الرد }}}
تم الشكر بواسطة:
#3
السلام عليكم كنت محتاج التحقق بعد كتابة النص وليس عند الضغط على المفتاح
الرد }}}
تم الشكر بواسطة:
#4
إذا كنت تريد نت محتاج التحقق بعد كتابة النص فعليك وضع زر جديد في الفورم ثم انقر عليه مرتين واكتب داخله الكود الذي أعطاك إياه الأخ aljzazy
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  القاعدة رغم وجود الباس وورد اصبحت لا تفتح atefkhalf2004 5 463 20-10-25, 10:24 AM
آخر رد: dr.programming
  القيام بعملية Insert بعد التأكد من عدم وجود السجل بالجدول صالح عبدالله 2 340 04-01-25, 03:56 PM
آخر رد: صالح عبدالله
  منع تكرار العناصر في داتا جيرد في حال وجود نفس العنصر والسعر سويا moh61 3 648 19-05-24, 02:40 PM
آخر رد: moh61
  [كود] مطلوب إضافة حقل بجدول بعد التأكد من عدم وجوده AmeenRashed 6 624 18-05-24, 02:35 AM
آخر رد: justforit
  كيفية جمع أرقام عمود فى الداتا جريد فيو بناءاً على بيانات معينة heem1986 5 825 25-02-24, 11:26 PM
آخر رد: heem1986
  مشكلة تعليق البرنامج في حال عدم وجود ماسح ضوئي متصل بالكمبيوتر صالح عبدالله 1 462 09-01-24, 10:51 PM
آخر رد: صالح عبدالله
  [سؤال] كود اظهار رساله في حال وجود الرقم في اكثر من عمود مبرمج صغير 1 6 946 09-01-24, 01:41 AM
آخر رد: Taha Okla
  [VB.NET] سوال حول convert bytes to string dubai.eig 13 1,925 26-06-23, 04:49 PM
آخر رد: joly
  عدم تشغيل (Debug) للبرنامج عند وجود خطأ atefkhalf2004 3 817 12-11-22, 11:15 AM
آخر رد: odai
  مشكلة كريستتال ريبورت عند وجود نسختين فيجوال علي الجهاز atefkhalf2004 6 1,675 25-10-22, 11:31 PM
آخر رد: mohamedat

التنقل السريع :


يقوم بقرائة الموضوع: