Delphi bir programlama ortamıdır.Programlama dili olarak pascalın nesne yönelimli(object oriented) uzantısı olan Object pascal dilini kullanmaktadır.Object pascal kolay anlaşılır bir dile, hızlı derleme gücüne ve modüler programlama için gerekli tüm komutlara sahiptir.Object pascal delphinin IDE si ile birlikte daha anlaşılır bir yapıya kavuşturulmuştur.IDE tümleştirilmiş uygulama geliştirme ortamı demektir.Aşağıdaki gördüğünüz görüntü delphinin idesidir.
Delphi bir Raddır.Rad (Rapid Application Development) hızlı uygulama geliştirme demektir. Rad sistemli programlama ortamlarında text tabanlı programlama ortamlarına göre program yazmak çok daha kolaydır.Rad ortamında Hazır formlar, bileşenler bulunmaktadır.
Formumuzun tasarımını görsel bir ortamda resim çizer gibi yapıyoruz.
Text tabanlılarda ise görsel bir ekran yoktur.Notepadde yazı yazar gibi program yazarsınız.
Şu an delphinin en son sürümü Delphi .net 2005 dir.Ben .net teknolojisini destekleyen sürümünü değil de win32 uygulamaları yapabileceğimiz delphi7 yi anlatacağım. .net yeni bir teknolojidir. .net de yaptığınız programları çalıştırmak için .net framework un işletim sistemine kurulması gerekir.
Delphi 7nin de birçok sürümü bulunmaktadır.Bunlar Personal , Profesyonel , Enterprise ve Architect sürümleridir.
Personel sürümü yeni başlayanlar ve sıradan programcılar içindir.Bunda yazdığınız programı ticari olarak satamazsınız.Diğer sürümlere göre bileşen sayısı azdır.
Profesyonel sürümü bütün temel özellikleri ve bunlara ek olarak genişletilmiş veritabanı desteği, biraz internet desteği ve harici programların bazılarını içerir.
Enterprise sürümü büyük şirket uygulamaları geliştiren programcılar içindir.Eski adı Client/server suitedir.
Architect sürümünde Enterpriseden farklı olarak BoldSoft'un Bold for Delphi ürünü yer almaktadır.
Burada anlatacağım bilgiler çoğu delphi sürümünde bulunmaktadır.
Delphiye giriş
Şekil Delphinin IDE si
Delphi karşımızda.Üstünde Form1 yazan pencere bizim programımızdaki formdur. Hemen Run diyelim veya F9 tuşuna basalım ve programı çalıştıralım.Form1 penceresi çalışacak ve karşımıza Windows uyumlu programımız gelecektir.Bunu text tabanlı programlama dillerinde yapmak için birçok kod vs yazarız.Fakat Delphi visual basic Borland c++ gibi görsel dillerde bu gördüğünüz gibi kolaylıkla gerçekleşmektedir.
Şimdi Delphiyi biraz inceleyelim.Üstte delphinin klasik Windows uygulamalarındaki gibi bir menu çubuğu bulunmaktadır(Main window).Onun hemen altında araç çubukları bulunmaktadır.Programımızı kaydetmemizi, çalıştırmamızı, durdurmamızı sağlayan kısayolların bulunduğu araç çubuklarını görüyorsunuz.
Burda standart , additional gibi sekmeleri olan araç çubuğu bizim component (bileşen) paletimizdir. Componentler bir takım özel işlevler için hazırlanmış Windows uygulamalarındaki nesnelerdir. Yukardaki resimde Standart sekmesi altındaki bileşenler gözükmektedir.Windows uygulamarında gördüğümüz birçok bileşen burada bulunmaktadır.
Şekil: Çeşitli componentler(bileşenler) eklenmiş bir form.
İnternette delphide kullanılabilen free veya paralı birçok bileşen mevcuttur.Delphi bileşen desteği ile kendisini kanıtlamıştır.
Ek bilgi:Componentleri bileşen paketine sağ tıklayıp propertiese tıklayarak ve buradan ayarlamalar yaparak özelleştirebiliriz.
Add=Ekle
Delete=sil
Rename=Yeniden adlandır.
Move up -move down=Yukarı çıkar -aşağı indir.
Object treeview programımızdaki bileşenleri göstermektedir.Bize hangi bileşenin hangi bileşenin üzerinde olduğunu da gösterir.Mesela aşağıdaki resimde grup kutusunun üstünde radyo butonları olduğu gözüküyor.
Object inspector seçilen nesnelerin özelliklerini ve olaylarını bize gösterir ve kullanmamızı sağlar.Properties(Özellikler) Events(olaylar).Propertiesleri programımızda tasarım aşamasında değiştirebiliriz.Mesela object inspectorde form1 seçili iken Caption özelliğine İsmimizi yazalım.Programı çalıştırdığımızda Formumuzun başlığında sizin caption özelliğine yazdığınız yazı gözükecektir.Bu özelliklere ilerde değineceğim.
Eventslarda bu bileşenlerin olaylarıdır.Yani bir durum gerçekleştiğinde buradaki komutlar çalışır.Örneğin Bir butona tek tıklanması bir olaydır.Çift tıklanması farklı bir olaydır.Programınızı bu olaylarla yöneteceksiniz.
Yukardaki resimde olayları görebilirsiniz.Açılır kutuda form1 seçili olduğu için form1in olaylarını görüyorsunuz. Mesela onclose olayı formun kapanması anında gerçekleşecek olaydır.Bu olaya komut yazarak Program kapanırken güle güle gibi bir mesaj kutusu açılmasını sağlayabilirisiniz.
Kod editöründe
procedure TForm1.FormCreate(Sender: TObject);
begin
end;
yazısını görüyorsunuz.Procedure alt programcıklardır.Burdaki Tform1 in Formcreate olayının prosedürüdür.Form açılış olayı geçekleşmeden buradaki yazdığımız kodlar gerçekleşecektir. Begin ve End bloğu kodların başlangıcını ve bitimini temsil etmektedir.Kodlar bu blok arasına yazılır.bunları ileride daha detaylı inceleyeceğiz.Yukardaki yazıları delphi kendisi oluşturur.(Object inspectorde herhangi bir olaya çift tıklayarak)
Kod tamamlama
Kod editörü bize büyük bi kolaylık sağlamaktadır.Ctrl + space tuşuna bastığımızda bize kodları göstermekte , istediğinizle tamamlamaktadır.
Komut parametreleri
Ctrl+Shift+space tuşu da parametreleri göstermektedir.Parametre Fonksiyon veya Procedure kullanırken parantez içine gireceğimiz fonksiyon veya procedurenin kullanacağı değerlerdir.
Örnek vermek gerekirse Topla(10+20); Burada 10 ve 20 birer parametredir.
Şekil: Sarı bölüm parametreleri gösteren bölümdür
Kod şablonları
Ctrl+J ikilisi de önceden tanımlı ve object pascal yapıları gibi yapıların kod penceresine otomatik olarak eklenmesine olanak tanıyan bir özelliktir.
Mesela Ctrl+j yapalım ve görüntüye bakalım
Şekil:ctrl+j
Burada kodların kısaltmalarını görüyorsunuz.Örneğin ifbye tıkladığımızda bize
if then
begin
end;
Kodlarını otomatikmen eklemektedir.
Kod editöründeki kısayollar;
F9
Programı derle ve çalıştır
F8
Programı adım adım çalıştırır
F7
Programı adım adım çalıştırırken, ilgili rutine dallanır.
Ctrl + S
Unit'te yapılan değişiklikleri kaydeder.
Shift + Ctrl + S
Açık olan tüm unitlerdeki değişiklikleri kaydeder.
Alt + F11
Use Unit... penceresini açar. Bir unitten diğer forma referans veriyorsanız, ilgili formu Uses kısmında tanımlamanız lazım. Bu pencereden proje içindeki unitlerden istediğinizi seçip, tanımlama işini otomatik yaptırabilirsiniz.
Ctrl + F
Arama ekranını açar
Ctrl + E
Artan arama yapar. Bu tuşlara baştıktan sonra kelimeyi yazın. İlgili kelime varsa bulunur.
F3
Arana kelimenin bir sonraki geçtiği yeri bulur
F10
Menülerin ve bileşenlerin olduğu ana pencereyi gösterir.
F11
Object Inspectoru gösterir.
F12
Formla, kod arasında geçiş sağlar.
Shift + F12
Formları açmak için form listesini görüntüler.
Ctrl + F12
Unitleri açmak için unitleri listeler
F1
Üzerinde bulunduğunuz bileşen veya kelime ile ilgili yardımı açar.
Ctrl + Shift + I
Seçili kodu blok halinde sağa kaydırır.
Ctrl + Shift + U
Seçili kodu blok halinde sola kaydırır
Ctrl + Shift + C
Bir rutini tanımladıktan sonra gövdesini oluşturmak için
Ctrl + F4
Dosyayı kapatır.
Forma bileşen ekleme yöntemleri:
Forma bileşeni eklemek için birkaç yöntem vardır. Bileşenin üzerine çift tıklarsak bileşen formun merkezine eklenir.
Bileşenin üzerine tıklayıp formda görmek istediğimiz yere tıklayarak veya çizerek ekleyebilirsiniz..
Bir bileşenden birden fazla eklemek istiyorsak o bileşeni shift tuşu ile seçeriz. Daha sonra istediğimiz yerlere tıklarız.Eklememiz bittiğinde bileşen paletindeki fare simgesine tıklarız.
*Form üzerinde bileşenlerin yerlerini ayarlamak için fareyi kullanabiliriz.Hassas ayarlar için de Ctrl tuşuna basılı tutarak yön tuşlarını kullanabilirsiniz.
*Form tasarımı bittikten sonra bileşenlerimizin yerinin değişmemesini istiyorsak Edit menüsünden Lock controls seçeneğini seçmelisiniz.
Olaylara gitmek
Forma bir buton ekleyelim.Object inspectorden seçili olan bileşenin olayına gitmeye çalışalım.formdaki butonumuzu açılır kutudan seçip Eventsa tıklayalım.
Eventse tıkladığımızda olayları göreceğiz.Burdan hangi olaya gitmek istiyorsak onun yanındaki bölüme çift tıklarız.ve kod editörü o olayı kendisine ekleyip kendisini bize gösterir.
Onclick olayına çift tıklayarak bu işlemi yapalım.ve Begin end arasına
Kod:
Showmessage(‘Merhaba’
yazalım.Daha sonra programımızı çalıştıralım.(F9).butona tıkladığımızda bir pencere açılacak ve merhaba yazacaktır.
Pencereyi kapattığımızda delphideki programımız sonlanır.Veya sonlandırmak için delphi menüsündeki run dan program resete tıklarız.
Şimdi butona tıklayıp object inspectorden propertiesine girelim.Captionuna Tıklayın yazalım.Entere bastığımızda Butonun üzerinde tıklayın yazacaktır.Tasarım esnasında bileşenlerin özelliklerini bu şekilde değiştirebiliriz.Programın çalışma esnasında da bu mümkündür.
Butonun Tıklanması olayına
Button1.caption:=’Ceylan’; yazdığımızda butonun caption özelliğini ceylan yapmış oluruz.
Burada button1 butonumuzun ismidir.Delphi kendisi otomatikmen eklenen bileşenlere isim verir.Biz bu ismi değiştirebiliriz.Butona tıklayıp name ini ceylan yaptığımızda bu butonun caption özelliğine ceylan.caption ile erişebiliriz. “:=” bir özelliği bir değeri değiştirmek için kullanılan operatördür. “ ‘ ‘ “ bölümü ifadenin string bir ifade olduğunu gösterir.String bir değişken türüdür.Bunları ilerde göreceğiz. “;” kodların sonuna yazılmaktadır.O komutun bittiğini gösterir.
Olaylara gitmenin farklı bir yolu da bileşenin üzerine çift tıklamaktır.Bu yöntemle bileşenin varsayılan olayına gidebilirsiniz.Componentlerin varsayılan olayları en çok kullanılan olaylardır.Mesela butona çift tıkladığınızda butonun tıklanması olayına gider.
Biraz delphi menüsünden bahsedelim.
File osya menüsü dosya kaydedeceğimiz açacağımız Yeni dosya oluşturacağımız vs bölümdür.
Yeni menüsünün altında:
Application: Yeni bir uygulamadır.Varolan uygulamadan çıkılır yeni uygulama açılır.
Form: yeni bir form eklenir.
Frame: Yeni bir çerçeve eklenir.Çerçeve de form gibidir.Formların içine eklenebilirler.
Data Module:Genelde veritabanı bileşenlerinin eklendiği yerdir.
Şimdilik bunları bilmek yeterli.İlerlerde işimiz oldukça diğerlerini de öğrenebiliriz.
Save Save as ı falan anlatmak istemiyorum.Artık onları pek bilmeyen kalmadı.
Delphinin dosya uzantılarından biraz bahsedelim.
PAS Pascal dosyası Her bir unitin kaynak kodlarını içeren dosya.Delphide oluşturulan formlara ait kodlar pas uzantılı dosyalarda saklanır.
DPR Delphi Proje Dosyası Programımızı delphide açmak için olan dosyadır.
DCU Delphi Compiled Unit Derlenmiş unit dosyaları bu uzantı ile kaydedilir.
DFM Delphi Form File Form dosyalarıdır.Form ve formdaki bileşenlerin özellikleri bu dosyaya kayıtlıdır.
DOF Delphi Options File Proje seçeneklerinin mevcut ayarlarını içeren bir metin dosyası. Geliştirme sırasında oluşturulur.
DSK Masaüstü dosyası Bu dosya pencerelerin konumları,editördeki açık dosyalar ve diğer masaüstü ayarları hakkında bilgiler içerir. Projeyi yeni bir dizine kopyalarken silmeniz gerekir.
RES Resource (Kaynak) dosyası Proje ile ilgili kaynakları (genellikle simgesini) içeren binary dosya.
BPG Borland Project Group Birden fazla projeyi aynı anda derlemek için kullanılır. Project manager tarafından kullanılır
CFG Proje seçeneklerini içeren ayar dosyası. Sadece özel derleyici seçenekleri ayarlandığı zaman oluşur.
DPK Delphi Package Bir paketin kaynak kodunu içerir.
Evet delphideki dosya uzantılarımız bunlar.Delphideki programımızı nasıl exe uzantılı Windows uygulaması haline getireceğiz?
F9 tuşuna bastığımızda bunu delphi , programımızın kayıtlı olduğu yere otomatikmen exe uzantılı hale getirir.İstediğimiz yere exe uzantılı dosyanın kaydetmesi için ne yapacağız?
Project optionsu bir inceleyelim.Cevabınızı bulacaksınız.Menüden . Project->options.
Sekmelere biraz göz atalım
Forms: Formlarla ilgili ayarları yapabilirsiniz.Main form programın ilk açılışında çalışacak formdur.Auto create forms Otomatik olarak programınız çalıştığında oluşturulacak formlardır. Bu formlar belleği meşgul eder.Belleği meşgul etmek istemiyorsak bu formları Available forms bölümüne taşıyıp formları program içerisinde çağrılması gerektiğinde oluşturabiliriz.
Application:
Title : Buraya uygulamanızın başlığını yazın. Bu başlık görev çubuğunda ve diğer Windows pencerelerinde uygulamanızın başlığını belirler.
Help File (Yardım dosyası) : Eğer uygulamanızın bir yardım dosyası var ise ismin buraya yazın veya Browse... butonuna basarak seçin.
Icon (Simge) : Uygulamanızın simgesini seçin. Bu simge projenizle aynı isimli .res dosyasında saklanır.
Target file extension : Uygulamanız oluşturulduğu zaman uzantısının ne olacağını belirlersiniz. Uygulamanız .exe uzantılı olacaksa burasını boş bırakın. Bir ActiveX uygulaması yapıyorsanız buraya .ocx, dll oluşturuyorsanız .dll yazmalısınız.
3. Compiler : Bu kısımda bir değişiklik yapmanıza gerek yok.
4. Compiler Messages (Derleyici Mesajları) : Projenizi derlemeniz ve delphide çalıştırmanız esnasında çıkan mesajları ayarlayabilirsiniz.
Show Hints : Derleme sırasında hint(ipucu)'leri göster.
Show Warnings : Derleme sırasında uyarıları göster. Bu seçeneği seçtiğiniz zaman aktif olan Warnings kısmından hangi uyarıların gösterilmesi istiyorsanız seçebilirsiniz. Gösterilmesini istemediğiniz uyarılar önündeki işareti kaldırın.
5. Linker : Bu kısımda bir değişiklik yapmanıza gerek yok.
6. Directories/Conditionals : Bu kısımda projenizin kullandığı ve oluşturduğu dosyaların konumunu belirtebilirsiniz.
Output directory : Uygulama dosyasının (.exe) konulacağı klasör. Biraz önce exe uzantılı olarak kaydetmeden bahsetmiştik.İşte burası.
Unit output directory : .dcu'ların kaydedileceği klasör.
Search path : Harici unit kullanmışsanız kullandığınız unitlerin bulunduğu klasörü burada göstermelisiniz.Yoksa hata verecektir.
Unit Aliases : Kullandığınız bir unit'in ismini değiştirmiş veya başka bir unit'le birleştirmiş olabilirsiniz. Bu durumda derleyici uniti bulamadığı için hata verecektir. Ancak burada “Unitin eski adı = Unitin yeni adı” şeklinde bir tanımlama yaparsanız, yeni isim dikkate alınır.
İPUCU : Bu kısımda yaptığınız ayarlarla hem dosyaların diskinizde daha düzenli dağılmasını, hem de yedekleme yaparken sadece gerekli dosyaları yedeklemenizi sağlayabilirsiniz. Projenize bir klasör açın ve Output Directory olarak bu klasörü verin. Proje klasörünüzün altına Source isimli bir klasör açıp tüm kodları buraya koyun ve Dcu isimli bir klasör açarak unit output directory olarak bu klasörü verin. Böylece sadece Source klasörünün yedeğini almanız yeterli olacaktır.
7. Version Info (Sürüm Bilgisi) : Bu ekranda uygulama dosyanıza sürüm bilgileri ekleyebilirsiniz. Sürüm bilgilerine dosyanıza sağ tıklayıp özelliklerini açtığınız zaman ulaşabilirsiniz. Sürüm bilgisi uygulamanızın dağıtımı takip için kullanılır.
- Uygulamanıza sürüm bilgisi eklemek için “Include version information in project” seçeneğini seçin.
Major Version : Uygulamanızın esas sürümünü.
Minor Version : Uygulamanızın ikincil sürümünü gösterir. Uygulamanızda büyük değişiklik yaptığınız zaman bunu bir artırın.
Release : Programınızda değişiklikler yaptığınızda artırmanız gereken bölüm.
Build : uygulamanızın derlenme sayısını gösterir. Auto-increment build number seçeneğini işaretlerseniz bu sayı her derleme sonrasında otomatikmen artırılır.
Language : Bu kısımdan sürüm bilgisinin dilini seçebilirsiniz. Turkish olarak seçin.
Key/Value : bu kısımda da gösterilecek bilgilerin başlıkları vardır. Karşılarına değerlerini girin.
8. Packages (Paketler) : Eğer uygulamanızı sık olarak dağıtıyorsanız .exe dosyanızın mümkün olduğu kadar küçük olmasını istersiniz. Böylece kullanıcılar dosyayı kolayca indirip kullanabilirler.
Delphi'deki paketlerin bir kısmını uygulama dışında tutarak programınızın gerekli bilgileri bu .bpl dosyasından almasını sağlayabilir, boyunu küçültebilirsiniz. Ancak bu durumda kullandığınız .bpl dosyasını da kullanıcı bilgisayarına yüklemelisiniz.(bpl bileşenlerin kullandığı kaynak dosyalardır)
Paketleri uygulamanızın dışında tutmak için “Build with runtime packages” seçeneğini seçin ve istediğiniz paketleri seçin.
İPUCU : Eğer kullanıcılarınız aynı anda birden fazla uygulamanızı kullanıyorlarsa paketleri kullanarak hafıza ihtiyacını azaltabilirsiniz. Tüm uygulamalarınızı “Build with runtime packages” seçeneği ile derlerseniz, tüm uygulamalarınızın kullandığı paketler hafızaya sadece bir kere yükleneceğinden hafızadan kazanç sağlarsınız.