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

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



كيف استخرج من datetimepicker - kwahab - 25-09-2009

السلام عليكم
كيف استطيع ان استخرج السنة وحدها من datetimepicker وكذلك اليوم والشهر لاستعمالهم في حسابات اخرى وشكراااا


كيف استخرج من datetimepicker - TF6M - 26-09-2009

و عليكم السلام و رحمة الله و بركاته
إستخدم 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; 

بالتوفيق ,,


كيف استخرج من datetimepicker - kwahab - 26-09-2009

بارك الله فك
لكن لماذا استعملت maskedit1.text فانا استعمل datetimepicker لكن .date لم تنجح


كيف استخرج من datetimepicker - TF6M - 26-09-2009

لم تنجح ؟؟ ممكن تضع الطريقة التي إعتمدتها .


كيف استخرج من datetimepicker - kwahab - 26-09-2009

اخي الكريم ساشرح لك ما اود القيام به
لدي 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;



كيف استخرج من datetimepicker - TF6M - 26-09-2009

1- يعني شوف سؤالك الأول :
كيف استطيع ان استخرج السنة وحدها من 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; 

هذا مثال عام يعني لم أظع الحالات الإستثنائية فقط مجرد فكرة و الباقي عليك .
بالتوفيق ,,


كيف استخرج من datetimepicker - kwahab - 26-09-2009

شكرا جزيلا على مجهودك اخي الكريم.


كيف استخرج من datetimepicker - TF6M - 26-09-2009

بالطبع نجحت هده المرة .. مشكور .
بالتوفيق ,,


كيف استخرج من datetimepicker - MOUMEN78 - 16-03-2012

tf6m كتب :بالطبع نجحت هده المرة .. مشكور .
بالتوفيق ,,


أظن أن هناك فيه خطأ في الكود
عند حساب تكون هناك دائما سنة زائدة
مثلا تاريخ ميلادي 17/09/1978
يعني عمري يوم 16/03/2012 هو 33 سنة و5 أشهر و29 يوم
أما الكود يعطينا 34 سنة و6 أشهر و1يوم ....
مع احتراماتي


كيف استخرج من datetimepicker - kachwahed - 21-03-2012

السلام عليكم
جرب 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')); 
بالتوفيق.