25-01-2022, 12:57 PM
إقتباس :وماذا عن الضريبة لسنة 2022 هل من جديد لقد حاولت جاهدا أن أضع الكود وتوجد به أخطاء
السلام عليكم و رحمة الله
يبدو انها اخطاء طفيفة في الجزء المتعلق بتعريف المتغيرات...
يعمل عندي على دلفي 7 و دلفي 11
الأوامر بعد التصحيح الطفيف...
PHP كود :
procedure TForm1.Edit1Change(Sender: TObject);
var
SoumisAn, SoumisMensBig, SoumisMens, Grinouble, S2, S3, S4, S5, s6: Double;
IRGAn, IRGMoisSansAbat, IRGMois, Irg1, Irg2, Irg3, Irg4, Irg5: Double;
Abat40, AbatCasPart: Double;
begin
/// Initialisation des variables
S2 := 0;
S3 := 0;
S4 := 0;
S5 := 0;
Irg1 := 0;
Irg2 := 0;
Irg3 := 0;
Irg4 := 0;
Irg5 := 0;
Abat40 := 0;
AbatCasPart := 0;
IRGMois := 0;
IRGAn := 0;
IRGMoisSansAbat := 0;
/// ///////////////////////////////
If Edit1.Text <> '' Then
Begin
SoumisMens := StrToFloat(Edit1.Text);
SoumisAn := SoumisMens * 12;
If SoumisAn <= 360000 then
IRGMois := 0
Else
begin
/// / Calcul des fractions S1, S2, S3, S4, S5, S6 imposabales
If SoumisAn <= 480000 then
S2 := SoumisAn - 240000
else
begin
S2 := 240000;
if SoumisAn <= 960000 then
S3 := SoumisAn - 480000
Else
begin
S3 := 480000;
If SoumisAn <= 1920000 then
S4 := SoumisAn - 960000
Else
begin
S4 := 960000;
if SoumisAn <= 3840000 then
S5 := SoumisAn - 1920000
Else
begin
S5 := 1920000;
s6 := SoumisAn - 3840000;
end;
end;
end;
end;
/// // Calcul Fraction X Taux
Irg1 := S2 * 23 / 100;
Irg2 := S3 * 27 / 100;
Irg3 := S4 * 30 / 100;
Irg4 := S5 * 33 / 100;
Irg5 := s6 * 35 / 100;
/// /// Somme Des (Fraction X taux)
IRGAn := Irg1 + Irg2 + Irg3 + Irg4 + Irg5;
IRGMoisSansAbat := IRGAn / 12;
/// //// calcul du 1er abattement 40%
Abat40 := IRGMoisSansAbat * 40 / 100;
If Abat40 > 1500 then
Abat40 := 1500;
If Abat40 < 1000 then
Abat40 := 1000;
IRGMois := IRGMoisSansAbat - Abat40;
/// /// calcul du 2ème abattement du 30.000,00 au 35.000,00
If (SoumisMens > 30000) And (SoumisMens < 35000) then
IRGMois := (IRGMoisSansAbat - Abat40) * (137 / 51) - (27925 / 8);
/// / calcul du 2ème abattement cas handiapés du 30.000,00 au 42.500,00
If (SoumisMens > 30000) And (SoumisMens < 42500) then
AbatCasPart := (IRGMoisSansAbat - Abat40) * (93 / 61) - (81213 / 41)
else
AbatCasPart := IRGMois;
end;
Edit2.Text := FloatToStrF(IRGMois, ffNumber, 15, 1) + '0';
Edit3.Text := FloatToStrF(AbatCasPart, ffNumber, 15, 1) + '0';
end;
end;
التجربة علي الملف المحمل من موقع الوزارة:



![[-]](https://delphi4arab.net/forum/D4A2020/collapse.png)