25-09-2009, 11:58 PM
26-09-2009, 10:45 AM
و عليكم السلام و رحمة الله و بركاته
إستخدم DeCodeDate/EnCodeDate .
بالتوفيق ,,
إستخدم DeCodeDate/EnCodeDate .
PHP كود :
procedure TForm1.Button1Click(Sender: TObject);
Var
Date:TDate;
J,M,A:Word;
begin
Try
Date:=StrToDate(MaskEdit1.Text);
DeCodeDate(Date,A,M,J);
Edit1.Text:=IntToStr(J);
Edit2.Text:=IntToStr(M);
Edit3.Text:=IntToStr(A);
Except
On E:Exception Do
ShowMessage(E.Message);
End;
end;
بالتوفيق ,,
26-09-2009, 11:54 AM
بارك الله فك
لكن لماذا استعملت maskedit1.text فانا استعمل datetimepicker لكن .date لم تنجح
لكن لماذا استعملت maskedit1.text فانا استعمل datetimepicker لكن .date لم تنجح
26-09-2009, 12:15 PM
لم تنجح ؟؟ ممكن تضع الطريقة التي إعتمدتها .
26-09-2009, 12:36 PM
اخي الكريم ساشرح لك ما اود القيام به
لدي datetimepicker1 حيث اختار فيه تاريخ ميلاد شخص معين ولدي label3 اضع فيه عمر الشخص وطبعا لحساب عمر الشخص تعمل مقارنة بين سنة ميلاد الشخص المووجودة في datetimepicker والتاريخ الموجود في النظام.وتاريخ النظام موجود في label1 .
جربت هذه الطريقة لكن عند ادخال اي تاريخ تظهر الرسالة الاخيرة فقط.
لدي datetimepicker1 حيث اختار فيه تاريخ ميلاد شخص معين ولدي label3 اضع فيه عمر الشخص وطبعا لحساب عمر الشخص تعمل مقارنة بين سنة ميلاد الشخص المووجودة في datetimepicker والتاريخ الموجود في النظام.وتاريخ النظام موجود في label1 .
جربت هذه الطريقة لكن عند ادخال اي تاريخ تظهر الرسالة الاخيرة فقط.
كود :
var
date,an,anNais:string;
age:integer;
begin
if not(DateTimePicker1.Color=clred) then
try
an:=copy(datetostr(now),7,4);
anNais:=copy(datetimepicker1.Format,7,4) ;
age:=strtoint(an)-strtoint(anNais);
label3.Caption:=inttostr(age);
except
begin
ShowMessage('Date de naissance incorrecte');
DateTimePicker1.SetFocus
end;
end;26-09-2009, 01:27 PM
1- يعني شوف سؤالك الأول :
كيف استطيع ان استخرج السنة وحدها من datetimepicker وكذلك اليوم والشهر لاستعمالهم في حسابات اخرى وشكراااا .
- جاوبتك على قدره كان يكفي أن تبدل MaskEdit1.Text بـ DateTimePicker1.Date
2- سؤالك التاني :
تريد حساب عمر الشخص إنطلاقا من تحديد تاريخ ميلاده في DateTimePicker .
هذا مثال عام يعني لم أظع الحالات الإستثنائية فقط مجرد فكرة و الباقي عليك .
بالتوفيق ,,
كيف استطيع ان استخرج السنة وحدها من datetimepicker وكذلك اليوم والشهر لاستعمالهم في حسابات اخرى وشكراااا .
- جاوبتك على قدره كان يكفي أن تبدل MaskEdit1.Text بـ DateTimePicker1.Date
2- سؤالك التاني :
تريد حساب عمر الشخص إنطلاقا من تحديد تاريخ ميلاده في DateTimePicker .
PHP كود :
procedure TForm1.Button1Click(Sender: TObject);
Var
bDate:TDate;
bJ,bM,bA:Word;
J,M,A:Word;
begin
Try
bDate:=DateTimePicker1.Date;
DeCodeDate(bDate,bA,bM,bJ);
DeCodeDate(Date,A,M,J);
ShowMessageFmt('%d Année Et %d Mois Et %d Jour',[A-bA,M-bM,J-bJ]);
Except
On E:Exception Do
ShowMessage(E.Message);
End;
end;
هذا مثال عام يعني لم أظع الحالات الإستثنائية فقط مجرد فكرة و الباقي عليك .
بالتوفيق ,,
26-09-2009, 01:38 PM
شكرا جزيلا على مجهودك اخي الكريم.
26-09-2009, 01:42 PM
بالطبع نجحت هده المرة .. مشكور .
بالتوفيق ,,
بالتوفيق ,,
16-03-2012, 04:12 PM
tf6m كتب :بالطبع نجحت هده المرة .. مشكور .
بالتوفيق ,,
أظن أن هناك فيه خطأ في الكود
عند حساب تكون هناك دائما سنة زائدة
مثلا تاريخ ميلادي 17/09/1978
يعني عمري يوم 16/03/2012 هو 33 سنة و5 أشهر و29 يوم
أما الكود يعطينا 34 سنة و6 أشهر و1يوم ....
مع احتراماتي
21-03-2012, 12:40 AM
السلام عليكم
جرب API:
بالتوفيق.
جرب API:
PHP كود :
function GetDatePart(dtp: TDateTimePicker; DatePart: string): string;
var
len: Integer;
begin
len := Length(DatePart)+1;
dtp.Format := DatePart;
SetLength(Result, len);
GetWindowText(dtp.Handle, @Result[1], len);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(GetDatePart(DateTimePicker1, 'yyyy'));