Tekil Mesaj gösterimi
  #1  
Alt 5 March 2009, 12:13
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 Delphide zaman fonksiyonları

Delphi’ de tarih ve zaman işlemlerinizi kolaylık ile yapabilmeniz için bir çok fonksiyon tanımlanmıştır. Aşağıda bu fonksiyonlara ait örnekler detaylıca incelemeye alınmıştır.

CompareDate(Tarih1 , Tarih2);

Parametre olarak girilen iki tarihin eşit olup olmadığını kontrol edebilen bir fonksiyondur. Girilen tarihlerin eşit olması bu fonksiyondan geriye 0 değerinin dönmesine sebep olucaktır.

Procedure TForm1.Button1Click(Sender; Object);
var
Tarih1, Tarih2 : TDate; //Tarih içerikli değişken tanımlanıyor.
begin
Tarih1 := StrToDate(Edit1.Text); // Tarihsel değişkene aktarılıyor
Tarih2 := StrToDate(Edit2.Text); // Tarihsel değişkene aktarılıyor
If CompareDate(Tarih1, Tarih2)=0 Then // İki tarih eşitse 0 döner
Caption := ‘Girilen iki tarih eşit’
else
Caption:= ‘Tarihler eşit değil’;
end;


CompareDate(Tarih1 , Tarih2);

Parametre olarak girilen iki değerin tarih ve zamanla beraber eşit olup olmadığını kontrol etmek için kullanılan bir fonksiyondur. Eşitlik durumunda geriye yine sıfır dönecektir.

Procedure TForm1.Button1Click(Sender; Object);
var
Tarih1, Tarih2 : TDateTime;
begin
Tarih1 := StrToDateTime(Edit1.Text);
Tarih2 := StrToDateTime(Edit2.Text);
If CompareDate(Tarih1, Tarih2)=0 Then
Caption := ‘Girilen iki tarih ve saat eşit’
else
Caption:= ‘Tarihler eşit değil’;
end;


CompareTime(Zaman1 , Zaman2);

Parametre olarak girilen iki değişkenin aynı zamana ait olup olmadıklarını hesaplayabilen bir fonksiyondur. Eşitlik durumunda yine 0 döndürecektir.

Procedure TForm1.Button1Click(Sender; Object);
var
Tarih1, Tarih2 : TTime;
begin
Tarih1 := StrToTime(Edit1.Text);
Tarih2 := StrToTime(Edit2.Text);
If CompareDate(Zaman1 , Zaman2)=0 Then
Caption := ‘Girilen iki zaman eşit’
else
Caption:= ‘Zamanlar eşit değil’;
end;



CurrentYear:

Parametre kullanmayan bu fonksiyon ile aktif tarihin yılını kolayca öğrenebilirsiniz. Fonksiyondan geriye dönen değer tam sayı tipli olacağı için IntToStr tip dönüşüm fonksiyonunu kullanarak yazdırabilirsiniz.

Procedure TForm1.Button1Click(Sender; Object);
begin
Caption:= IntToStr(CurrentYear);
end;


Date:

Parametre içermeyen bu fonksiyon ile aktif tarihi yazdırabilirsiniz. Döndürdüğü değer tarih içerikli olacağı için yazdırmak için DateToStr tip dönüşümünü kullanmanızı gerektirecektir.

Procedure TForm1.Button1Click(Sender; Object);
begin
Caption:= DateToStr(Date);
end;

Aktif tarihe gün ekleme işlemlerini yine bu fonksiyon ile yapmanız mümkün olabilmektedir. Aşağıda bu husus örneklendirilmiştir. Örneğin yapılış tarihinin 03/11/2005 olduğunu da belirtelim.

Procedure TForm1.Button1Click(Sender; Object);
Var
Tarih : Tdate;
begin
Tarih := Date+10; // Aktif tarihe 10 gün ekle
Caption:= DateToStr(Tarih); // Pc tarihinin 10 gün ilerisi
end;

Aynı şekilde önceki günlere dönmek için de ( – ) kullanabilirsiniz.


DateOf(TarihZaman);

Parametre olarak girilen tarih zaman değişkeninin, zaman kısmını atarak sadece tarih değerinin elde edilmesini sağlar.

Procedure TForm1.Button1Click(Sender; Object);
var
TarihZaman : TDateTime;
begin
TarihZaman := Now; // Tarih ve zamanı beraber tutan değişken
Edit2.Text := DateTimeToStr(DateOf(TarihZaman));
end;

Fonksiyonun daha iyi anlaşılması açısından aşağıdaki örneği inceleyip aradaki farka dikkat ediniz.

Procedure TForm1.Button1Click(Sender; Object);
var
TarihZaman : TDateTime;
begin
TarihZaman := Now; // Tarih ve zamanı beraber tutan değişken
Edit1.Text := DateTimeToStr(TarihZaman); // Mesela 11.07.2005 14:00:00 yazar
Edit2.Text := DateTimeToStr(DateOf(TarihZaman)); // Mesela 11.07.2005 yazar
end;



DateTimeToStr(Tarih1 , Tarih2);

Parametre olarak girilen tarih-zaman içerikli değişkenin değerini stringe çevirmek için kullanılır. Bilhassa kontroller üzerinde tarih içeriklerinin yazdırılmasında kullanılır.

Procedure TForm1.Button1Click(Sender; Object);
var
Tarih : TDateTime;
Sonuc : AnsiString;
begin
Tarih := Now;
Sonuc := DateTimeToStr(Tarih); // Aktif tarih ve saati yaz
Caption:= Sonuc;
end;


