مأخوذه من موضوع سابف عليك بتغيير قيم الدرجات الصحيجة
استدعاء الدالة
كود :
function Salaire_base(const _ech,_catg:string ): integer;
var i:Word;
_base, _iep:integer;
const
gri_new : array[1..18, 1..15] of Word =
(
( 0, 0, 0, 1, 2, 3, 4, 5, 6, 7 , 8, 9, 10 , 11 , 12),
( 1, 250, 0, 13, 35, 52, 70, 87, 104, 122, 139, 157, 174 , 191 , 209 ),
( 2, 269, 0, 14, 35, 52, 70, 87, 104, 122, 139, 157, 174 , 191 , 209 ),
( 3, 290, 0, 15, 35, 52, 70, 87, 104, 122, 139, 157, 174 , 191 , 209 ),
( 4, 313, 0, 16, 35, 52, 70, 87, 104, 122, 139, 157, 174 , 191 , 209 ),
( 5, 338, 0, 17, 35, 52, 70, 87, 104, 122, 139, 157, 174 , 191 , 209 ),
( 6, 365, 0, 19, 35, 52, 70, 87, 104, 122, 139, 157, 174 , 191 , 209 ),
( 7, 398, 0, 20, 35, 52, 70, 87, 104, 122, 139, 157, 174 , 191 , 209 ),
( 8, 429, 0, 221, 35, 52, 70, 87, 104, 122, 139, 157, 174 , 191 , 209 ),
( 9, 368, 0, 24, 35, 52, 70, 87, 104, 122, 139, 157, 174 , 191 , 209 ),
(10, 503, 0, 26, 45, 68, 91, 113, 136, 159, 181, 204, 227 , 249 , 272 ),
(11, 548, 0, 28, 50, 75, 100, 125, 149, 174, 199, 224, 249 , 274 , 299 ),
(12, 587, 0, 30, 54, 81, 109, 134, 161, 188, 215, 242, 269 , 295 , 322 ),
(13, 621, 0, 32, 58, 87, 116, 145, 173, 202, 231, 260, 289 , 318 , 347 ),
(14, 671, 0, 34, 62, 93, 124, 155, 186, 217, 248, 279, 311 , 342 , 373 ),
(15, 716, 0, 36, 67, 100, 133, 167, 200, 233, 266, 300, 333 , 366 , 400 ),
(16, 763, 0, 39, 71, 107, 143, 178, 214, 220, 285, 321, 357 , 392 , 428 ),
(17, 812, 0, 41, 76, 114, 152, 191, 229, 267, 305 ,343, 381 , 419 , 457 )
);
begin
for I := 1 to 18 do begin
if _catg=IntToStr(gri_new[i,1]) then
begin
_base:=(gri_new[i,2]*45);
_iep:=(gri_new[i, StrToInt(_ech) +3]*45);
Result := _base + _iep;
Break;
end;
end;
end;استدعاء الدالة
كود :
procedure TForm1.Button1Click(Sender: TObject);
begin
edit3.Text := FormatFloat('#,##0.00', Salaire_base(edit1.Text,edit2.Text ) );
end;

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