//--> Css-WebTasarim.Tr.Gg Yarışması

Delphi Dersleri

Delphiyi Taniyalim

DELPHI





Delphi’ye Hızlı Bir Başlangıç
DELPHI günümüzde kullanılan en yaygın programlama dillerinden biridir. Görsel geliştirme ortamının ( Visual Development Environment –VDE ) getirdiği kolaylık ile Pascal’ın esnekliğini bir araya getirmiştir. Sadece dünyada yaygın olarak değil ülkemizde de en popüler diller arasında ön sıralarda yer almaktadır. Bunların dışında DELPHI çok genişözellik yelpazesine sahip olmasından dolayıanlatılmasıve öğrenilmesi bir programcı için yıllar alabilecek bir dildir. Özetlemek gerekirse sabır bir numaralıkuralımız olacaktır. Elimizden geldiği kadar size en iyi şekilde bu dili anlamaya çalışacağız. İsterseniz konuya hemen hızlı bir girişyapalım.
Delphi nereden nereye?
Delphi’nin temelleri 1960 yılına kadar gider ve ALGOL programlama diline dayanır. ALGOL (Algorithmic Language) programlama dillerinin dizaynında önemli bir etkisi olan bir dildir. Uluslar arasıbir komite tarafından geliştirilen, getirdiği birçok yeni kavramla Pascal programlama dilinin ve diğer birçok dilde kullanılan kavramların atasısayılır. ALGOL 60 ile geliştirilen bazıkavramlar şunlardır:
Recursion
Begin ve end anahtar sözcükleri ile komut gruplarının birbirinden ayrılması
‘Block if’ tanımlanması
Aritmetik atamalar için := sembolünün kullanılması
Noktalıvirgüller kullanarak komutların ayrılması, böylece her satırda bir komut girmek yerine programcıyıarzu ettiği bir görünümde program komutlarıdiziminde serbest bırakır.

1968 yılında yayınlanan ALGOL 68 daha güçlüama öğrenmesi daha da zor olmasıyla bilinen kavramsal bir dil geliştirildi. ALGOL 68’in karmaşıklığından doğan memnuniyetsizliğinin bir sonucu olan ALGOL W Prof. Niklaus Wirth tarafından 1964-1967 yıllarıarasında geliştirildi. 1968 yılına gelindiğinde ise ALGOL 68 yayınlanmışve Niklaus Wirth ise bu süre zarfında ALGOL W dilini geliştirmiştir. Bu dillerin modernleştirilmesi gerektiğini düşünen matematik profesörüNiklaus Wirth 1968-1972 yıllarıarasında yeni bir dil geliştirdi. Bu dile 17. yüzyılın ünlü matematikçisi ve filozofu Blaise Pascal'a hitaben PASCAL olarak isim verilmiştir.
Pascal dili ile birçok yenilik gelmiştir. Pascal'ın uluslararasıalanda kazandığıbaşarının artmasıve değişik bilgisayar sistemleri için değişik türevlerinin yazılmasızamanla bazısıkıntılara yol açamaya başlamıştır. Bunun üzerine 1980 yılında Pascal UluslararasıStandartlar Enstitüsü(ISO) tarafından standartlaştırılmıştır(Jensen ve Wirth’in raporu esas olarak hazırlanan Standart Pascal’ın tanımıISO’nun DP7185 nolu belgesinde bulunmaktadır). Amerikan Ulusal Standartlar Enstitüsü(ANSI) de kısa bir süre sonra buna benzer bir standardıkabul etmiştir.
Birçok sürümügeliştirilmişolan Pascal’ın gelişim sürecinin en önemli ayaklarıolan Turbo ve Borland Pascal olarak gösterilebilir. Borland’ın dünyaca ünlüPascal derleyicisi Turbo Pascal’ı1985 yılında duyurdu. Turbo Pascal, kullanımdaki basitliği ve gücüsayesinde, zamanın en çok sdatan derleyicisi unvanına sahipti.
Turbo Pascal beraberinde Bütünleşik Geliştirme Ortamı( Integrated Development Environment IDE) getirmişti. Bu ortam sayesinde program kodunu düzenleyebilir, derleyiciyi çalıştırabilir, hataları görebilir ve bu hataların bulunduğu satırlardaki hatalar giderilebilir. Günümüzde bu gibi işlemler artık standart haline gelmiştir.

