السلام عليكم
كيف احول العمر ابتدا من اليوم والشهر والسنة الي رقم حيث مثلا مواليد 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