منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

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

بمناسبة فتح القسم احببت مشاركة كود بسيط
حتى من يقوم ببداء التعلم فى Delphi

يتمكن من الاستفادة من تلك الاكواد

اظهار تاريخ والوقت
كود :
Label1.Caption := DateTimeToStr(Now);

اظهار الوقت فقط
كود :
Label2.Caption := TimeToStr(Time);

اظهار تاريخ فقط
كود :
Label3.Caption := DateToStr(Date);

تحياتى لكم جميعاً
وتمنياتى لكم التوفيق
بارك الله فيك
(16-06-19, 06:34 PM)sendbad100 كتب : [ -> ]
بارك الله فيك


لى ولك وللجميع بامر الله


تحياتى لك
وتمنياتى لك التوفيق
تعطيك ايام في شهر معين

كود :
var
 myDate : TDateTime;

begin
 myDate := EncodeDate(2002, 12, 31);
 ShowMessage('The day of the month = '+IntToStr(DayOfTheMonth(myDate)));
end;

النتيجة  31 


تعطيك يوم الاسبوع

كود :
var
 myDate : TDateTime;
 day    : array[1..7] of string;

begin
 // We cannot use LongDayNames - they start on Sunday
 day[1] := 'Monday';
 day[2] := 'Tuesday';
 day[3] := 'Wednesday';
 day[4] := 'Thursday';
 day[5] := 'Friday';
 day[6] := 'Saturday';
 day[7] := 'Sunday';

 myDate := EncodeDate(2002, 12, 25);

 ShowMessage('Christmas day 2002 is on a '+day[DayOfTheWeek(myDate)]);
end;


النتيجة  الاربعاء




تعطيك الايام في سنة

كود :
var
 myDate : TDateTime;

begin
 myDate := EncodeDate(2002, 10, 29);
 ShowMessage('20/10/2002 day of year  = '+
             IntToStr(DayOfTheYear(myDate)));
end;

النتيجة  302


تعطيك الايام بين تاريخين

كود :
var
 fromdate, toDate : TDateTime;

begin
 // Set up our date variables
 fromDate := EncodeDateTime(2000, 02, 26, 10, 0, 0, 0);
 toDate   := EncodeDateTime(2000, 02, 29,  9, 0, 0, 0);

 // Display these dates and the days between them
 ShowMessage('From date = '+DateTimeToStr(fromDate));
 ShowMessage('To   date = '+DateTimeToStr(toDate));
 ShowMessage('Whole days difference = '+
             IntToStr(DaysBetween(toDate, fromDate))+' days');
end;

النتيجة  2



تعيد لك الايام في شهر

كود :
// How many days in February 2000 ?
 ShowMessage('Days in February 2000 = '+
             IntToStr(DaysInAMonth(2000, 2)));

النتيجة  29



تعيد لك الايام في سنة
كود :
// How many days in the leap year 2000?
 ShowMessage('Days in 2000 = '+
             IntToStr(DaysInAYear(2000)));



العدد الكسري للايام بين تاريخين

كود :
var
 fromdate, toDate : TDateTime;

begin
 // Set up our date variables
 fromDate := EncodeDateTime(2000, 01, 01, 0, 0, 0, 0);
 toDate   := EncodeDateTime(2000, 01, 02, 12, 0, 0, 0);

 // Display these dates and the days between them
 ShowMessage('From date = '+DateTimeToStr(fromDate));
 ShowMessage('To   date = '+DateTimeToStr(toDate));
 ShowMessage('Fractional days difference = '+
             FloatToStr(DaySpan(toDate, fromDate))+' days');
end;

النتيجة  1.5


لتجزئة التاريخ الى اجزاء
كود :
var
 myDate : TDateTime;
 myYear, myMonth, myDay : Word;
 myHour, myMin, mySec, myMilli : Word;

begin
 // Set up the myDate variable to have a December 2000 value
 myDate := StrToDateTime('29/12/2000 12:45:12.34');

 // Now add a month to this value
 myDate := IncMonth(myDate);

 // And let us see what we get
 DecodeDateTime(myDate, myYear, myMonth, myDay,
                myHour, myMin, mySec, myMilli);
 ShowMessage('myDate now = '+DateToStr(myDate));
 ShowMessage('myHour     = '+IntToStr(myHour));
 ShowMessage('myMin      = '+IntToStr(myMin));
 ShowMessage('mySec      = '+IntToStr(mySec));
 ShowMessage('myMilli    = '+IntToStr(myMilli));
 ShowMessage('myDay      = '+IntToStr(myDay));
 ShowMessage('myMonth    = '+IntToStr(myMonth));
 ShowMessage('myYear     = '+IntToStr(myYear));
end;

النتيجة 
myDate now = 29/01/2001
   myHour     = 12
   myMin      = 45
   mySec      = 12
   myMilli    = 34
   myDay      = 29
   myMonth    = 1
   myYear     = 2001




لبناء قيمة للوقت من مجموعة قيم
كود :
var
 myDate : TDateTime;