Bunların dışında Microsoft firmasıkendi PASCAL derleyicisini geliştirmişancak yüzlerce dolara satılmaktaydı, buna karşın Borlan firmasıTURBO PASCAL’ı49 dolara satmakta idi. Bu da TURBO PASCAL’ın yıllarca sürecek başarısınıperçinlemişolacaktıve bu süreç sonunda Microsoft ürettiği PASCAL derleyicisinden vazgeçmesiyle sonuçlandı.
Turbo ve Borland Pascal’ın dilin gelişmesini sağlaya 10’na yakın sürümünden sonra, Borland 1995 yılında Pascal derleyicisinin görsel bir programlama dili halini almışversiyonu olan Delphi’yi çıkarmıştır. Delphi Pascal dilini bir çok yönüyle geliştirmiştir. Bunlardan en önemlisi Object Pascal türevlerinden farklıolan Object-Oriented (Nesneye Yönelimli Programlama) mantığının yerleştirilmesi idi. Bunun yanı sıra Görsel Geliştirme Ortamıbu dile eklenmiştir.

Günümüzde Delphi
Hızlıbir gelişim süreci geçiren Delphi 7’inci versiyonuna ulaşmışve birçok yeni özellik eklenmiştir. Bunların en belirgin olanıherkesin görebileceği gibi component sayısıinanılmaz bir sayıda artmıştır. Kullanıcılara sunulan bazısürümleri şöyledir: Delphi 7 Architect, Delphi 7 Enterprise, Delphi 7 Professional ve Delphi 7 Personal.
Daha genişbilgi için www.bimeks.com.tr ve www.borland.com adresine göz atabilirsiniz. Borland’ın sitesinden de trial sürümünüindirip deneme şansınız var. Hemen belirtelim lisanslarına göre Delphi 7 paket fiyatları150$ ile 3995$ arasında değişiyor, bu konuyla ilgili de Bimeks’in web sayfalarından bilgi alabilirsiniz. Borland Delphi 7 geçişkiti ile, geliştiricilerin beklemekte olduğu Microsoft .NET'e geçişyolunu sağlamaktadır ve en son sürümü olan 7’inci versionunu ise 10 Ağustos 2002 tarihinde piyasaya sürmüştür.
Kurulum ve Arabirim
Delphiyi kurmak için gerek tek şey Delphi CD’sinde ki Setup.exe’yi çalıştırmaktır. Bundan sonra yapmanız gerekenler basit bir program kurmaktan öteye geçmez. Aşağıda Delphi 7 Setup Launcher’ıgörebilirsiniz.
Delphi
Kurulumu gerçekleştirdikten sonra artık Delphi’nın ara yüzüne bakabiliriz. Delphi7 ara yüzü2002 başında çıkan C++Builder6’dan biraz daha geliştirilmişdurumdadır. Bundan da bahsettikten sonra gelin hep birlikte Delphi’yi tanıyalım.
Delphi’nin 4 IDE penceresi vardır. Bu pencereler Menüpenceresi, Object Inspector penceresi, Form penceresi ve Code penceresidir. Bu ana pencerelerin dışında birkaçpencere daha vardır bunlar hakkında bilgileri yeri geldikçe bahsedeceğiz.


