![]() |
|
فيما يتعلق بالنتيجة الناجمة عن الفرق بين تاريخين - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : فيما يتعلق بالنتيجة الناجمة عن الفرق بين تاريخين (/showthread.php?tid=3697) |
فيما يتعلق بالنتيجة الناجمة عن الفرق بين تاريخين - hamou1982 - 16-12-2011 كيف حساب الخبرة بين تاريخين بالسنة والشهر والايام يجب ان تظهر النتيجة الحقول المعرفة في العملية الأولى العملية الأولى 1- عدد السنين المحصل عليه يظهر في الحقل An_01 2- عدد الشهور المحصل عليه يظهر في الحقل Mois1 3- عدد الايام المحصل عليه يظهر في الحقل Jour1 وهذه النتيجة قد وضعت له الكود الموجود بالمرفق الا انه عند التنفيذ تظهر رسالة خطأ تقول inversé les Dates SVP العملية الثانية تساوي كل سنة من نتيجة العملية الآولى تساوي 6 أشهر ويجب ان تظهر النتيجة في هاته الحقول 1- عدد السنين المحصل عليها في النتيجة الثانية يظهر بالحقل An_02 2- عدد الشهورالمحصل عليها في النتيجة الثانية يظهر بالحقل Mois2 3- عدد الأيام المحصل عليها في النتيجة الثانية يظهر بالحقل Jour2 العملية الثالثة نتيجة العملية الأولى + نتيجة العملية الثانية ويجب ان تظهر النتيجة في هاته الحقول 1- عدد السنين المحصل عليها في النتيجة الثالثة يظهر بالحقل An_03 2- عدد الشهورالمحصل عليها في النتيجة الثالثة يظهر بالحقل Mois3 3- عدد الايام المحصل عليها في النتيجة الثالثة يظهر بالحقل Jour3 العملية الرابعة تساوي حسب الشرط الناجم عن الحقل Mode_Calcule_IEP وهو اذا كان الحقل Mode_Calcule_IEP يساوي 'A' فالخبرة تساوي نتيجة العملية الثالثة مقسومة على 2 سنتين و 6 ستة اشهر توضع النتيجة في الحقل IEP_01 والباقي يوضع في الخانات الآتية يجب ان يظهر الباقي في هاته الحقول 1- عدد السنين المحصل عليها في النتيجة الرابعة يظهر بالحقل An_04 2- عدد الشهورالمحصل عليها في النتيجة الرابعة يظهر بالحقل Mois4 3- عدد الايام المحصل عليها في النتيجة الرابعة يظهر بالحقل Jour4 و اذا كان الحقل Mode_Calcule_IEP يساوي 'B' فالخبرة تساوي نتيجة العملية الثالثة مقسومة على 3 سنوات توضع النتيجة في الحقل IEP_02 والباقي يوضع في الخانات الآتية يجب ان يظهر الباقي في هاته الحقول 1- عدد السنين المحصل عليها في النتيجة الرابعة يظهر بالحقل An_05 2- عدد الشهورالمحصل عليها في النتيجة الرابعة يظهر بالحقل Mois5 3- عدد الايام المحصل عليها في النتيجة الرابعة يظهر بالحقل Jour5 و اذا كان الحقل Mode_Calcule_IEP يساوي 'C' فالخبرة تساوي نتيجة العملية الثالثة مقسومة على 3 سنوات و 3 أشهر توضع النتيجة في الحقل IEP_03 والباقي يوضع في الخانات الآتية يجب ان يظهر الباقي في هاته الحقول 1- عدد السنين المحصل عليها في النتيجة الرابعة يظهر بالحقل An_06 2- عدد الشهورالمحصل عليها في النتيجة الرابعة يظهر بالحقل Mois6 3- عدد الايام المحصل عليها في النتيجة الرابعة يظهر بالحقل Jour6 ملاحظة اذا كان ممكن احتاج الى كود لمشكلة Séparator للتاريخ كيف ما كتبته يقبله سواء كتبته باستعمال '/' او باستعمال '-' ووفقكم الله فيما يتعلق بالنتيجة الناجمة عن الفرق بين تاريخين - imadma - 16-12-2011 تم اطلع على المرفق فيما يتعلق بالنتيجة الناجمة عن الفرق بين تاريخين - hamou1982 - 17-12-2011 imadma كتب :تم عمل المطلوب شكرا اخي على الرد والإفادة وهذا هو المطلوب لكن بقي شيء واحد في العملية وهو يتعلق بالنتيجة الثالثة عندما تضع التاريخ الاول بـ 30/11/2011 والثاني 16/01/2006 النتيجة المحصل عليها هي 7 سنوات 16 شهر 14 يوم والمطلوب ان تكون التيجة 8 سنوات 04 اشهر 14 يوم بمعنى عندما يبلغ عدد الشهور 12 شهر يضاف الى عدد السنوات بسنة والباقي من الشهور يبقى في مكانه وجزاك الله عنا كل خير فيما يتعلق بالنتيجة الناجمة عن الفرق بين تاريخين - imadma - 17-12-2011 اضف ما يلي: كود : if Table1.Fieldvalues['Jour3']> 30 then
begin
Table1.Fieldvalues['Mois3']:= Table1.Fieldvalues['Mois3']+ Table1.Fieldvalues['Jour3'] div 30;
Table1.Fieldvalues['Jour3']:= Table1.Fieldvalues['Jour3'] mod 30;
end;
if Table1.Fieldvalues['Mois3']> 12 then
begin
Table1.Fieldvalues['An_03']:= Table1.Fieldvalues['An_03']+ Table1.Fieldvalues['Mois3'] div 12;
Table1.Fieldvalues['Mois3']:= Table1.Fieldvalues['Mois3'] mod 12;
end;يعد السطر كود : Table1.Fieldvalues['Jour3']:= Table1.Fieldvalues['Jour1']+Table1.Fieldvalues['Jour2'];فيما يتعلق بالنتيجة الناجمة عن الفرق بين تاريخين - hamou1982 - 18-12-2011 السلام عليكم ورحمة الله تعالى وبركاته اولا اشكرك جزيل الشكر وثانيا لقد اضفت حقل جديد في المرفق وهو تاريخ السريان للدرجة واسم الحقل هو Dt_Application هذا الحقل يخضع لشروط معينة الشرط الأول اذا كان المدة المتبقية المتمثل في الحقل An_04 اصغر من 0 والحقل Mois4 اصغر من 0 و الحقل Jour4 اصغر من 0 تكون نتيجة الحقل Dt_Application تساوي اليوم الأول من الشهر بعد التاريخ الموجود بالحقل DT_02 بمعنى اذا كان تاريخ الحقل DT_02 هو 31/12/2010 فالنتيجة تكون في الحقل Dt_Application هي 01/01/2011 الشرط الثاني اذا كانت النتيجة المتبقية اكبر من 0 واقصد الحقول An_04وMois4وJour4 فهنا تكون النتيجة كالاتي تخصم المدة المتبقية من التاريخ الموجود بالحقل DT_02 والمتمثل في 31/12/2010 وبعدها يوضع التاريخ المحصل عليه بعد الخصم يعني لو كانت النتيجة المتبقية في An_04 هي 01 وفي Mois4 هي 06 وفي Jour4 هي 00 يكون تاريخ Dt_Application يساوي 01/07/2009 المطلب الثاني وهو التعديل على المرفق حسب الطريقة التي بدأنا بها ثم قم بتعديل طريقة الحساب الموجودة بالإجراءات اعلى الوحدة كما يلي les fonction DT2,DT1 كل الشهور تكون عدد ايامها 30 يوما بدلا من ايامها الإفتراضية بمعنى لا يأخذ بعين الإعتبار الشهر الذي يحتوي على 31 يوما ولا الشهر الذي يحتوي على 28 او 29 يوم ووضع هذ التعذيل في ملف نصي وارفقه مع المرفق بعد التعديل لأنه على ما أظن ان هناك طريقتين للحساب الأولى كما هي في المرفق والثانية بالطريقة المطلوب تعديلها حسب 30 يوما لكل شهر وهاهو اعيد لك المرفق بما هو مضاف اليه للتعديل عليه من فضلك اخي وجزاك الله عنا كل خير فيما يتعلق بالنتيجة الناجمة عن الفرق بين تاريخين - hamou1982 - 18-12-2011 بالنسبة تعديل طريقة الحساب قانا افضل ان يكون هناك اختيار الطريقة بواسطة المكون CheckBox اي اذا كان المستعمل يفضل الطريقة الاولى فيكون الحساب بها واذا كان يفضل الطريقة الثانية فيكون الحساب بالطريقة الثانية وبهذه الحالة لاداعي للملف النصي ووفقك الله فيما يتعلق بالنتيجة الناجمة عن الفرق بين تاريخين - ali shaaban - 23-12-2011 السلام عليكم : والله مافهمة شي فيما يتعلق بالنتيجة الناجمة عن الفرق بين تاريخين - hamou1982 - 23-12-2011 ali shaaban كتب :السلام عليكم : ما هو الشيء الذي لم تفهمه وسأوضح لك |