منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
خطأ فى التحويل من string الى int ؟ - نسخة قابلة للطباعة

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



خطأ فى التحويل من string الى int ؟ - a.amin - 27-10-12

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

أستخدم الكود التالى فى حساب درجة الغياب للموظفين

كود :
' حساب الغياب
    Private Sub tx_ghy_TextChanged(sender As Object, e As EventArgs) Handles e_ghyab_tot_tx.TextChanged
        Select Case Val(e_ghyab_tot_tx.Text)
            Case 1 : e_ghyab_deg_tx.Text = 24
            Case 2 : e_ghyab_deg_tx.Text = 20
            Case 3 : e_ghyab_deg_tx.Text = 14
            Case 4 : e_ghyab_deg_tx.Text = 6
            Case 5 : e_ghyab_deg_tx.Text = 0
            Case Else
                Dim count As Integer = 0
                Dim flag As Integer = 0
                For i As Integer = 6 To e_ghyab_tot_tx.Text
                    flag += 1
                    If flag = 1 Then
                        count += 6
                        flag = 0
                    End If
                Next
                e_ghyab_deg_tx.Text = count * -1
        End Select
    End Sub

والمشكلة هى اننى عندما انتقل الى موظف اخر اريده ان اقوم بتفريغ تكست بوكس الغياب ودرجة الغياب من المكتوب بهم فكتبت الامر التالى

كود :
e_ghyab_deg_tx.Clear
e_ghyab_tot_tx.Clear

تظهر الرسالة التالية ( الحل الذى توصلت اليه هو اننى بدلا من تفريغ التكست بوكس اكتب به 0 ) فكيف يمكن جعله فارغ لأن هذا هو المطلوب ؟



خطأ فى التحويل من string الى int ؟ - Osama_Ghareeb - 27-10-12

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

بدل سطر الخطأ بالأمر التالي :
كود :
For i As Integer = 6 To[COLOR=#ff0000] If(e_ghyab_tot_tx.Text.Trim = "", 0, e_ghyab_tot_tx.Text.Trim)
[/COLOR]



خطأ فى التحويل من string الى int ؟ - amgadtamer - 27-10-12

النوع integer معروف أنه value Type وبالتالى لابد أن يحمل قيمة لن تستطيع تخزين null كقيمة عددية حيث انه يتم تخزينه فى ال stack وهى خصيصا للانواع ذات القيمة


خطأ فى التحويل من string الى int ؟ - a.amin - 27-10-12

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

بدل سطر الخطأ بالأمر التالي :
كود :
For i As Integer = 6 To[COLOR=#ff0000] If(e_ghyab_tot_tx.Text.Trim = "", 0, e_ghyab_tot_tx.Text.Trim)
[/COLOR]

بارك الله فيك

بس ممكن توضح لى معنى الكود كى افهمه ؟



خطأ فى التحويل من string الى int ؟ - Osama_Ghareeb - 28-10-12

الأمر عبارة عن جملة شرط يقوم بالتحقق ما إذا كان صندوق النص فارغ أم لا فإذا تحقق الشرط أعاد الرقم 0 وإذا لم يتحقق أعاد قيمة صندوق النص