21-01-2022, 08:06 PM
وماذا عن الضريبة لسنة 2022 هل من جديد لقد حاولت جاهدا أن أضع الكود وتوجد به أخطاء
procedure TfrmMain.Edit1Change(Sender: TObject);
var
SoumisAn, SoumisMens
ouble;
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;
end.
procedure TfrmMain.Edit1Change(Sender: TObject);
var
SoumisAn, SoumisMens
ouble;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;
end.

