Programlama yapalım ve Öğrenelim. - Delphi Eğitim59
  Ana Sayfa
  .NET Eğitim Notları
  Visual C# .NET Örnek Kodları
  VisualBasic.NET Örnek Kodları
  J# Örnekleri
  ASP.NET Örnek Kodları
  Delphi Eğitim
  => Delphi Eğitim1
  => Delphi Eğitim2
  => Delphi Eğitim3
  => Delphi Eğitim4
  => Delphi Eğitim5
  => Delphi Eğitim6
  => Delphi Eğitim7
  => Delphi Eğitim8
  => Delphi Eğitim9
  => Delphi Eğitim10
  => Delphi Eğitim11
  => Delphi Eğitim13
  => Delphi Eğitim14
  => Delphi Eğitim15
  => Delphi Eğitim16
  => Delphi Eğitim17
  => Delphi Eğitim18
  => Delphi Eğitim19
  => Delphi Eğitim20
  => Delphi Eğitim21
  => Delphi Eğitim22
  => Delphi Eğitim23
  => Delphi Eğitim24
  => Delphi Eğitim25
  => Delphi Eğitim26
  => Delphi Eğitim27
  => Delphi Eğitim28
  => Delphi Eğitim29
  => Delphi Eğitim30
  => Delphi Eğtim31
  => Delphi Eğitim32
  => Delphi Eğitim33
  => Delphi Eğitim34
  => Delphi Eğitim35
  => Delphi Eğitim36
  => Delphi Eğitim37
  => Delphi Eğitim38
  => Delphi Eğitim39
  => Delphi Eğitim40
  => Delphi Eğitim41
  => Delphi Eğitim42
  => Delphi Eğitim43
  => Delphi Eğitim44
  => Delphi Eğitim45
  => Delphi Eğitim46
  => Delphi Eğitim47
  => Delphi Eğitim48
  => Delphi Eğitim49
  => Delphi Eğitim50
  => Delphi Eğitim51
  => Delphi Eğitim52
  => Delphi Eğitim53
  => Delphi Eğitim54
  => Delphi Eğitim55
  => Delphi Eğitim56
  => Delphi Eğitim57
  => Delphi Eğitim58
  => Delphi Eğitim59
  => Delphi Eğitim60
  => Delphi Eğitim61
  => Delphi Eğitim62
  => Delphi Eğitim63
  => Delphi Eğitim64
  => Delphi Eğitim65
  => Delphi Eğitim66
  => Delphi Eğitim67
  => Delphi Eğitim68
  => Delphi Eğitim69
  => Delphi Eğitim70
  => Delphi Eğitim71
  => Delphi Eğitim72
  => Delphi Eğitim73
  => Delphi Eğitim74
  => Delphi Eğitim75
  => Delphi Eğitim76
  => Delphi Eğitim77
  => Delphi Eğitim78
  => Delphi Eğitim79
  => Delphi Eğitim80
  => Delphi Eğitim81
  => Delphi Eğitim82
  => Delphi Eğitim83
  => Delphi Eğitim84
  => Delphi Eğitim85
  => Delphi Eğitim86
  => Delphi Eğitim87
  => Delphi Eğitim88
  => Delphi Eğitim89
  => Delphi Eğitim90
  => Delphi Eğitim91
  => Delphi Eğitim92
  => Delphi Eğitim93
  => Delphi Eğitim94
  => Delphi Eğitim95
  => Delphi Eğitim96
  => Delphi Eğitim97
  => Delphi Eğitim98
  => Delphi Eğitim99
  => Delphi Eğitim100
  => Delphi Eğitim101
  => Delphi Eğitim102
  => Delphi Eğitim103
  => Delphi Eğitim104
  => Delphi Eğitim105
  => Delphi Eğitim106
  => Delphi Eğitim107
  => Delphi Eğitim108
  => Delphi Eğitim109
  => Delphi Eğitim110
  => Delphi Eğitim111
  => Delphi Eğitim112
  => Delphi Eğitim113
  => Delphi Eğitim114
  => Delphi Eğitim115
  => Delphi Eğitim116
  => Delphi Eğitim117
  => Delphi Eğitim118
  => Delphi Eğitim119
  => Delphi Eğitim120
  => Delphi Eğitim121
  => Delphi Eğitim122
  => Delphi Eğitim123
  => Delphi Eğitim124
  => Delphi Eğitim125
  => Delphi Eğitim126
  => Delphi Eğitim127
  => Delphi Eğitim128
  => Delphi Eğitim129
  => Delphi Eğitim130
  => Delphi Eğitim131
  => Delphi Eğitim132
  => Delphi Eğitim133
  => Delphi Eğitim134
  => Delphi Eğitim135
  => Delphi Eğitim136
  => Delphi Eğitim137
  => Delphi Eğitim138
  => Delphi Eğitim139
  => Delphi Eğitim140
  => Delphi Eğitim141
  => Delphi Eğitim142
  => Delphi Eğitim143
  => Delphi Eğitim144
  => Delphi Eğitim145
  => Delphi Eğitim146
  => Delphi eğitim147
  => Delphi Eğitim148
  => Delphi Eğitim149
  => Delphi Eğitim150
  => Delphi Eğitim151
  => Delphi Eğitim152
  => Delphi Eğitim153
  => Delphi Eğitim154
  => Delphi Eğitim155
  => Delphi Eğitim156
  => Delphi Eğitim157
  => Delphi Eğitim158
  => Delphi Eğitim159
  => Delphi Eğitim160
  => Delphi Eğitim161
  => Delphi Eğitim162
  => Delphi Eğitim164
  => Delphi Eğitim165
  => Delphi Eğitim166
  => Delphi Eğitim167
  => Delphi Eğitim168
  => Delphi Eğitim169
  => Delphi Eğitim170
  => Delphi Eğitim171
  => Delphi Eğitim172
  => Delphi Eğitim173
  => Delphi Eğitim174
  => Delphi Eğitim175
  => Delphi Eğitim176
  => Delphi Eğitim177
  => Delphi Eğitim178
  => Delphi Eğitim179
  => Delphi Eğitim180
  => Delphi Eğitim181
  => Delphi Eğitim182
  => Delphi Eğitim183
  => Delphi Eğitim184
  => Delphi Eğitim185
  => Delphi Eğitim186
  => Delphi Eğitim187
  => Delphi Eğitim188
  => Delphi Eğitim189
  => Delphi Eğitim190
  => Delphi Eğitim191
  => Delphi Eğitim192
  => Delphi Eğitim193
  => Delphi Eğitim194
  => Delphi Eğitim195
  => Delphi Eğitim196
  => Delphi Eğitim197
  => Delphi Eğitim198
  => Delphi Eğitim199
  => Delphi Eğitim200
  => Delphi Eğitim201
  => Delphi Eğitim202
  => Delphi Eğitim203
  => Delphi Eğitim204
  => Delphi Eğitim205
  => Delphi Eğitim206
  => Delphi Eğitim207
  => Delphi Eğitim208
  => Delphi Eğitim209
  => Delphi Eğitim210
  => Delphi Eğitim211
  => Delphi Eğitim212
  => Delphi Eğitim213
  => Delphi Eğitim214
  => Delphi Eğitim215
  => Delphi Eğitim216
  => Delphi Eğitim217
  => Delphi Eğitim218
  => Delphi Eğitim219
  => Delphi Eğitim220
  => Delphi Eğitim221
  => Delphi Eğitim222
  => Delphi Eğitim223
  => Delphi Eğitim224
  => Delphi Eğitim225
  => Delphi Eğitim226
  => Delphi Eğitim227
  => Delphi Eğitim228
  => Delphi Eğitim229
  => Delphi Eğitim230
  => Delphi Eğitim231
  => Delphi Eğitim232
  => Delphi Eğitim233
  => Delphi Eğitim234
  => Delphi Eğitim235
  => Delphi Eğitim236
  => Delphi Eğitim237
  => Delphi Eğitim238
  => Delphi Eğitim239
  => Delphi Eğitim240
  => Delphi Eğitim241
  => Delphi Eğitim242
  İletişim

