المشاركات : 54
المواضيع 19
:
: 0
الإنتساب : Mar 2009
السلام عليكم
كيف استطيع ان استخرج السنة وحدها من datetimepicker وكذلك اليوم والشهر لاستعمالهم في حسابات اخرى وشكراااا
المشاركات : 563
المواضيع 28
:
: 0
الإنتساب : Dec 2008
و عليكم السلام و رحمة الله و بركاته
إستخدم 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;
بالتوفيق ,,
المشاركات : 54
المواضيع 19
:
: 0
الإنتساب : Mar 2009
بارك الله فك
لكن لماذا استعملت maskedit1.text فانا استعمل datetimepicker لكن .date لم تنجح
المشاركات : 563
المواضيع 28
:
: 0
الإنتساب : Dec 2008
لم تنجح ؟؟ ممكن تضع الطريقة التي إعتمدتها .
المشاركات : 54
المواضيع 19
:
: 0
الإنتساب : Mar 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;
المشاركات : 563
المواضيع 28
:
: 0
الإنتساب : Dec 2008
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;
هذا مثال عام يعني لم أظع الحالات الإستثنائية فقط مجرد فكرة و الباقي عليك .
بالتوفيق ,,
المشاركات : 54
المواضيع 19
:
: 0
الإنتساب : Mar 2009
شكرا جزيلا على مجهودك اخي الكريم.
المشاركات : 563
المواضيع 28
:
: 0
الإنتساب : Dec 2008
بالطبع نجحت هده المرة .. مشكور .
بالتوفيق ,,
المشاركات : 25
المواضيع 11
:
: 0
الإنتساب : Nov 2011
tf6m كتب :بالطبع نجحت هده المرة .. مشكور .
بالتوفيق ,,
أظن أن هناك فيه خطأ في الكود
عند حساب تكون هناك دائما سنة زائدة
مثلا تاريخ ميلادي 17/09/1978
يعني عمري يوم 16/03/2012 هو 33 سنة و5 أشهر و29 يوم
أما الكود يعطينا 34 سنة و6 أشهر و1يوم ....
مع احتراماتي
المشاركات : 2,293
المواضيع 157
:
: 81
الإنتساب : Dec 2008
السلام عليكم
جرب 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'));
بالتوفيق.
اللهم احقن دماء المسلمين، لا تنسوهم بالدعاء...