Menüpenceresi, bütünleşik geliştirme ortamındaki ana penceredir. Buradan dosya yüklemek, bir programıderlemek ya da bir seçeneği ayarlamak gibi komutlarıbildiren birçok menübulunur. Burada bulunan menüler sırasıyla File, Edit, Search, View, Project, Run, Component, Database, Tools, ModelMaker, Windows ve Help’tir. Bu menülerin de alt menüve seçenekleri vardır. Burada bunlardan bahsetmek çok güçolacağı için şimdilik en sık kullanacağımız seçeneğe deyineyim. File -> New -> Other... bu yolu izleyerek istediğimiz her türlüprojeyi oluşturabiliriz. Aşağıda da gördüğünüz üzere bu yolu izleyerek karşımıza çıkan pencereden projemize istediğimiz bir nesneyi ekleyebilir veya yeni bir uygulama oluşturabiliriz.
Delphi
Diğer bir önemli kısım ise projemizi tamamen konfigüre etmemizi sağlayan Options seçeneği bu seçeneğe ise Project -> Options... yoluyla ulaşabilirsiniz. Gördüğünüz gibi projemizin gerekli ayarlarınıbu kısımdan yapıyoruz.
Delphi
Tabii bir de araç çubuklarımız mevcut. Bunlardan en önemlisi kuşkusuz Component araççubuğu. Component araççubuğunu kullanarak projemizde kullanacağımız nesneleri rahatlıkla formumuzun üzerine çizerek oluşturabiliriz. Component araççubuğu dışında Standart, View, Debug, Custom, Desktop ve Internet araççubuklarıbulunur. İkinci önemli araççubuğumuz ise Debug’tur. Debug araççubuğu yardımıile projemizi çalıştırabilir ve çalışan projemizi durdurabiliriz. Projemizi çalıştırmak için F9 kısa yol tuşunu da kullanabilirsiniz.
Object Inspector penceresi, etkin nesneyle ilişkili özelliklerin olduğu ayrıntılıbir bölümdür. Bu pencere, uygulamaların görünüşüve çalışan kod arasındaki bağlantıdır. Bu pencere üzerinde iki tane sekme vardır. Bunlar, Properties ( Özellikler ) ve Events ( Olaylar ) sekmeleridir. Properties sekmesinde kullanılabilen özellikler ve ilişkili değerler listelenir. Events sekmesinde ise bu seçili nesnenin tetikleyebileceği olaylar vardır. Olay listesi, seçilen nesneye bağlıolarak değişir.
Form penceresini ise bir sanatçının tuvali olarak düşünebilirsiniz. IDE çalışmaya başladığında bu pencere açılır ve boşbir form görüntülenir. Bütün nesneler bu form üzerine yerleştirilir. Bir uygulama oluşturmak için bu form üzerine nesneleri sürükleyip bırakabilirsiniz. Bir uygulamayıoluşturmak için kullanılan bileşenlerin çoğu, Component Palette araççubuğunda bulunur.
IDE ilk kez çalıştığında, bu pencere form penceresinin nerdeyse arkasına gizlenmiştir. Bu pencerenin durum çubuğunu içeren alt bölümüseçerek ya da View->Window List seçeneğini işaretleyip ilgili seçeneği tıklayarak, pencereyi öne getirebilirsiniz. Bu, bir metin dosyasıpenceresidir. Bütün program kodlamasıbu pencereye yapılır. Birim pencerelerine aynızamanda kod pencereleri (code windows) de denir.
Programımıza yeni bir form eklemek için File menüsünden New-Form menüsükullanabilir. Programda birden fazla form kullanmışiseniz bunlara erişmek için de View-Forms veya Shift F12 tuşlarınıkullanabilirsiniz.
Yeri gelmişken kısaca belirtelim. Formlar “FormAdı.dfm”şeklinde kaydedilirken, formun kaynak kodları“FormAdı.pas”ve uygulama ise “UygulamaAdı.dpr”şeklinde kaydedilirler.
Yeni bir form oluşturduğumuza göre bunu uygulamamızda nasıl kullanacağımızıgörelim. Bir formdan diğerini kullanabilmek veya işlem yapmak için “implementation”satırından sonra şu kodu eklemek gerekir “uses FormAdı”.
Bir form aktifken diğer formu ekranda göstermek için FormAdı.Show metodu kullanılır. Örneğin Form2 formunu Form1’den açmak için uses Unit2; satırınıForm1’in kod penceresinde gerekli kısma yazdıktan sonra Form2.Show; metodu ile o form aktif hale getirilebilir.


Project Manager Penceresi
Project Manager penceresi normalde ekranda görülmez. View-Project Manager menüseçeneği ile görüntülenebilir. Bu pencerede projemize ait formlar ve unitler gösterilir. Projemize yeni bir dosya eklemek veya çıkarmak bu pencere kullanılır
Delphi
Delphi’de Kullanılan Dosya Tipleri
Delphi’de kullanılan en önemli dosya tipleri şunlardır:

