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


الشريحة الاخيرة عليها خلاف (اكبر 75000) المفروض ان تكون اكبر من 60000 لان هناك 15000 معفاة
وكذلك هناك تسلسل منطقي للحساب مفقود في هذا النظام , المفروض لا يتم الانتقال من شريحة الى شريحة حتى يكتمل نصاب الشريحة (شرائح صغيرة بخصم كبير و شرائح كبيرة بخصم صغير ) لا يوجد الية واضحة للحساب (عباقرة المالية  Big Grin )
-------------------------------------------------------------------------------
على اي حال صديقي هذا التعديل وفق المطلوب
اضف صناديق نصوص الى النموئج السابق (من t1 الى t8) بحيث تتوافق مع عدد الشرائح



انسخ الكود وضعه لديك

كود :
 Dim Salary As Integer = Nothing
   Dim NewSalary As Integer = Nothing


   Private Sub btnExc_Click(sender As Object, e As EventArgs) Handles btnExc.Click
       Salary = If(Int32.TryParse(txtSalary.Text.ToString, 0), txtSalary.Text.ToString, 0)
       If Salary < 15000 Then
           MsgBox("لايمكن ان يكون الراتب اقل من 15000")
           ClearAll()
           txtSalary.Focus()
           Exit Sub
       End If

       NewSalary = Salary - 15000       'اول 15000 معفاة

       Select Case NewSalary
           Case <= 5000                  'شريحة اولى على 5000 بخصم 5
               t1.Text = NewSalary * 0.05
               ZeroTxt({"t2", "t3", "t4", "t5", "t6", "t7", "t8"})

           Case 5001 To 10000        'شريحة ثانية على 5000 بخصم 7
               t1.Text = 250
               NewSalary -= 5000
               t2.Text = NewSalary * 0.07
               ZeroTxt({"t3", "t4", "t5", "t6", "t7", "t8"})

           Case 10001 To 15000        'شريحة ثالثة على 5000 بخصم 9
               t1.Text = 250
               t2.Text = 350
               NewSalary -= 10000
               t3.Text = NewSalary * 0.09
               ZeroTxt({"t4", "t5", "t6", "t7", "t8"})

           Case 15001 To 23000     'شريحة رابعة على 8000 بخصم 11
               t1.Text = 250
               t2.Text = 350
               t3.Text = 550
               NewSalary = NewSalary - 15000
               t4.Text = NewSalary * 0.11
               ZeroTxt({"t5", "t6", "t7", "t8"})

           Case 23001 To 35000     'شريحة خامسة على 12000 بخصم 13
               t1.Text = 250
               t2.Text = 350
               t3.Text = 550
               t4.Text = 880
               NewSalary = NewSalary - 27000
               t5.Text = NewSalary * 0.13
               ZeroTxt({"t6", "t7", "t8"})

           Case 35001 To 50000     'شريحة سادسة على 15000 بخصم 16
               t1.Text = 250
               t2.Text = 350
               t3.Text = 550
               t4.Text = 880
               t5.Text = 1560
               NewSalary = NewSalary - 35000
               t6.Text = NewSalary * 0.16
               ZeroTxt({"t7", "t8"})

           Case 50001 To 60000     'شريحة سابعة على 10000 بخصم 19
               t1.Text = 250
               t2.Text = 350
               t3.Text = 550
               t4.Text = 880
               t5.Text = 1560
               t6.Text = 2400
               NewSalary = NewSalary - 50000
               t7.Text = NewSalary * 0.19
               ZeroTxt({"t8"})

           Case > 60000     'شريحة اخيرة اكبر من 60000 بخصم 22
               t1.Text = 250
               t2.Text = 350
               t3.Text = 550
               t4.Text = 880
               t5.Text = 1560
               t6.Text = 2400
               t7.Text = 1900
               NewSalary = NewSalary - 60000
               t8.Text = (NewSalary * 0.22)
       End Select

       txtTotalDiscount.Text = Val(t1.Text) + Val(t2.Text) + Val(t3.Text) + Val(t4.Text) + Val(t5.Text) + Val(t6.Text) + Val(t7.Text) + Val(t8.Text)
       txtResult.Text = Salary - Val(txtTotalDiscount.Text)

   End Sub

   Private Sub btnNew_Click(sender As Object, e As EventArgs) Handles btnNew.Click
       ClearAll()
   End Sub


   Private Sub ClearAll()
       For Each ctrl As Control In GroupBox1.Controls
           If TypeOf (ctrl) Is TextBox Then
               ctrl.Text = String.Empty
           End If
       Next
       txtSalary.Focus()
   End Sub


   Private Sub ZeroTxt(ControlsNames As String())
         For Each ctrl As Control In GroupBox1.Controls
           If TypeOf (ctrl) Is TextBox Then
               If ControlsNames.Contains(ctrl.Name) Then
                   ctrl.Text = 0
               End If
           End If
       Next
   End Sub

   Private Sub txtSalary_KeyPress(sender As Object, e As KeyPressEventArgs) Handles txtSalary.KeyPress
       If Char.IsDigit(e.KeyChar) = False And Char.IsControl(e.KeyChar) = False Then
           e.Handled = True
       End If
   End Sub
بالتوفيق اخي
سؤال:هل تعمل محاسب في دائرة حكومية
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد }}}
تم الشكر بواسطة: asemshahen5 , EMADSSS , ابو روضة , ابو روضة


الردود في هذا الموضوع
RE: مشروع احتساب الضريبة على الراتب - بواسطة ابو ليلى - 29-11-19, 04:46 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [مشروع] مشروع لاضافة رسم بيانى محتاج التدخل لاصلاحه dr.programming 0 223 09-11-25, 01:48 AM
آخر رد: dr.programming
  [VB.NET] مشروع للاستأناس EMADW 3 543 02-04-25, 04:20 PM
آخر رد: princelovelorn
  [VB.NET] اذا ممكن مشروع ادارة مدرسة بدر إشتية 4 8,543 08-02-25, 02:05 AM
آخر رد: الورد2
  كيفية احتساب الفرق بين تاريخين بناء على عدد معين مصمم هاوي 2 558 15-01-25, 02:02 PM
آخر رد: مصمم هاوي
  [VB.NET] مساعدة في مشروع ZEEN4ZEEN 0 256 12-01-25, 06:03 PM
آخر رد: ZEEN4ZEEN
  مساعدة فى حفظ مشروع برنامج الى ضيغة apk م / وليد تيتو 1 375 03-11-24, 05:27 PM
آخر رد: Taha Okla
  مشروع اكمال ساعة المسجد اجر للجميع altoki939 0 291 30-10-24, 09:49 PM
آخر رد: altoki939
  [سؤال] افضل الطرق في تحزيم مشروع بقواعد SQL محمد العامر 5 573 23-10-24, 11:19 AM
آخر رد: محمد العامر
  [نقاش] منتجات شاملة الضريبة او غير شاملة h2551996 2 352 24-06-24, 08:46 PM
آخر رد: Taha Okla
  [سؤال] عند بدأ مشروع جديد غير قادر على روئية الـForm1 ABDULLAH HASSAN 1 439 30-04-24, 12:22 AM
آخر رد: Jounior_P

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


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