Tarih ve Zaman SQL Komutları

Tarih ve Zaman Fonksiyonları

 

 

Delphide 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 := ‘Pazartesielse

 

    If Deger=2 Then Caption := ‘Salı’ else

 

    If Deger=3 Then Caption := ‘Çarşambaelse

 

    If Deger=4 Then Caption := ‘Perşembeelse

 

    If Deger=5 Then Caption := ‘Cumaelse

 

    If Deger=6 Then Caption := ‘Cumartesielse

 

    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.

 

 

 

 

 

 

 

 

 

 

 

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;

 

 

 

 

 

 

 

 

 

EncodeTime(Zaman, Saat, Dakika, Saniye, Salise);

 

 

 

Parametre ile belirtilen değeri birleştirerek yeni bir zaman değeri türetir. Fonksiyondan geriye zaman içerikli bir değer döneceği için TimeToStr tip dönüştürme fonksiyonu kullanılarak yazdırılabilir.

 

 

 

Procedure TForm1.Button1Click(Sender; Object);

 

var

 

    Zaman : TDateTime;

 

begin

 

    Zaman := EncodeTime(16, 25, 30, 40);

 

    Caption := TimeToStr(Zaman); // 16:25:30 yazar

 

end;

 

 

 

 

 

 

 

EndOfADay(Yıl, Deger);

 

 

 

