تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] مشكلة 1 بتنسيق الرقم
#1
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته

واجهتني بعض المشاكل حول موضوع تنسيق الرقم

المشكلة رقم 1
عندما لا تكون هناك قيمة للحقل، تظهر رسالة خطأ
Conversion from string "" to type 'Double' is not valid.

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

كود :
Private Sub txt_Shra_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txt_Shra.LostFocus
        Dim x As String
        x = txt_Shra.Text

        txt_Shra.BackColor = Color.White

        If Not IsNothing(x) Then
            txt_Shra.Text = FormatNumber(txt_Shra.Text, 2)
        End If

        show_rabeh()
    End Sub

ارجو تصويب الكود
والف شكر


الملفات المرفقة صورة/صور
   
الرد }}}
تم الشكر بواسطة:
#2
السلام عليكم ورحمة الله وبركاته

فقط ضع txt_Shra.Text داخل الدالة Val كالتالي
كود :
txt_Shra.Text = FormatNumber(Val(txt_Shra.Text), 2)


السلام عليكم ورحمة الله وبركاته
الرد }}}
تم الشكر بواسطة: sooriaty03 , kafi2030
#3
شكر ا اخي ابو رائد
على اجابتك

ما تفضلت به حضرتك ...نجح في منع ظهور الرسالة

ولكن كنت احب ان اعرف اي الخطأ فيما كتبت من كود
كود :
Private Sub txt_Shra_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txt_Shra.LostFocus
        Dim x As String
        x = txt_Shra.Text

        txt_Shra.BackColor = Color.White

        If Not IsNothing(x) Then
            txt_Shra.Text = FormatNumber(Val(txt_Shra.Text), 0)
        End If
        
    End Sub

فانا من خلال الكود المدكور اعلاه، اريد ان لا يحدث اي شي للحقل ( اي اجراء تنسيق له) في حال كان لا يحوي على قيمة

اي بمعنى اخر.......ادا الحقل فارغ .....فعند فقد التركيز عنه .....اريده ان يبقى فارغ
وان كان بالحقل قيمة مثل 12500.......... فهنا ان يتم تنسيقها الى 12،500.00

ارجو المساعدة في تصويب الكود في ضوء ما اشرت اليه


والف شكر
الرد }}}
تم الشكر بواسطة:
#4
السلام عليكم ورحمة الله وبركاته


أولا بما أنه حقل رقمي يفترض أن لا يبقى فارغاً بل يكون صفراً إلى فقد التركيز.

ثانياً تفضل الكود حسب طلبك (صالح لأي مربع نص يستخدم كرقم بدون تعديل الكود الداخلي)
كود :
Private Sub TextBox1_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.LostFocus
    If sender.Text.Trim <> "" Then
        sender.Text = FormatNumber(Val(sender.Text), 2)
    End If
End Sub

السلام عليكم ورحمة الله وبركاته
الرد }}}
تم الشكر بواسطة: sooriaty03 , kafi2030
#5
الف شكر
اخي ابو رائد
على ماتفضلت به

نعم هدا ما اردته

بارك الله فيك
الرد }}}
تم الشكر بواسطة:



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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم