PCTurk | Aşk Sevgi Resimleri , Mektupları , silkroad , msn avatarlar , komik (Arşiv Ana sayfa) => Delphi

Konu: Delphide zaman fonksiyonları - 2

Sayfa: [ 1 ]

sWaGg€r 06.07.2008 21:02:55
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;


Sayfa: [ 1 ]