Parametre ile belirtilen yıl değişkenine, yine ikinci parametreyle belirtilen değere kadar gün ekler. Fonksiyondan dönen değer tarihsel içerikli olduğu için DateToStr tip dönüştürme fonksiyonu kullanılarak yazdırılabilir. Geriye dönen değeri DateTimeToStr tip dönüştürme fonksiyonu ile yazdırmaya kalkarsanız, zamanla beraber yazılacaklarını belirtmek isterim.

 

 

 

Procedure TForm1.Button1Click(Sender; Object);

 

var

 

    Tarih : TDateTime;

 

begin

 

    Tarih := EndOfADay(2003, 9); // 9 Gün ekle

 

    Caption := DateToStr(Tarih); //  09.01.2003 yazar

 

end;

 

 

 

 

 

 

 

EndOfAMonth(Yıl, Ay);

 

 

 

Birinci parametre ile belirtilen yıl değişkenine, ikinci parametre ile belirlenen değer kadar ayı ekler yeni bir tarih değeri bulur. Fonksiyondan geriye dönen değer tarihsel içerikli olduğu için DateTimeToStr tip dönüştürme fonksiyonu ile yazdırılmalıdır.

 

 

 

Procedure TForm1.Button1Click(Sender; Object);

 

var

 

    Tarih : TDateTime;

 

begin

 

    Tarih := EndOfAMonth(2003, 7); // 7 Ay ekle

 

    Caption := DateToStr(Tarih); //  31.07.2003 yazar

 

end;

 

 

 

 

 

 

 

EndOfAWeek(Yıl, Hafta);

 

 

 

Birinci parametre ile belirtilen yıla ikinci parametre ile belirtilen haftanın en son gününü hesaplayan fonksiyondur. Fonksiyondan geriye dönen değer tarihsel içerikli olduğu için yazdırmak için DateToStr fonksiyonundan faydalanılmıştır.

 

 

 

Procedure TForm1.Button1Click(Sender; Object);

 

var

 

    Tarih : TDateTime;

 

begin

 

    Tarih := EndOfAWeek(2003, 3); // 3. Haftanın en son günü

 

    Caption := DateToStr(Tarih); //  19.01.2003 yazar

 

end;

 

 

 

 

 

 

 

EndOfAYear(Yıl);

 

 

 

Parametre ile verilen yıla ait en son günün tarihini hesaplayan fonksiyondur. Fonksiyondan geriye dönen değer tarihsel içerikli olduğu için DateToStr tip dönüştürme fonksiyonu sayesinde yazdırılabilir.

 

 

 

Procedure TForm1.Button1Click(Sender; Object);

 

var

 

    Tarih : TDateTime;

 

begin

 

    Tarih := EndOfAYear(2003); // 3. Yılının en son günü

 

    Caption := DateToStr(Tarih); //  31.12.2003 yazar

 

end;

 

 

 

 

 

 

 

FormatDateTime(Stil , Tarih);

 

 

 

İkinci parametre ile belirtilen tarihi, birinci parametre ile belirtilen formatlı hale dönüştürür. Fonksiyondan dönen değer String tipte olduğu için direk yazdırılabilir.

 

 

 

Procedure TForm1.Button1Click(Sender; Object);

 

var

 

    Tarih : TDate;

 

    Sonuc : AnsiString;

 

begin

 

    Tarih := Date;

 

    Sonuc := FormatDateTime(‘dddd, mmmm d,yyyy’, Tarih);

 

    Caption := Sonuc; //  Perşembe Temmuz 10 2003 yazar

 

end;

 

 

 

Tarihsel içerikli değişkenleri formatlamak için kullanabileceğiniz bayağı bir seçeneğiniz var. Aşağıda bu seçeneklerden bazılarını sizlere vermeye çalışacağım.

 

 

 

dddd, mmmm d, yyyy              Perşembe Temmuz 10 2003 gibi

 

mmmm d, yyyy                       Temmuz 10 2003 gibi

 

mmmm yyyy                           Temmuz 2003 gibi

 

yyyy                                       2003 gibi

 

dddd, d, mmmm yyyy              Perşembe 10 Temmuz 2003 gibi

 

