![]() |
![]() |
#2
|
|||
|
|||
![]()
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; |
|
|