DateToStr(Tarih);

Parametreyle girilen tarih değişkenini string tipe dönüştürmek için kullanılan bir fonksiyondur. Eğer DateTime tipli bir değişken değeri aktarılırsa hata vermemekle beraber, sadece tarih kısmıyla ilgili tip dönüşümünü gerçekleştirecektir.

Procedure TForm1.Button1Click(Sender; Object);
var
Tarih : TDateTime;
Sonuc : AnsiString;
begin
Tarih := Now;
Sonuc := DateToStr(Tarih); // Aktif tarih yaz
Caption:= Sonuc;
end;


DayOfWeek(Tarih);

Parametreyle girilen tarih değişkenin değerinin haftanın hangi gününe ait olduğunu hesaplayabilen bir fonksiyondur. Geriye döndürdüğü değer 1 ile 7 arasında ki sayısal ifadelerdir. 1 olması Pazar 7olması cumartesi gününe karşılık gelmektedir. Basit bir dallandırma yaparak sonuca ulaşabilirsiniz.

Procedure TForm1.Button1Click(Sender; Object);
var
Tarih : TDate;
Deger : Integer;
begin
Tarih := Date; // Bugünkü tarih
Deger := DayOfWeek(Tarih); // Aktar
If Deger=1 Then Caption := ‘Pazartesi’ else
If Deger=2 Then Caption := ‘Salı’ else
If Deger=3 Then Caption := ‘Çarşamba’ else
If Deger=4 Then Caption := ‘Perşembe’ else
If Deger=5 Then Caption := ‘Cuma’ else
If Deger=6 Then Caption := ‘Cumartesi’ else
If Deger=7 Then Caption := ‘Pazar’;
end;


DayOf(Tarih_Zaman);

Parametre ile girilen Tarih_Zaman değişkeninde ayın kaçıncı günü olduğunu hesaplayan bir fonksiyondur. Tam sayı tipinde bir değer döndürdüğü için yazdırmak isterseniz IntToStr fonksiyonunu kullanmalısınız.

Procedure TForm1.Button1Click(Sender; Object);
var
Tarih : TDateTime;
Deger : Integer;
begin
Tarih := Date; // Bugünkü tarih
Deger := DayOf(Tarih); // Kaçıncı gün
Caption := IntToStr(Deger); // Eğer ayın 10 u ise 10 yazar
end;



DayOfTheMonth(Tarih_Zaman);

Parametre ile girilen Tarih_Zaman değişkeninde ayın kaçıncı günü olduğunu hesaplayan bir fonksiyondur.

Procedure TForm1.Button1Click(Sender; Object);
var
Tarih : TDateTime;
Deger : Integer;
begin
Tarih := Date; // Bugünkü tarih
Deger := DayOfTheMonth(Tarih); // Kaçıncı gün
Caption := IntToStr(Deger); // Eğer ayın 10 u ise 10 yazar
end;

Fonksiyondan geriye dönen değer tam sayı tipli bir değişkene aktarılabilir. Dolayısı ile form üzerindeki her hangi bir kontrolde yazdırabilmesi için IntToStr fonksiyonu ile tip dönüştürme işlemi uygulamanız gerekmektedir. Yukarıdaki örneği dikkatlice inceleyiniz.



DayOfTheWeek(Tarih_Zaman);

Parametre ile girilen Tarih_Zaman değişkenine ait değerin haftanın kaçıncı gününe karşılık geldiğini hesaplayan bir fonksiyondur.

Procedure TForm1.Button1Click(Sender; Object);
var
Tarih : TDateTime;
Deger : Integer;
begin
Tarih := Date; // Bugünkü tarih
Deger := DayOfTheWeek(Tarih); // Kaçıncı gün
Caption := IntToStr(Deger); // Eğer ayın 10 u ise 10 yazar
end;




DayOfTheYear(Tarih_Zaman);

Parametre ile girilen Tarih_Zaman değişkenine ait değerin yılın kaçıncı gününe karşılık geldiğini hesaplayan bir fonksiyondur.

Procedure TForm1.Button1Click(Sender; Object);
var
Tarih : TDateTime;
Deger : Integer;
begin
Tarih := Date; // Bugünkü tarih
Deger := DayOfTheYear(Tarih); // Kaçıncı gün
Caption := IntToStr(Deger); // Eğer ayın 10 u ise 10 yazar
end;



DaysBetween(Tarih1 , Tarih2);

Parametre ile girilen iki tarih değişkeni arasındaki gün farkını hesaplayan fonksiyondur. Fonksiyonun geriye döndürdüğü değer bir tam sayı olduğu için yazdırmak için IntToStr fonksiyonundan faydalanmalısınız. Aşağıda bu fonksiyon örneklendirilmiştir.

Procedure TForm1.Button1Click(Sender; Object);
var
Tarih1, Tarih2 : TDateTime;
Sayi : Integer;
begin
Tarih1 := StrToDateTime(Edit1.Text); // İlk tarih değer
Tarih2 := StrToDateTime(Edit2.Text); // İkinci tarih değer
Sayi := DaysBetween(Tarih1, Tarih2); // Aralarında kaç gün var
Caption := IntToStr(Sayi);
end;

Bu fonksiyonda değişkenlerin yerleri önem arz etmektedir. Hangisinin büyük olduğuda önemli değildir, sonuçta pozitif değeri döndürmektedir.
Alıntı ile Cevapla