المشاركات : 259
المواضيع 44
:
: 27
الإنتساب : Sep 2010
الاخوة العاملين في حساب الاجرة و مطوري البرامج افادتنا في كيفية حساب الاجرة او النقطة الاستدلالية الجديدة 2022
وقل ربي زدني علماً
المشاركات : 384
المواضيع 69
:
: 148
الإنتساب : Dec 2008
غير فقط الرقم الاستدلالي
أو كيف كنت تعمل بها من قبل؟
كل من 1 user says قال شكرا ل ALG2009 على المشاركة المفيدة1 user says Thank You to ALG2009 for this post
• bouh25
المشاركات : 384
المواضيع 69
:
: 148
الإنتساب : Dec 2008
27-04-2022, 06:06 AM
(آخر تعديل لهذه المشاركة: 29-04-2022, 11:31 AM بواسطة ALG2009.)
مأخوذه من موضوع سابف عليك بتغيير قيم الدرجات الصحيجة
كود : 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;
المشاركات : 8
المواضيع 0
:
: 20
الإنتساب : Aug 2021
28-04-2022, 03:05 AM
(آخر تعديل لهذه المشاركة: 28-04-2022, 03:07 AM بواسطة bousaid.)
السلام عليكم
هذه دالة مختصرة أستخدمها دائماً في اكسال و وينداف تقوم بحساب الرقم الاستدلالي و جدول الأجر كاملا
قمت بتحويلها لدلفي و هي تعمل جيداً
كود : Function Indic(Categori:Integer): integer;
var
vals:Integer;
begin
If (Categori >= 11) And (Categori <= 17) then vals := 18
Else If (Categori >= 9) And (Categori <= 10) Then vals := 10
Else If (Categori >= 7) And (Categori <= 8) Then vals := 4
Else
vals := 0;
Result := vals + (Categori - 1) * 19 + 250 + (Categori - 2) * (Categori - 1);
End;
الاستخدام:
كود : procedure TTMSForm1.Button1Click(Sender: TObject);
var
v1: integer;
begin
v1 := strtoint(Edit1.Text);
Edit2.Text:= IntToStr(Indic(v1));
end;
كل من 1 user says قال شكرا ل bousaid على المشاركة المفيدة1 user says Thank You to bousaid for this post
• bouh25
المشاركات : 384
المواضيع 69
:
: 148
الإنتساب : Dec 2008
28-04-2022, 09:48 PM
(آخر تعديل لهذه المشاركة: 28-04-2022, 10:43 PM بواسطة ALG2009.)
يمكن إستخدام Case
كود : function TForm1.Indic(Categori: Integer): integer;
var val : Integer;
begin
case Categori of
11..17: val := 18;
9..10: val := 10;
7..8: val := 4;
else
val := 0;
end;
result := val + (Categori-1 ) * 19 + 250 + (Categori - 2) * (Categori - 1);
end ;
المناداه
كود : procedure Form1.Button1Click(Sender: TObject);
begin
Edit2.Text:=inttostr(indic(StrToInt(Edit1.Text)));
end;
كل من 1 user says قال شكرا ل ALG2009 على المشاركة المفيدة1 user says Thank You to ALG2009 for this post
• bouh25
المشاركات : 259
المواضيع 44
:
: 27
الإنتساب : Sep 2010
(27-04-2022, 06:06 AM)ALG2009 كتب : مأخوذه من موضوع سابف عليك بتغيير قيم الدرجات الصحيجة
كود : function Salaire_base(const _ech,_catg:string ): integer;
الدالة تعطيني خطا حتى اقوم بتغيير المصفوفة الى gri_new : array[1.. 18, 1..15] عوض 10 وذلك منطقي لان المصفوفة فيها 18 سطر
او ان لم افهم المصفوفة وشكرا الاخ ALG2009
وقل ربي زدني علماً
المشاركات : 384
المواضيع 69
:
: 148
الإنتساب : Dec 2008
لقد أصبت كما قلت الخطأ في gri_new : array[1..18, 1..15] of Word =
لقد عدلت على المشاركة السابقة
كل من 1 user says قال شكرا ل ALG2009 على المشاركة المفيدة1 user says Thank You to ALG2009 for this post
• bouh25
المشاركات : 259
المواضيع 44
:
: 27
الإنتساب : Sep 2010
بالنسبة للدالة للاخ bousaid بالنسبة للانديس يجب توفر قيمتين وهما السلم والدرجة اضن ان الدالة ناقصة
وقل ربي زدني علماً
المشاركات : 8
المواضيع 0
:
: 20
الإنتساب : Aug 2021
(30-04-2022, 07:07 PM)bouh25 كتب : بالنسبة للدالة للاخ bousaid بالنسبة للانديس يجب توفر قيمتين وهما السلم والدرجة اضن ان الدالة ناقصة
هل جربتها حتى تحكم عليها بالنقصان ؟
الدالة تحسب الرقم الاستدلالي للصنف ... و لا تتطلب وجود قيمتين
المشاركات : 259
المواضيع 44
:
: 27
الإنتساب : Sep 2010
عندما يكون عندك موظف مثالا الدرجة 12 و السلم 7 و آخر في نفس الدرجة 12 و السلم 5
كيف تقوم بادخال هذه البيانات ؟؟
وقل ربي زدني علماً
|