Cvp: Delphide zaman fonksiyonları
DaysIncMonth(Tarih_Zaman);
Parametre ile girilen Tarih_Zaman değişken değerinin ait olduğu ayın kaç gün çektiğini hesaplayabilen bir fonksiyondur.
Procedure TForm1.Button1Click(Sender; Object);
var
Tarih : TDateTime;
Sayi : Integer;
begin
Tarih := Date; // Aktif tarih
Sayi := DaysInMonth(Tarih); // Bu ay kaç gün çekiyor
Caption := IntToStr(Sayi); // 7. Ay olduğunu farzedelim, 31 gün vardır.
end;
Fonksiyondan geriye dönen değer, tam sayı tipli bir değişkene aktarılabilir. Şayet bu değeri yazdırmak isterseniz IntToStr fonksiyonunu kullanmalısınız.
DaysIncAMonth(Tam_Sayi , Tam_Sayi2);
Birinci parametre ile girilen yıla ait, ikinci parametreyle girilen ayın kaç gün çektiğini hesaplayabilen bir fonksiyondur. Fonksiyondan geriye dönen değer bir tam sayı olduğu için IntToStr fonksiyonu kullanılarak yazdırılabilir.
Procedure TForm1.Button1Click(Sender; Object);
var
Sayi : Integer;
begin
Sayi := DaysInAMonth(2000,3); // 2000 yılının 3. ayı kaç gün
Caption := IntToStr(Sayi); // 31 yazar
end;
DaysIncAYear(Tam_Sayi);
Parametre ile bilertilen yılın kaç gün çektiğini hesaplayabilen bir fonksiyondur. Tam sayı tipli bir fonksiyon döndürdüğü için IntToStr fonksiyonu ile kolayca yazdırılabilir.
Procedure TForm1.Button1Click(Sender; Object);
var
Sayi, Yil : Integer;
Begin
Yil := 2005;
Sayi := DaysInAYear(2005); // 2005 yılı kaç gün
Caption := IntToStr(Sayi); // 365 yazar
end;
DaysInYear(Tam_Sayi);
Parametre ile belirtilen tarih içerikli değişken değerinin ait olduğu yılın kaç gün çektiğini hesaplayan fonksiyondur.
Procedure TForm1.Button1Click(Sender; Object);
var
Tarih : TDateTime;
Sayi : Integer;
Begin
Tarih := Date;
Sayi := DaysInYear(Tarih); // Tarih kaç gün
Caption := IntToStr(Sayi); // 365 yazar
end;
DaySpan(Tarih1 , Tarih2);
Parametre ile girilen iki tarihsel değişken arasındaki gün farkını hesaplayan bir fonksiyondur.
Procedure TForm1.Button1Click(Sender; Object);
var
Tarih1, Tarih2 : TDateTime;
Sonuc : Double;
Begin
Tarih1 := StrToDate(’01.04.2003’);
Tarih2 := StrToDate(’02.03.2003’);
Sonuc := DaySpan(Tarih1, Tarih2); // Kaç gün fark var
Caption := FloatToStr(Sonuc);
end;
DecodeDate(Tarih, Yil, Ay, Gun);
İlk parametre ile girilen tarihin yıl, ay, gün değerlerini hesaplayarak ikinci, üçüncü ve dördüncü değişkenlere aktarılır.
Procedure TForm1.Button1Click(Sender; Object);
var
Tarih : TDateTime;
Yil, Ay, Gun : Word; //Word olmak zorunda
Begin
Tarih := StrToDate(’10.07.2003’);
DecodeDate(Tarih, Yil, Ay, Gun); // Tarihi parçalara ayır
Caption := ‘Yıl : ’+InttoStr(Yil)+’ Ay : ’+IntToStr(Ay)+’ Gün : ‘+IntToStr(Gun);
end;
DecodeDateDay(Tarih, Yil, Gun);
Birinci parametre ile belirtilen tarih değişkeninin yılını ikinci parametreye, yılın kaçıncı günü olduğunu da üçüncü parametreye aktaran bir prosedürdür.
Procedure TForm1.Button1Click(Sender; Object);
var
Tarih : TDateTime;
Yil, Ay : Word; //Word olmak zorunda
Begin
Tarih := StrToDate(’10.07.2003’);
DecodeDateDay(Tarih, Yil, Ay);
Caption := ‘Yıl : ’+InttoStr(Yil)+’ Gün : ‘+IntToStr(Ay);
end;
DecodeDateMonthWeek(Tarih, Yil, Ay, Kaçıncı_Hafta, Haftanın_Kaçıncı_Günü);
Birinci parametre ile verilen tarih değişkenine ait yıl değerini, ikinci parametreye, ay değerini değerini üçüncü parametreye, ayın kaçıncı haftası olduğunu dördüncü parametreye ve haftanın kaçıncı günü olduğunu beşinci parametreye aktaran bir prosedürdür.
Fonksiyon tanımlarına dikkat ederseniz bazılarının function olarak değil de prosedür olarak tanıdıklarını göreceksiniz Biz hepsini fonksiyon başlığı altında veriyoruz. Gerçekte de öyle olması gerekir. Çünkü bu prosedürlerin bir çoğu geriye birden fazla değer döndürdükleri için (daha önce bu konular detaylı olarak anlatılmıştır) fonksiyon olarak değil de prosedür olarak tanımlanmaları gerekmektedir.
Procedure TForm1.Button1Click(Sender; Object);
var
Tarih : TDateTime;
Yil, Ay, Hafta, Deger : Word; //Word olmak zorunda
Begin
Tarih := StrToDate(’10.07.2003’);
DecodeDateMonthWeek(Tarih, Yil, Ay, Hafta, Değer);
Caption := ‘Yıl : ’+InttoStr(Yil)+’ Ay : ‘+IntToStr(Ay)+’ Ayın Kaçıncı Haftası : ’+IntToStr(Hafta)+’ Haftanın Kaçıncı Günü : ’+IntToStr(Deger);
end;
DecodeTime(Zaman, Saat, Dakika, Saniye, Salise);
Birinci parametre ile girilen zaman değişkeninin, saat değerini ikinci parametreye, dakika değerini üçüncü parametreye, saniye değerini dördüncü parametreye ve salise değeri de beşinci parametreye aktaranbir prosedürdür.
Procedure TForm1.Button1Click(Sender; Object);
var
Zaman : TDateTime;
Saat, Dakika, Saniye, Salise : Word; //Word olmak zorunda
Begin
Zaman := Now;
DecodeTime(Zaman, Saat, Dakika, Saniye, Salise);
Caption := ‘Saat : ’+InttoStr(Saat)+’ Dakika : ‘+IntToStr(Dakika)+’ Saniye : ’+IntToStr(Saniye)+’ Salise : ’+IntToStr(Salise);
end;
EncodeDate(Yil, Ay, Gun);
Üç parametre ile belirtilen tam sayıları birleştirerek tarih değeri oluşturabilen bir fonksiyondur. Fonksiyondan geriye dönen değer tarihsel içerikli olduğu için yazdırılmak istenirse DateTimeToStr tip dönüştürme fonksiyonundan faydalanmalısınız.
Procedure TForm1.Button1Click(Sender; Object);
var
Tarih : TDateTime;
Yil, Ay, Gun : Word; //Word olmak zorunda
Begin
Tarih := 2003;
Ay := 7;
Gün := 10;
Tarih := EncodeDate(Yil, Ay, Gun);
Caption := DateTimeToStr(Tarih); // 10.07.2003 yazar
end;
EncodeDateDay(Yıl, Değer);
Birinci parametre ile belirtilen (tam sayı) yıla, ikinci parametreyle belirtilen kadar (tam sayı) gün ekler. Sonuç tarihsel bir değer içerdiği için DateTimeToStr tip dönüştürme fonksiyonu kullanılarak yazdırılabilir.
Procedure TForm1.Button1Click(Sender; Object);
var
Tarih : TDateTime;
Yil, Deger : Word; //Word olmak zorunda
Begin
Tarih := EncodeDateDay(2003, 35); // 35 Gün ekle
Caption := DateTimeToStr(Tarih); // 04.02.2003
end;
EncodeDateMonthWeek(Yıl, Ay, Hafta, Gün);
Belirtilen parametreleri birleştirerek yeni bir tarih değeri elde eder. Mesela 2003 yılının 3. ayının 2. haftasının 4. günü vs. fonksiyondan geriye dönene değer tarihsel veri içereceği için yazdırmak ancak DateTimeToStr tip dönüştürme fonksiyonu sayesinde olabilcektir.
Procedure TForm1.Button1Click(Sender; Object);
var
Tarih : TDateTime;
Yil, Ay, Deger : Integer;
Begin
Tarih := EcodeDateMonthWeek(2003, 4, 2, 2);
Caption := DateTimeToStr(Tarih); // 08.04.2003 yazar
end;
EncodeDateWeek(Yıl , Hafta);
Parametreyle belirtilen yıla, yine ikinci parametre kadar hafta ekler. Geriye dönen değer tarih içerikli olacaktır. Yazdırmak için DateTimeToStr fonksiyonundan faydalanmalısınız.
Procedure TForm1.Button1Click(Sender; Object);
var
Tarih : TDateTime;
begin
Tarih := EncodeDateWeek(2003, 3); // 3. Haftanın ilk günü
Caption := DateTimeToStr(Tarih); //13.01.2003 yazar
end;
EncodeDateOfWeekInMonth(Yıl , Ay, Hafta, Gün);
Parametre ile belirtilen ay, hafta, gün değerlerini yıla ekleyerek yeni bir tarih hesaplar. Fonksiyondan geriye dönen değer tarih içerikli olacağı için DateTimeToStr tip dönüştürme işlemi sayesinde yazdırılabilir.
Procedure TForm1.Button1Click(Sender; Object);
var
Tarih : TDateTime;
begin
Tarih := EncodeDateOfWeekInMonth(2003, 2, 2, 3); // 2. Ayın 2. haftasının 3. günü
Caption := DateTimeToStr(Tarih); //12.02.2003 yazar
end;
|