![]() |
|
كيف ترجمة هذا الماكرو الى الديلفي - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : كيف ترجمة هذا الماكرو الى الديلفي (/showthread.php?tid=7931) |
كيف ترجمة هذا الماكرو الى الديلفي - bouh25 - 13-06-2016 كيف ترجمة هذا الماكرو الى الديلفي كود : Function IRG(SOUMIS)
Dim BRTS, TAX, TB, IMPAN, IMPOTA, IMPM, ABAT, RET, RTS1, ABAT1 As Single
SOUMIS = SOUMIS / 10
SOUMIS = Fix(SOUMIS)
SOUMIS = SOUMIS * 10
BRTS = SOUMIS * 12
If BRTS >= 0 And BRTS < 120000 Then
TAX = 0
IMPAN = 0
TB = 0
ElseIf BRTS >= 120000 And BRTS < 360000 Then
TAX = 20
IMPAN = 0
TB = 120000
ElseIf BRTS >= 360000 And BRTS < 1440000 Then
TAX = 30
IMPAN = 48000
TB = 360000
ElseIf BRTS >= 1440000 And BRTS < 9999999 Then
TAX = 35
IMPAN = 372000
TB = 1440000
ElseIf BRTS >= 9999999 Then
TAX = 0
IMPAN = 3367999.65
TB = 9999999
End If
IMPOTA = ((BRTS - TB) * TAX / 100) + IMPAN
IMPM = IMPOTA / 12
ABAT = ((40 * IMPM) / 100)
ABAT1 = ABAT
If ABAT < 1000 Then
ABAT = 1000
ElseIf ABAT > 1500 Then
ABAT = 1500
ElseIf ABAT >= 1000 And ABAT <= 1500 Then
ABAT = ABAT
End If
RET = IMPM - ABAT
If RET < 0 Then
RET = 0
ElseIf RET >= 0 Then
RET = RET
End If
IRG = RET
End Function
Sub CalculeIRG()
End SubRE: كيف ترجمة هذا الماكرو الى الديلفي - bouh25 - 21-06-2016 اشكر كل من اطلع على الكود و لم يرد البرنامج عبارة عن قيمية الضريبة على الدخل في الاجر - الجزائر - لقد وجدت الحل ------------------------------------------------------------------------------ function IRG(SOUMIS: Single): Single; var BRTS, TAX, TB, IMPAN, IMPOTA, IMPM, ABAT, RET: Single; begin SOUMIS := SOUMIS / 10; SOUMIS := Sign(SOUMIS) * Int(Abs(SOUMIS)); SOUMIS := SOUMIS * 10; BRTS := SOUMIS * 12; if (BRTS >= 0) and (BRTS < 120000) then begin TAX := 0; IMPAN := 0; TB := 0; end else if (BRTS >= 120000) and (BRTS < 360000) then begin TAX := 20; IMPAN := 0; TB := 120000; end else if (BRTS >= 360000) and (BRTS < 1440000) then begin TAX := 30; IMPAN := 48000; TB := 360000; end else if (BRTS >= 1440000) and (BRTS < 9999999) then begin TAX := 35; IMPAN := 372000; TB := 1440000; end else begin TAX := 0; IMPAN := 3367999.65; TB := 9999999; end; IMPOTA := ((BRTS - TB) * TAX / 100) + IMPAN; IMPM := IMPOTA / 12; ABAT := ((40 * IMPM) / 100); if ABAT < 1000 then ABAT := 1000 else if ABAT > 1500 then ABAT := 1500; RET := IMPM - ABAT; if RET < 0 then RET := 0; Result := RET; end; RE: كيف ترجمة هذا الماكرو الى الديلفي - Mr.DOS - 22-06-2016 السلام عليكم - رمضان كريم تأكد من السطر رفم 6 (Sign(SOUMIS كود : SOUMIS := Sign(SOUMIS) * Int(Abs(SOUMIS));RE: كيف ترجمة هذا الماكرو الى الديلفي - bouh25 - 22-06-2016 قمت بتجربته و الدالة تعمل 10/10 تقوم باضاعة المكتبة Uses Math |