begin
 // Set my date variable using the EncodeDateTime function
 myDate := EncodeDateTime(2000, 02, 29, 12, 34, 56, 789);

 LongTimeFormat := 'hh:mm:ss.z';  // Ensure that MSecs are shown

 ShowMessage('Date set to '+DateToStr(myDate));
 ShowMessage('Time set to '+TimeToStr(myDate));
end;

النتيجة 
Date set to 29/02/2000
   Time set to 12:34:56.789


استخدام + وكذلك  - للتحكم وزيادة التاريخ والوقت او انقاصه

كود :
var
 myDate : TDateTime;
begin
 // Set up our date just before the end of the year 2000
 myDate := EncodeDate(2000, 12, 30);
 ShowMessage('myDate = '+DateToStr(myDate));

 // Add 10 days to this date
 myDate := IncDay(myDate, 10);
 ShowMessage('myDate + 10 days = '+DateToStr(myDate));

 // Subtract 12 days from this date
 myDate := IncDay(myDate, -12);
 ShowMessage('myDate - 12 days = '+DateToStr(myDate));
end;


النتيجة 
myDate = 30/12/2000
   myDate + 10 days = 09/01/2001
   myDate - 12 days = 29/12/2000




انقاص وزيادة بالدقائق

كود :
var
 myDate : TDateTime;
begin
 // Set up our date just before the end of the year 2000
 myDate := EncodeDateTime(2000, 12, 31, 23, 0, 0, 0);
 ShowMessage('myDate = '+DateTimeToStr(myDate));

 // Add 100 minutes to this date
 myDate := IncMinute(myDate, 100);
 ShowMessage('myDate + 100 minutes = '+DateTimeToStr(myDate));

 // Subtract 40 minutes from this date
 myDate := IncMinute(myDate, -40);
 ShowMessage('myDate -  40 minutes = '+DateTimeToStr(myDate));
end;

النتيجة 
myDate = 31/12/2000 23:00:00

   myDate + 100 minutes = 01/01/2001 00:40:00
   myDate -  40 minutes = 01/01/2001



انقاص وزيادة بالثواني

كود :
var
 myDate : TDateTime;
begin
 // Set up our date just before the end of the year 2005
 myDate := EncodeDateTime(2005, 12, 31, 23, 59, 0, 0);
 ShowMessage('myDate = '+DateTimeToStr(myDate));

 // Add 60 seconds to this date
 myDate := IncSecond(myDate, 60);
 ShowMessage('myDate +  60 seconds = '+DateTimeToStr(myDate));

 // Subtract 120 seconds from this date
 myDate := IncSecond(myDate, -120);
 ShowMessage('myDate - 120 seconds = '+DateTimeToStr(myDate));
end;


النتيجة 
myDate = 31/12/2005 23:59:00

   myDate +  60 seconds = 01/01/2006
   myDate - 120 seconds = 31/12/2005 23:58:00



انقاص وزيادة بالسنين


كود :
var
 myDate : TDateTime;
begin
 // Set up our date to a leap year special day
 myDate := EncodeDate(2000, 02, 29);
 ShowMessage('myDate = '+DateToStr(myDate));

 // Add 2 years to this date
 myDate := IncYear(myDate, 2);
 ShowMessage('myDate + 2 years = '+DateToStr(myDate));

 // Subtract 2 years from this date
 myDate := IncYear(myDate, -2);
 ShowMessage('myDate - 2 years = '+DateToStr(myDate));
end;


النتيجة 
myDate = 29/02/2000
   myDate + 2 years = 28/02/2002
   myDate - 2 years = 28/02/2000



تعيد لك الشهر بالسنة
كود :
var
 myDate : TDateTime;

begin
 myDate := EncodeDate(2002, 10, 29);
 ShowMessage('The month of the year  = '+
             IntToStr(MonthOfTheYear(myDate)));
end;


النتيجة 10


تعطيك ماهو يوم الغد

كود :
ShowMessage('Yesterday = '+DateToStr(Yesterday));
 ShowMessage('Today     = '+DateToStr(Date));
 ShowMessage('Tomorrow  = '+DateToStr(Tomorrow));

 ShowMessage('Tommorow''s time = '+TimeToStr(Tomorrow));

النتيجة
Yesterday = 28/10/2002
   Today     = 29/10/2002
   Tomorrow  = 30/10/2002
   Tomorrow's time = 00:00:00




تعطيك ماهو اليوم

كود :
egin
 ShowMessage('Yesterday = '+DateToStr(Yesterday));
 ShowMessage('Today     = '+DateToStr(Date));
 ShowMessage('Tomorrow  = '+DateToStr(tomorrow));

 ShowMessage('Yesterday''s time = '+TimeToStr(Yesterday));


النتيجة
Yesterday = 28/10/2002
   Today     = 29/10/2002
   Tomorrow  = 30/10/2002
   Yesterday's time = 00:00:00
 

ولازال يتبع بعد الدوال والوظائف