delphi4arab منتديات دلفي للعرب

نسخة كاملة : حساب العمر
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم

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

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

جرب هذا :
كود :
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 تعطي الفرق بين تاريخين بالسنوات فقط (عدد صحيح).
(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
الخ...
هذا كود باسكال وليس دلفي ولقد تم تعديله بهذا الشكل
كود :
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;
لا تنسى في الأعلى في USES تصرح بـ DateUtils لكي يتعرف الدلفي على التعليمة EncodeDate