delphi4arab منتديات دلفي للعرب
حساب العمر - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : حساب العمر (/showthread.php?tid=13004)



حساب العمر - سليم 2024 - 20-10-2025

السلام عليكم

كيف احول العمر ابتدا من اليوم والشهر والسنة الي رقم  حيث مثلا مواليد 15/04/1980 الي الي هذا اليوم 20/10/2025 وليكن عمرة مثلا 45 لااريد يظهر معة اليوم والشهر والسنة في النتيجة

فقد نقصت تاريخ العام من تاريخ الميلاد ظهر معة اليوم والشهر والقرن 1945 بدل 45


RE: حساب العمر - لؤي - 20-10-2025

السلام عليكم 

جرب هذا :
كود :
uses   SysUtils, DateUtils; var   BirthDate, Today: TDateTime;   Age: Integer; begin   BirthDate := EncodeDate(1980, 4, 15); // تاريخ الميلاد (سنة، شهر، يوم)   Today := Date;                        // تاريخ اليوم الحالي   Age := YearsBetween(Today, BirthDate); // حساب الفرق بالسنوات فقط   Writeln('العمر هو: ', Age); end.

الدالة YearsBetween من وحدة DateUtils تعطي الفرق بين تاريخين بالسنوات فقط (عدد صحيح).


RE: حساب العمر - سليم 2024 - 20-10-2025

(20-10-2025, 09:16 AM)لؤي كتب : السلام عليكم 

جرب هذا :
كود :
uses   SysUtils, DateUtils; var   BirthDate, Today: TDateTime;   Age: Integer; begin   BirthDate := EncodeDate(1980, 4, 15); // تاريخ الميلاد (سنة، شهر، يوم)   Today := Date;                        // تاريخ اليوم الحالي   Age := YearsBetween(Today, BirthDate); // حساب الفرق بالسنوات فقط   Writeln('العمر هو: ', Age); end.

الدالة YearsBetween من وحدة DateUtils تعطي الفرق بين تاريخين بالسنوات فقط (عدد صحيح).

اين اضع هذة المكونات في BOTTOM او اي حدث من الفورم فياريت اخي توضح اكثر وضعها في BOTTOM كي نشوف التغير في باقي الاقسام مثل قسم التعريف VAR والتغير في قسم Impementation اذا كان هناك تغير وقسم user
الخ...


RE: حساب العمر - سليم 2024 - 21-10-2025

هذا كود باسكال وليس دلفي ولقد تم تعديله بهذا الشكل
كود :
Procedure TFORM1.BUTTON1CLICK(SENDER:TOBJECT); var   BirthDate, Today: TDateTime;   Age: Integer; begin   BirthDate := EncodeDate(1980, 4, 15); // تاريخ الميلاد (سنة، شهر، يوم)   Today := Date;                        // تاريخ اليوم الحالي   Age := YearsBetween(Today, BirthDate); // حساب الفرق بالسنوات فقط Showmessage('العمر هو: '+inttostr( Age)); end;



RE: حساب العمر - Embarcadero.XE - 28-10-2025

لا تنسى في الأعلى في USES تصرح بـ DateUtils لكي يتعرف الدلفي على التعليمة EncodeDate