.exe Programımıza ait çalıştırılabilir dosya.
.cfg Proje seçeneklerini içeren ayar dosyası.
.dcu Derlenmiş unit dosyaları.
.dfm Form dosyaları.
.dpr Proje kaynak dosyası.
.pas Unitin kaynak kodlarınıiçeren dosya.
.dof Project-Options penceresindeki ayalarıiçeren dosya.
.res Derlenmiş binary kaynak dosyaları.


Değişken Tanımı
Delphi’de bir uygulama yazarken bazıdeğişkenler kullanmamız gerekebilir. İşte bu değişkenler kullanılmadan önce tanımlanmalıdırlar.
Değişken tanımıyapılırken dikkat edilecek bazıhususlar vardır. Kısaca bunlardan bahsedelim:
En fazla 63 karakter olabilir.
Değişken adlarıalfabetik (İngilizce) veya “_”karakteri ile başlamalıve ilk karakterden sonra ise “A..Z”, “a..z”, “0..9” veya “_” karakterlerini barındırabilirler.
Değişkenler sembol veya Delphi komutları içermemelidir. Örneğin “$, *, %”veya “Chr, IntToStr”gibi.
Tanımlama işlemi “Var”bloğunda yapılır. Değişken tanımıiki parçadan oluşur. Birinci kısımda değişken adıbulunurken, ikinci kısımda ise değişken tipi yazılır. Örneğin:
Var
isim:String;
sayi:Integer;
ondalik_sayi:Real;

Aynı anda birden fazla değişken de aralarına virgül konularak tanımlanabilir:
Var
isim, dogum_yeri:String;
yas, cocuk_sayisi:Integer;



Veri Tipleri
Değişkenler değişik tipteki veriyi tutmak için farklı türlerde olmak zorundadır. Bazıdeğişkenler sayıtutarken başka bir değişken de ise metin saklamamız gerekebilir. Delphi’de kullanılan başlıca değişkenler şunlardır:


Tam SayıTipleri
Integer
4 baytlık işaretli tamsayıtipidir. Alabileceği değerler -2147483648 ile 2147483647 arasındadır ve bu değişken tipi LongInt tipi ile aynı işlevi görür. LongInt
4 baytlık işaretli tamsayı tipidir. -2147483648 ile 2147483647 arasında değer alır.
SmallInt
2 baytlık işaretli tamsayı tipidir. -32768 ile 32767 arasında değer alabilir.
ShortInt
1 baytlık işaretli tamsayı tipidir. -128 ile 127 arasında değer alabilir.
Byte
1 baytlık işaretsiz tamsayıtipidir. 0 ile 255 arasında değer alabilir.
Word
2 baytlık işaretsiz tamsayıtipidir. 0 ile 65535 arasında değer alabilir.
Cardinal
4 baytlık işaretsiz tamsayıtipidir. 0 ile 4294967295 arasında değer alabilir.

Int64
8 baytlık işaretli tamsayı tipidir. -263 ile 263-1 arasında değer alabilir.
LongWord
4 baylık işaretsiz tamsayıtipidir. 0 ile 4294967295 arasında değer alabilir.
Variant
16 baytlık bir değişken tipidir. Bu değişkene hem sayısal hem de string ifadeler aktarılabilir.
Var
x:variant;
begin
x:=2003;
x:=’PC WORLD’;
end;


Sınır Aşımı
Değişkenler, veri tiplerine göre alabilecekleri değerlerin sınırlarıdışında doğrudan bir değer atamasıyapılamaz ve hata oluşur. Değişkenlerin alabileceği değerlerin sınırlarıdışında bir atama yapılmışprogram kodu çalışmaz. Değişkenlere sınırlarıdışında da değer atamasıyapılabilir. Bu atama işlemi dolaylıyoldan olur ve bu atamalar sonucunda beklenmedik sonuçlar karşımıza çıkabilir.