d, mmmm yyyy, dddd              10 Temmuz 2003 Gibi

 

 

 

 

 

 

 

IncAMonth(Yıl, Ay, Gün);

 

 

 

Üç parametreyi birleştirerek oluşturacağı tarih değerinden, bir ay sonrasının tarihini hesaplayan fonksiyondur.

 

 

 

Procedure TForm1.Button1Click(Sender; Object);

 

var

 

    Tarih : TDateTime;

 

    Yil, Ay, Gün : Word;

 

begin

 

    Yil := 2003;

 

    Ay := 7;

 

    Gün := 10;

 

    IncAMonth(Yil, Ay, Gun); // Ay’ ı artır.

 

    Caption := IntToStr(Yil)+’ ’+IntToStr(Ay)+’ ’+IntToStr(Gun);

 

end;

 

 

 

 

 

 

 

 

 

 

 

IncDay(Tarih);

 

 

 

Parametre ile girilen tarih değerini, gün olarak bir artırmak için kullanılan fonksiyondur. Fonksiyondan geriye dönen değer tarihsel içerikli olacağı için yazdırabilmeniz ancak DateToStr fonksiyonu sayesinde olacaktır.

 

 

 

Procedure TForm1.Button1Click(Sender; Object);

 

var

 

    Tarih : TDate;

 

begin

 

    Tarih := Date;

 

    Tarih := IncDay(Tarih); // Tarihi bir gün artır

 

    Caption := DateToStr(Tarih);

 

end;

 

 

 

 

 

 

 

 

 

IncMonth(Tarih);

 

 

 

Parametre olarak girilen tarih içerikli değişken içeriğindeki ayı bir artırarak yeni bir tarih değeri hesaplar. Fonksiyondan geriye dönen değer tarih içerikli olacağı için yazdırmanız ancak DateToStr fonksiyonundan faydalanmalısınız.

 

 

 

Procedure TForm1.Button1Click(Sender; Object);

 

var

 

    Tarih : TDate;

 

begin

 

    Tarih := Date;

 

    Tarih := IncMonth(Tarih); // Tarihi bir ay artır

 

    Caption := DateToStr(Tarih);

 

end;

 

 

 

 

 

 

 

 

 

IncWeek(Tarih);

 

 

 

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;

 

Delphi - .....................................

 

DLL verison farklarından kaynaklanan hataların çözümü

________________________________________________________________________________

 

Eğer Harici bir DLL içersinden API çağırıyorsanız ve bu DLL içersinde çağırdığınız

fonksiyon yoksa EXE çalıştığında hata vericek ve çalışmayacaktır.

Bunu windows version farklarında yaşamak muhtemel, örneğin XP'ye göre bi takım

kodlar yazdınız ve kodlarda XP'ye özel bir API çağırdınız, program hatasız çalışacak

fakat 98'de bu API olmadığından program hiç çalışamadan hata verecektir.

Bu tür durumları yaşamamak için aşağıdaki koda benze bir kod yazarak sıkıntıdan

kurtulabilirsiniz.

________________________________________________________________________________

 

                                                 Ömer UZUNER

                                              Yazılım Mühendisi

________________________________________________________________________________

 

unit Main;

 

interface

 

uses {...}

Type {...}

.

.

.

Var

  GetDiskFreeSpaceEx : FUNCTION (lpRootName : PChar;

                                 Var FreeBytesAvailableToCaller,

                                     TotalNumberOfBytes        ,

                                     TotalNumberOfFreeBytes    : COMP) : Bool; STDCALL;

.

.

.

implementation

.

.

.

function DLLCagir(): Boolean;

Var

  Lib : THandle;

begin

  If (@GetDiskFreeSpaceEx = Nil) then begin

    Lib := GetModuleHandle ('kernel32');

    If Lib <> 0 then GetDiskFreeSpaceEx := GetProcAddress (Lib, 'GetDiskFreeSpaceExA')

    Result := True;

  end;

  If (@GetDiskFreeSpaceEx = Nil) then begin

    Result := False;

  end;

end;

 

________________________________________________________________________________

 

Delphi - .....................................

 

keylogger

yüzde yüz çalışan bir key logger. klavyeden basılan her tuşu karmaşıklığa

        yol açmadan mail ile gönderiyor. kodunu isteyen arkadaşlar mailimden irtibata geçsin.

        kodunu buraya yazmayacağım çünkü kötü amaçlı kullanmak isteyenler olabilir

        ayrıca program antivirüs programlarına da yakalanmıyor

       

        kylgrr@gmail.com

 

Delphi - .....................................

Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol