![]() |
![]() |
#5
|
|||
|
|||
![]()
MonthsBetween(Tarih1, Tarih2);
Parametre olarak belirtilen tarih değişkenleri arasında kaç ay olduğunu hesaplayan fonksiyondur. Procedure TForm1.Button1Click(Sender; Object); Var Tarih1, Tarih2 := TDate; Fark : Integer; begin Tarih1 := StrToDate(’04.05.2002’); Tarih2 := StrToDate(’04.08.2003’); Fark := MontsBetween(Tarih1, Tarih2); Caption := IntToStr(Fark); // 15 Yazar end; Fonksiyondan geriye dönen değer bir tam sayı olduğu için IntToStr tip dönüştürme fonksiyonu kullanılarak fark kolayca yazdırılabilir. Yapılan hesaplamaya dikkat edicek olursanız girilen iki tarih arasında ki ay sayısı bulunmaktadır. Now(); O güne ait tarih ve saati yazdırabilen bir fonksiyondur. Fonksiyondan geriye dönen Tarih_Zaman içerikli veri döneceği için DateTimeToStr tip dönüştürme fonksiyonu kullanılarak yazdırabilmektedir. Procedure TForm1.Button1Click(Sender; Object); Var TarihZaman : TDateTime; begin TarihZaman := Now; // Tarih ve zamanı beraber tutan değişken Caption := DateTimeToStr(TarihZaman); // 15/03/2003 19 ![]() end; NthDayOfWeek(Tarih); Parametre olarak girilen tarih değişken değerinin, ayın kaçıncı haftasında olduğunu hesaplayan fonksiyondur. Procedure TForm1.Button1Click(Sender; Object); Var Tarih : TDateTime; Deger : Word; begin Tarih := Now; // 11/07/2003 Deger := NthDayOfWeek(Tarih); Ayın kaçıncı haftası Caption := IntToStr(Deger); // 2 Yazar end; Fonksiyondan tam sayı tipli bir değer döneceği için IntToStr tip dönüştürme fonksiyonu kullanarak yazdırılabilir. RecodeDate(Tarih1, Yil, Ay, Gün); 2.inci, 3.üncü, 4.üncü parametre ile belirlenen değerleri birleştirip, ilk parametre formatında yeni bir tarih değeri oluşurur. Fonksiyondan geriye dönen değer Tarih_Zaman içerikli olacağı için DateTimeToStr fonksiyonu kullanılarak yazdırılabilir. Procedure TForm1.Button1Click(Sender; Object); Var Tarih1, Tarih2 : TDateTime; Yil, Ay, Gun : Word; begin Tarih1 := Now; // 11/07/2003 Yil := 2002; Ay := 5; Gun := 14; Tarih2 := RecodeDate(Tarih1, Yil, Ay, Gun); Caption := DateTimeToStr(Tarih2); // 14/05/2002 Yazar end; RecodeYear(Tarih, Yil); İkinci parametre ile belirtilen yıl değerini, birinci parametredeki yılın yerine yazarak yeni bir tarih hesaplar. Procedure TForm1.Button1Click(Sender; Object); Var Tarih1, Tarih2 : TDateTime; Yil : Word; begin Tarih1 := Now; // 11/07/2003 Yil := 1999; Tarih2 := RecodeYear(Tarih1, Yil); Caption := DateTimeToStr(Tarih2); // 11/07/1999 Yazar end; Fonksiyondan geriye dönen değer, tarihsel içerik içerdiği için herhangi bir kontrolün üzerinde (kullanıcıya göstermek amaçlı) yazdırmak için DateTimeToStr fonksiyonundan faydalanmalısınız. Dilerseniz DateToStr sadece tarih kısmını (saat hariç ![]() ReplaceDate(Tarih1, Tarih2); Parametre olarak belirtilen iki tarihin değerlerinin birbiriyle değişmesini sağlayan bir prosedürdür. Procedure TForm1.Button1Click(Sender; Object); Var Tarih1, Tarih2 : TDateTime; begin Tarih1 := StrToDate(’01.02.2003’); Tarih2 := Date; // 11/07/2003 ReplaceDate(Tarih1, Tarih2); // Tarihleri değiştir. Caption := DateTimeToStr(Tarih2); // 11/07/1999 Yazar end; StartOfADay(Tarih, Ay); Parametreyle belirtilen yıla, yine ikinci parametreyle belirtilen sayı kadar ay ekler. Procedure TForm1.Button1Click(Sender; Object); Var Tarih : TDateTime; begin Tarih := StartOfADay(2003, 6); Caption := DateToStr(Tarih); //06/01/2003 yazar end; Fonksiyondan geriye dönen değer tarihsel veri içereceği için, kontrollerden herhangi birisinde yazdırılması için DateToStr tip dönüştürme fonksiyonundan faydalanmalısınız. Dilerseniz aynı işlemi aşağıda ki gibi 3 parametre ile de yapabilirsiniz. Örneği dikkatlice inceleyiniz. Çünkü fonksiyon opsiyonel parametre içermektedir. Procedure TForm1.Button1Click(Sender; Object); Var Tarih : TDateTime; begin Tarih := StartOfADay(2003, 3, 10); // 3 Ay 10 gün ekle Caption := DateToStr(Tarih); //10/03/2003 yazar end; |
|
|