منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[سؤال] مساعدة في سي شارب - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة السي شارب C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=175)
+--- قسم : قسم اسئلة C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=176)
+--- الموضوع : [سؤال] مساعدة في سي شارب (/showthread.php?tid=49376)

الصفحات: 1 2


مساعدة في سي شارب - سيد أحمد - 02-07-24

السلام عليكم
اريد مساعدة في إستدعاء دالة من كلاس الى تاكست بوكس اليكم الدالة مراد استدغائها 
 //C# IRG 2022 By BOUSSAID Mustafa 2022
        public static double IRG2022New(int TypeIRG, double Soumis)
        {
            //Variables
            const int T00 = 20000;
            const int T01 = 4600;
            const int T02 = 10800;
            const int T03 = 24000;
            const int T04 = 52800;
            double Irg = 0;

            double P = Math.Floor(Soumis / 10) * 10;
            if (Soumis <= 30009)
            {
                Irg = 0;
            }
            else
            {
                if (Soumis >= 30010 && Soumis <= 40000) { Irg = (P - T00) * 0.23; }
                else if (Soumis > 40000 && Soumis <= 80000) { Irg = (P - 40000) * 0.27 + T01; }
                else if (Soumis > 80001 && Soumis <= 160000) { Irg = (P - 80000) * 0.30 + T01 + T02; }
                else if (Soumis > 160001 && Soumis <= 320000) { Irg = (P - 160000) * 0.33 + T01 + T02 + T03; }
                else if (Soumis > 320000) { Irg = (P - 320000) * 0.35  + T01 + T02 + T03 + T04; }

                double Abat = Irg * 0.4;
                if (Abat < 1000) { Abat = 1000; }
                else if (Abat > 1500) { Abat = 1500; }
                Irg -= Abat;

                // 1= Normal 2= Handicape
                switch (TypeIRG)
                {
                    case 1: //---->Normal
                        if (Soumis < 35000) { Irg = (Irg * 137d / 51d) - (27925d / 8d); }
                        break;
                    case 2: //---->Handicape
                        if (Soumis < 42500) { Irg = (Irg * 93d / 61d) - (81213d / 41d); }
                        break;
                    default:
                        //Irg = Math.Round(Irg, 1);
                        break;
                }
                Irg = Math.Round(Irg, 1);
            }
            return Irg;
        }


RE: مساعدة في سي شارب - سيد أحمد - 05-07-24

السلام عليكم
شكرا لك على الرد أخي
ممكن مثال حي أنا جديد في برمجة


RE: مساعدة في سي شارب - Zuhare - 06-07-24

استدعاء الداله بترسل ليها رقمين الاول نوع int ويكون 0 او 1 او 2 والتاني double وهو الراتب ورح ترجع بقيمه من نوع double وهي الضريبه ويللي تحتاج تحوله الى نص ب ToString عشان تقدر تضعه في تاكست بوكس
كود :
textBox1.Text=IRG2022New(1,30010.00).ToString("N2");



RE: مساعدة في سي شارب - سيد أحمد - 06-07-24

لو تكرمت عليا بمثال أفضل أخي قلت لك أنا جديد في البرمجة


RE: مساعدة في سي شارب - Zuhare - 06-07-24

سيد أحمد ضع مشروعك لتعديله


RE: مساعدة في سي شارب - سيد أحمد - 06-07-24

هذا هو مثال أخي


RE: مساعدة في سي شارب - Zuhare - 06-07-24

تفضل اضغط دبل كليك على الزر وضع فيه هاد الكود
كود :
textBox2.Text = Class1.IRG2022New(1, Convert.ToDouble(textBox1.Text)).ToString("N2");
وادخل المبلغ 30010.00 في التاكس بوكس الاول وراح تحصل على 7.70 في التاكس التاني
N2 تقوم بوضع رقمين بعد الفاصله وConvert.ToDouble هاد لتحويل النص الموجود في التاكس بوكس الى رقم double


RE: مساعدة في سي شارب - سيد أحمد - 06-07-24

هذا مساج خرجلي


RE: مساعدة في سي شارب - Zuhare - 06-07-24

فين المساج؟ انا نسخت لك الكود من مشروعك.


RE: مساعدة في سي شارب - سيد أحمد - 06-07-24

هذه هي الصورة