|
||
| Parametre olarak girilen tarih içerikli değişkenin değerini bir hafta artırarak yeni bir tarih hesaplar. Fonksiyondan geriye dönen değer tarih içerikli olacağı için, yazdırmanız ancak DateToStr fonksiyonu tarafından olacaktır. Procedure TForm1.Button1Click(Sender; Object); var Tarih : TDate; begin Tarih := Date; Tarih := IncWeek(Tarih); // Haftayı bir artır Caption := DateToStr(Tarih); end; IncYear(Tarih); Parametre olarak girilen tarih içerikli değişkenin değerini bir yıl artırarak yeni bir tarih hesaplar. Fonksiyondan geriye dönen değer tarih içerikli olacağı için, yazdırmanız ancak DateToStr tip dönüştürme fonksiyonu sayesinde yazdırabilirsiniz. Procedure TForm1.Button1Click(Sender; Object); var Tarih : TDate; begin Tarih := Date; Tarih := IncYear(Tarih); // Yılı bir artır Caption := DateToStr(Tarih); end; IsInLeapYear(Yıl); Parametre ile girilen tarih içerikli değişken değerinin (dört yılda bir oluşan 366 gün çeken yıl) 366 gün çekip çekmediğini anlayabilen bir fonksiyondur. Fonksiyondan geriye dönen değer True veya false olabileceği için ufak bir sonuç dallanmasıyla sonuca ulaşabilirsiniz. Şayet belirttiğiniz tarih 366 gün çekiyorsa sonuç True olacaktır. Procedure TForm1.Button1Click(Sender; Object); var Tarih : TDate; Sonuc : Boolean; begin Tarih := Date; Sonuc := IsInLeapYear(Tarih); // 366 gün mü çekiyor If Sonuc=True Then Caption := ‘366 Gün çeker’ Else Caption := ‘365 Gün çeker’; end; IsLeapYear(Yıl); Parametre olarak girilen tarihin 365 gün çekip çekmediğini hesaplayan diğer bir fonksiyondur. Yukarıdakinden tek farkı parametre olarak tarih değişkeni değilde, tam sayı tip değişken kullanılmasıdır. Procedure TForm1.Button1Click(Sender; Object); var Sonuc : Boolean; begin Sonuc := IsInLeapYear(Tarih); // 366 gün mü çekiyor If Sonuc=True Then Caption := ‘366 Gün çeker’ Else Caption := ‘365 Gün çeker’; end; IsToDay(Tarih); Parametre olarak girilen tarih değişkeninin, bugünün tarihine eşit olup olmadığını kontrol eden bir fonksiyondur. Fonksiyondan geriye dönen değer Boolean tip bir değişkende saklanabilir.Bu değişkenin değerinin True olması girilen tarihe bugüne eşit olduğu anlamını taşımaktadır. Procedure TForm1.Button1Click(Sender; Object); Var Tarih := TDate; Sonuc : Boolean; Begin StrToDate(Edit1.Text); Sonuc := IsToDay(Tarih); If Sonuc Then Caption := ‘Girdiğiniz tarih bu güne eşit’; end; Fonksiyondan true feya false değerinin döndüğünü hatırlamakta fayda var. IsValidDate(Yıl, Ay, Gün); Parametre olarak girilen değişken değerlerinin sırasıyla tarih oluşturup oluşturamayacağını hesaplayabilen bir fonksiyondur. (ay değerinin 12 den büyük ve gün değerinin 31 den büyük olması gibi) Fonksiyondan geriye True değerinin dönmesi değişkenlerin tarih oluşturabileceği anlamını taşımaktadır. Procedure TForm1.Button1Click(Sender; Object); Var Tarih := TDate; Yil, Ay, Gun : Word; Sonuc : Boolean; Begin Sonuc := IsValidDate(2003, 10, 10); If Sonuc=True Then begin Tarih := EncodeDate(2003, 10, 5); Caption := DateToStr(Tarih); end else Caption := ‘Girdiğiniz değerden tarih oluşturulamaz’; end; MonthOf(Tarih); Parametre ile belirtilen tarih değişkeninin hangi aya ait olduğunu hesaplayan fonksiyondur. Fonksiyondan geriye dönen değer tam sayı tipli bir değişkene aktarılabilir. Procedure TForm1.Button1Click(Sender; Object); Var Tarih := TDate; Deger : Word; begin Tarih := Date+5; Sonuc := MonthOf(Tarih); Caption := IntToStr(Deger); end; MonthOfTheYear(Tarih); Parametre ile tarih değişken değerinin hangi aya ait olduğunu hesaplayan bir fonksiyondur. Procedure TForm1.Button1Click(Sender; Object); Var Tarih := TDate; Deger : Word; begin Tarih := Date+5; // Şu an ki tarih 11/07/2003 Sonuc := MonthOfTheYear(Tarih); Caption := IntToStr(Deger); // 7 Yazar end; 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:10:24 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; StartOfAMonth(Yıl, Ay); Parametreyle belirtilen yıla, yine ikinci parametreyle belirtilen adet kadar ay ekler. Procedure TForm1.Button1Click(Sender; Object); Var Tarih : TDateTime; begin Tarih := StartOfAMonth(2003, 6); // 6 Ay ekle Caption := DateToStr(Tarih); //01/06/2003 yazar end; StartOfAWeek(Yıl, Hafta); Parametreyle belirtilen yıla, yine ikinci parametreyle belirtilen hafta sayısını ekler, yeni bir tarih hesaplar. Procedure TForm1.Button1Click(Sender; Object); Var Tarih : TDateTime; begin Tarih := StartOfAWeek(2003, 3); // 3. Haftayı bul Caption := DateToStr(Tarih); // 13/01/2003 yazar end; Fonksiyondan geriye dönen değer tarihsel içerik içerdiğinden, yazdırmak için DateToStr fonksiyonundan faydalanmalısınız. StartOfAYear(Yıl); Parametreyle belirtilen yılın ilk gününe ait tarih değerini döndüren fonksiyondur. Fonksiyondan geriye dönen değer tarihsel veri içerdiği için yazdırmak ancak DateToStr fonksiyonu sayesinde olabilecektir. Procedure TForm1.Button1Click(Sender; Object); Var Tarih : TDateTime; begin Tarih := StartOfAYear(2004); Caption := DateToStr(Tarih); //01/01/2004 yazar end; StartOfTheMonth(Yıl); Parametre ile belirtilen tarihteki ilk günü bulmak için kullanılan bir fonksiyondur. (ay ve yıl değişmez sadece günün değerini 1 yapar) Procedure TForm1.Button1Click(Sender; Object); Var Tarih : TDateTime; begin Tarih := StartOfTheMonth(Date); // 11/07/2003 Caption := DateToStr(Tarih); //01/07/2003 yazar end; StartOfTheWeek(Tarih); Parametre olarak girilen tarihteki ilk gününün tarihini hesaplayan bir fonksiyondur. Procedure TForm1.Button1Click(Sender; Object); Var Tarih : TDateTime; begin Tarih := StartOfTheWeek(Date); // 11/07/2003 Caption := DateToStr(Tarih); //07/07/2003 yazar end; Örnekte yer alan aktif tarih 11/07/2003 tür ve Cuma gününe karşılık gelmektedir.O haftaya ait pazartesi, pazartesi gününün tarihi ise 07/0/7/2003 tür. Bu yüzden fonksiyın tarihinin bulunfuğu haftaya ait ilk günü döndüreceği için sonuç 07/07/2003 olacaktır. StrToDate(Stirng_Tarih); Parametre ile verilen string değişkeni tarihsel veriye dönüştürmek için kullanılan bir fonksiyondur. Dikkat edeceğiniz husus parametre değerini tarihe çeviremez ise program hata verecektir. Procedure TForm1.Button1Click(Sender; Object); Var Tarih : TDateTime; begin Tarih := StrToDate(Edit1.Text); // Tarihe çevir Caption := DateToStr(Tarih+10); // 10 Gün ekle end; StrToDateDef(Tarih, Varsayılan_Tarih); StrToDate fonksiyonu yanlış tarih girildiği zaman hata veriyordu. Bu fonksiyon ise yanlış tarih girilmesi durumunda ikinci parametre ile belirtilen değeri tarih olarak kabul edecektir. Procedure TForm1.Button1Click(Sender; Object); Var Tarih : TDateTime; begin Tarih := StrToDateDef(Edit1.Text, Date); // Eğer yanlış tarih girilmişse bugünün tarihini baz al Caption := DateToStr(Tarih); end; Fonksiyonun yaptığı iş Edit1 kutusuna tarihe dönüştürülemeyecek bir değerin girilmesi durumunda oluşacak hatayı engellemek ve (bir çok durumda bu günkü tarihin yazılması için bilerek yaptırılabilir) aktif tarihin işleme sokulmasını sağlamaktır. StrToDateTime(String_Tarih); Parametre ile belirtilen değişkenin değerini Tarih_Zaman içerikli değişkene aktarmak için kullanılan bir fonksiyondur. Procedure TForm1.Button1Click(Sender; Object); Var Tarih : TDateTime; begin Tarih := StrToDateTime(Edit1.Text); // Tarih ve zamana çevir Caption := DateTimeToStr(Tarih+10); // 10 Gün ekle end; StrToDateTimeDef(Tarih_Zaman , Varsayılan_Tarih_Zaman); Tip çevirme işleminde hata oluşursa (tarih girilmez veya yanlış girilirse) ikinci parametre ile verilen değeri kabul ederek işlemlere devam eden fonksiyondur. Procedure TForm1.Button1Click(Sender; Object); Var Tarih : TDateTime; begin Tarih := StrToDateTimeDef(Edit1.Text, Now); // Eğer yanlış tarih girilirse şu anki tarih_zamanı al Caption := DateTimeToStr(Tarih); end; StrToTime(String_Zaman); Parametre ile belirtilen string veriyi zamansal değere çevirebilen bir fonksiyondur. Şayet parametre değeri zamana çevrilemiyorsa, programınız hata mesajı verecektir. Procedure TForm1.Button1Click(Sender; Object); Var Zaman : TDateTime; begin Zaman := StrToTime(Edit1.Text); // Zamana çevir Caption := TimeToStr(Zaman); end; Bu örnek için Edit kutusuna (10:06:45) gibi saati gösteren bir değer girmelisiniz. StrToTimeDef(String_Zaman , Varsayılan_Zaman); StrToTime fonksiyonu Edit kutusuna yanlış değer girildiğinde kırılıyordu. Bu fonksiyonda yanlış değer (zaman çevrilemeyecek string) girilmesi durumunda ikinci parametre ile verilen zaman değeri kabul edilecek ve işlemler devam edecektir. Dolayısı ile programın kırılmasınıda engellemiş olacaksınız. Procedure TForm1.Button1Click(Sender; Object); Var Zaman : TDateTime; begin Zaman := StrToTimeDef(Edit1.Text , Time); // Yanlış değer girilirse şu an ki zamanı kabul et Caption := TimeToStr(Zaman); end; Time – GetTime : İki fonksiyonu kullanarak da aktif saati öğrenebilirsiniz.Fonksiyondan geriye dönen değer zaman içerikli olacağı için yazdırmak için TimeToStr tip dönüşüm fonksiyonunu kullanmalısınız. Procedure TForm1.Button1Click(Sender; Object); Var Zaman1, Zaman2 : TDateTime; begin Zaman1 := Time; Zaman2 := GetTime; Caption := ‘Time : ’+TimeToStr(Zaman1)+’ GetTime : ’+TimeToStr(Zaman2); end; TimeOf(Zaman); Procedure TForm1.Button1Click(Sender; Object); Var Zaman1, Zaman2 : TDateTime; begin Zaman1 := Time; Zaman2 := TimeOf(Now); Caption := ‘Time : ’+TimeToStr(Zaman1)+’ TimeOf : ’+TimeToStr(Zaman2); end; TimeToStr(Tarih_Zaman); Parametre ile belirtilen tarih ve zamanın sadece zaman ile ilgili kısmını string e çevirip yazdırmak için kullanılır. Aşağıdaki örnekte TimeToStr ile DateTimeToStr arasındaki fark anlatılmıştır. Procedure TForm1.Button1Click(Sender; Object); Var Zaman : TDateTime; begin Zaman := Now; Caption := ‘TimeToStr : ’+TimeToStr(Zaman)+’ DateTimeToStr : ’+DateTimeToStr(Zaman); end; Today: Aktif tarihi (saatsiz olarak) yazdırmak için kullanılan bir fonksiyondur. Procedure TForm1.Button1Click(Sender; Object); Var Tarih : TDateTime; begin Tarih := Today; Caption := DateTimeToStr(Tarih); // 11/07/2003 end; Fonksiyondan geriye dönen değer tarihsel içerikli olduğu için DateTimeToStr (DateToStr de olur) tip dönüştürme fonksiyonundan faydalanmalısınız. Tomorrow: Aktif tarihten (Date) bir gün sonraki tarihi bulmak için kullanılan bir fonksiyondur. (Date+1) Procedure TForm1.Button1Click(Sender; Object); Var Yarin : TDateTime; begin Yarin := Tomorrow; Caption := DateTimeToStr(Yarin); end; WeekOf(Tarih); Parametreyle belirtilen tarih değerinin yılın kaçıncı haftasına karşılık geldiğini hesaplayan bir fonksiyondur. Procedure TForm1.Button1Click(Sender; Object); Var Tarih : TDateTime; Hafta : Word; begin Tarih := Now; // Şu an ki tarih 11/07/2003 Hafta := WeekOf(Tarih); // Yılın kaçıncı haftası Caption := IntToStr(Hafta)+’. Hafta’; // 28. Hafta yazar end; WeekOfTheMonth(Tarih); Bu da belirtilen tarih içerisinde o aya ait hangihaftada bulunduğunu hesaplayan bir fonksiyondur. Fonksiyondan geriye dönen değer tam sayı olduğu için yazdırılma işlemi ancak IntToStr tip dönüştürme fonksiyonu kullanılarak yapılabilir. Procedure TForm1.Button1Click(Sender; Object); Var Tarih : TDateTime; Hafta : Word; begin Tarih := Now; Hafta := WeekOfTheMonth(Tarih); // Ayın kaçıncı haftası Caption := IntToStr(Hafta); end; WeekBetween(Tarih1, Tarih2); Parametre olarak girilen iki tarih arasındaki hafta sayısını hesaplayan bir fonksiyondur. Fonksiyondan geriye dönen değer tam sayı olduğu için IntToStr tip dönüştürme fonksiyonu sayesinde yazdırılabilir. Procedure TForm1.Button1Click(Sender; Object); Var Tarih1, Tarih2 : TDateTime; Adet : Word; begin Tarih1 := StrToDate(’01.03.2003’); Tarih2 := StrToDate(’01.05.2003’); Adet := WeeksBetWeen(Tarih1,Tarih2); // Arada kaç hafta var Caption := IntToStr(Adet)+’ Hafta fark var’; // 8 Hafta fark var yazar end; WeeksInAYear(Yıl); Parametre ile girilen yılın kaç haftadan oluştuğunu hesaplayan fonksiyondur. Fonksiyondan geriye dönen değer tam sayı tipli olduğu için IntToStr fonksiyonu sayesinde yazdırabilirsiniz. Procedure TForm1.Button1Click(Sender; Object); begin Caption := IntToStr(WeeksInAYear(2003)); // 52 yazar end; YearOf(Tarih); Parametre olarak girilen tarih zaman değerinden sadece yıla ait olan bölümü döndüren fonksiyondur. Fonksiyondan geriye dönen değer tam sayı tipli olacağı için yazdırmak için IntToStr fonksiyonundan faydalanmalısınız. Procedure TForm1.Button1Click(Sender; Object); Var Tarih : TDateTime; Deger : Word; begin Tarih := Now; Deger := YearOf(Tarih); // Sadece yılı al Caption := IntToStr(Deger); // 2003 yazar end; YearsBetween(Tarih1, Tarih2); Parametre ile belirtilen tarihlerin arasında kaç yıl bulunduğunu hesaplayan fonksiyondur. Fonksiyondan geriye dönen değer tam sayı tipli olacağı için yazdırmak için IntToStr fonksiyonundan faydalanmalısınız. Procedure TForm1.Button1Click(Sender; Object); Var Tarih1, Tarih2 : TDateTime; Deger : Integer; begin Tarih1 := StrToDate(’01.02.2003’); Tarih2 := StrToDate(’01.03.2006’); Deger := YearsBetween(Tarih1,Tarih2); // Arada kaç yıl var Caption := IntToStr(Deger); // 3 yazar end; Yesterday : Bir önceki güne ait (Date-1) tarihi hesaplayabilen bir fonksiyondur. Fonksiyondan geriye dönen değer tarih içerikli olacağı için yazdırmak ancak DateToStr tip dönüştürme fonksiyonu sayesinde olabilecektir. Procedure TForm1.Button1Click(Sender; Object); Var Tarih : TDateTime; begin Tarih := Yesterday; // Bir önceki günü al Caption := ‘Önceki günkü tarih ’+DateToStr(Tarih); end; |
||