منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : خطأ فى التحويل من string الى int ؟
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاته

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

كود :
' حساب الغياب
    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 ) فكيف يمكن جعله فارغ لأن هذا هو المطلوب ؟
وعليكم السلام ورحمة الله وبركاته

بدل سطر الخطأ بالأمر التالي :
كود :
For i As Integer = 6 To[COLOR=#ff0000] If(e_ghyab_tot_tx.Text.Trim = "", 0, e_ghyab_tot_tx.Text.Trim)
[/COLOR]
النوع integer معروف أنه value Type وبالتالى لابد أن يحمل قيمة لن تستطيع تخزين null كقيمة عددية حيث انه يتم تخزينه فى ال stack وهى خصيصا للانواع ذات القيمة
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]

بارك الله فيك

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