Tekil Mesaj gösterimi
  #5  
Alt 5 March 2009, 12:15
Yorgun Yürek - ait Kullanıcı Resmi (Avatar)
Yorgun Yürek Yorgun Yürek isimli Üye şimdilik offline konumundadır
♥ GüLerken AğLadığını,MutLu OLanLar BiLmez
 
Kayıt Tarihi: 3 March 2009
Mesajlar: 35,077
Konular:
Aldığı Beğeni: 0 xx
Beğendiği Mesajlar: 0 xx
Standart Cvp: Delphide zaman fonksiyonları

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 1924 Yazar
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ç) yazdırabilirsiniz.




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;
Alıntı ile Cevapla