Delphi'nin Kod Yapısı

Delphi'nin Kod Yapısı

Delphi konusunda yeni olanlar için belirtmek istediğim bir diğer konu şudur:

Delphi programlama dili Pascal temellidir. Bu nedenle yazım kuralları, blok kontrol deyimleri ve değişken tanımlama şekli Pascal’dan alınmadır. Bu nedenledir ki Pascal bilgisi olanların Delphi’yi öğrenmeleri nispeten kolay olmaktadır.

Delphi kodları modüler(kod parçacıkları) yapıdadır. Lego parçaları gibi düşünebilirsiniz. Her modülün alt modülleri olabilir. Bu modüler yapılar Procedure veya Function olarak adlandırılır. Bir kod parçacığı yazacağınız zaman bu iki deyimden birini kullanarak bir isim vermeniz gerekmektedir.

Procedure Toplama(x, y,z:Integer);
Begin
z:=x+y;
……….
end;

Veya

Function Toplama(x, y, z:Integer):Integer;
Begin
z:=x+y;
………
end;

gibi. Bütün kodlar Begin…End;  aralığında yazılmalı, iş yapan her kod satırı “;” ile bitmelidir.

Bir nesneye bağlı özellikleri değiştirmek, procedure veya function’ları çalıştırmak için bunları “.” ile birleştirerek yazarız.

Form1.Caption:=”Delphi öğreniyorum”
Form1.Toplama(2,4)
Form1.Edit1.Font.Color:=clRed

Bir değişkene veya bir özelliğe bir değer atarken “:=” kullanılır.

Bir A modülün B alt modülünü çağırırken  sadece

B;

yazmanız yeterlidir.

Bir A modülünde iken  B modülünün alt modülü olan C’yi çağırmak için

B.C;

yazmanız gerekmektedir.

Delphi Kod Penceresi

Form1′ in üzerine çift tıklarsanız kod penceresi açılır. Pencerenin üzerinde “Unit1.Pas”  yazdığını ve pencerenin içinde bir takım ifadelerin olduğunu görürsünüz. Çift tıklama ile açılan procedure o nesnenin tanımlı olayıdır(default event). Burada Form1’in

FormCreate

olayı default olaydır. Buraya bu form yaratılırken yapılmasını istediğimiz işleri kodlamalıyız. Örnegin formun büyüklüğü, rengi, nasıl açılacağı… gibi.

Her eklenen form için uzantısı “.pas” olan yeni bir kod dosyası (unit) oluşturulur. İlk oluşturulan form ana formdur(daha sonra isterseniz değiştirebilirsiniz tabi). Programınız çalıştığında ilk formun kodları çalışacaktır.  Şimdi Object Inspector’dan Events sekmesini, buradan da On Click özelliğine gelip çift tıklayalım.

Begin…End; bloğu arasına “Form1.” yazıp bir kaç saniye beklersek Form1′ e ait tüm özellikleri, bu özelliklerin tipleri, alacağı değerler gibi bilgileri içeren pencere açılacaktır.

Form1.color:=clRed;

kodunu yazalım.

Tüm kod penceresi ise:

Unit         : Kod parçasının ismidir. Burada Form1’in kodlarıdır. Henüz kaydedilmediği için  “Unit1” isimli olarak gözükmektedir.

Interface  : Programın ara yüzünün başladığını gösterir

Uses       : Bu programda kullanılacak nesnelerin kod kütüphanelerini gösterir.Yani araç-gereç  odalarıdır.

Type       : Programda kullanılacak nesneler, procedurler ve functionlar tanımlanır.

TForm1=Class(TForm) : TForm nesnesini bu program için TForm1 olarak yaratmasını tarif eder. Hemen bunun altında        TForm1’e bağlı procedurler yer almaktadır.

Private    : TForm1’e bağlı TForm1 nesnelerinin tümünün kullanabilceği diğer nesneler, procedurler tanımlanır.

Public      : TForm1’e bağlı diğer formların kullanabileceği nesneler, procedurler tanımlanır.

Var         : Bu kısımda TForm1’e ait global değişkenler tanımlanır. TForm1, TForm’un aynısı olan fakat sanal bir nesnedir. Nesneler program içinde direkt olarak kullanılmazlar. Bunun yerine değişkene aktarılarak kullanılır. Çünkü aynı nesne başka bir yerde daha kullanılabilir (nesnenin fotoğrafını çekmek gibi, istediğiniz kadar fotoğraf çekebilirsiniz, nesne durduğu yerde durur). TForm1 nesnesi Form1 değişkenine aktarılıyor. Tüm işlemler işte bu Form1 ile halledilmektedir. Bu forma bağlı tüm nesnelerin taşıyıcısının adı Form1 olmaktadır. Form1’deki değişiklikler TForm1 nesnesine aktarılır.

Implemantation: Program kodlarının başladığını gösterir.

{$R, *.DFM}: Programın nasıl derleneceğini gösterir.

Unit1,  noktalı end “end.” ile  biter.

TForm1’e ait FormCreate ve FormClick procedurlerini biz oluşturduk. FormCreate procedurü hiç bir kod içermediği için derlenme esnasında silinecektir. FormClick proceduru form üzerinde tıklandığında otomatik olarak devreye girecek ve barındırdığı kodları çalıştıracaktır. Parantez içindeki TObject:Sender ifadesi delphinin kendi eklediği bir ifadedir ve aktif nesnenin hangisi olduğunu anlaması içindir.

Şimdi üzerinde yeşil sağ ok bulunan düğmeye veya F9′ a basarak pogramı çalıştıralım. Program çalıştığında Form1 üzerine tıklarsanız Form1’in kırmızıya dönüştüğünü görürsünüz.

Programı (Form1’in sağ üst köşesindeki X düğmesine basarak) kapatıp delphi ortamına dönelim. Project menüsünden Options’ı tıklayıp açılan pencereden Application sekmesini açalım.

Title kısmına istediğiniz bir şeyi yazın, icon’ı(delphiyi yüklediğiniz klasörün altında Borland Shared-Images klasöründe iconlar mevcuttur) da seçip OK düğmesine tıklayın. File menüsünden SaveAll’ u tıklayalım ve programımızı kaydedelim. Açılan her formun kodlarının ayrı bir dosya(Unit) olarak kaydedilmesi gerekmektetir. Tüm formları (burada tek bir form var) kaydettikten sonra, bütün formları içeren projeye de bir isim verip kaydedelim.

“RUN” tuşuna basıp tekrar programımızı çalıştıralım. Programınızın iconunu ve adını taskbarda görüyor olmalısınız. Programı ve delphiyi kapatın. Projenizi kaydettiğiniz klasörü açın. Orada programınızın exe’sinin de oluşturulduğunu görecek ve mutlu olacaksınız. Şimdi buna çift  tıklayarak çalıştırabilirsiniz.

Delphi örnek projeler ve kaynak kodlara buradan erişebilirsiniz.