Reel SayıTipleri
Single
4 baytlık ondalıklısayıtipidir. 1.5x10-45 ile 3.4x1038 arasında değer alabilir. 7-8 haneli rakamlar. Real48
6 baytlık ondalıklısayıtipidir. 2.9x10-39 ile 1.7x1038 arasında değer alabilir. 11-12 haneli rakamlar. Real ve Double
8 baytlık ondalıklısayı tipidir. 5.0x10-324 ile 1.7x10308 arasında değer alabilir. 15-16 haneli rakamlar. Extended
10 baytlık ondalıklısayıtipidir. 3.6x10-4951 ile 1.1x104932 arasında değer alabilir. 19-20 haneli rakamlar. Comp
8 baytlık ondalıklısayıtipidir. -263+1 ile 263-1 arasında değer alabilir ve sadece 2’nin katlarını tutabilir. 19-20 haneli rakamlar. Currency
8 baytlık ondalıklısayıtipidir. -922337203685477.5808 ile +922337203685477.5807 arasında değer alabilir. 19-20 haneli rakamlar.


Boolean Tipi
Boolean
True ve False değerlerinden birini içerir ve hafızada 1 bayt yer kaplar.
Karakter Tipleri
Char
Bir karakterlik bilgi içeren 1 baytlık veri tipidir. Örneğin “A”, “p”, “-“ vb.
AnsiChar
Char tipi ile aynıdır.
WideChar
2 baytlık bir karakter veri tipidir.



String Tipleri
ShortString
255 karaktere kadar string atamasıyapılabilen veri tipidir. Bellekte karakter sayısı+1 bayt kadar yer kaplar. AnsiString
Yaklaşık olarak 231 karaktere kadar string atamasıyapılabilen veri tipidir. 2GB’a kadar veri barındırabilir. WideString
Yaklaşık olarak 230 karaktere kadar string atamasıyapılabilen veri tipidir. 2GB’a kadar Unicode veri barındırabilir. String
AnsiString tipi ile aynıdır. String değişken tiplerine değer atamasıyaparken metin tek tırnak arasına yazılmalıdır:
Varkonu:String;beginKonu:=’Delphi’;end;
String değişkenler üzerinde + operatörü ile birleştirme işlemi yapılabilir.
Var


konu,ekstra:String;
Begin
ekstra:=’World’;
konu:=’Delphi’+ ekstra;


end;
Deolphi

Dizi tanımıda değişkenlerin tınımıgibi Var kısmında yapılır. Dizi tanımıaşağıdaki şekilde yapılır.
VarDizi_adi:array[alt sınır..üst sınır] of tip;Örneğin 12 elemanlıve String tipli bir dizi şöyle tanımlanır.varaylar:array[1..12] of string;
Bu tanımlama ile 1’de 12’ye kadar bir dizi tanımlandı. Dizinin her elamanının tipi stringtir. Aylar dizisi aynıtipte 12 değer içerir. Dizi elemanlarına [] parantezleri ile ulaşılır. Aylar[1], Aylar[2] ... Aylar[12] gibi. Dizinin 1. elemanına Ocak değerini aktaralım:
aylar[1]:=’Ocak’;
Diziler 1’den başlamak zorunda değildir.


var aylar:array[5..16] of string;
Dizinin alt ve üst sınırlarınıLow ve High fonksiyonlarıile öğrenebiliriz. Kullanımıise Low(aylar) ve High(aylar) şeklindedir. Diziler tek boyutlu olduklarıgibi çok boyutlu da olabilirler.
VarDizi_adi:array[alt1..üst1, alt2..üst2,......, altN..üstN];


Dinamik Dizi Tanımlama
Boyutunun derleme aşamasında belirtilmesi gerekmeyen dizilerdir. Program çalışırken dizinin boyutu belirlenir. Diziyi tanımlarken boyutunu belirtmezseniz dinamik dizi olarak kabul edilir.
var dizi_adi:array of integer şekline kullanılır. Örneğin: var ay:array of string; Herhangi bir anda dizide bulunan eleman sayısınıöğrenmek için ise SetLength fonksiyonundan faydalanılır.


Sabit Tanımı, Static Değişken Tanımı
Sabitler değişmeyen değerler içerirler. Sabit tanımlama işlemi Const bloğunda yapılır. Tanım şekli ise Const SabitAdi = Değeri; şeklindedir. Örneğin:
ConstDergi=’PC WORLD’;Ay=’Ocak’;Yıl=’2003’;
Static değişken tanımıise Const Ded_Adi:Tipi=İlkDeğeri; şeklinde yapılır.


ConstDil:String=’Delphi’;
 

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