Delphi nedir? Ne işe Yarar?
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ş
Şimdi Delphiyi biraz inceleyelim.Delphiyi açtığımızda ekrana gelen görüntüye
bakalım
Ş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.
Şekil:Özellikler ve olaylar
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.
Başlığında Unit1.pas yazan bölüm Kod editörüdür.Kodlarımızı buraya
yazacağız.
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 :Dosya 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. |