
Delphi Nedir ?
Delphi bir programlama ortamıdır.Programlama dili olarak pascalın nesne yonelimli(object oriented) uzantısı olan Object pascal dilini kullanmaktadır.Object pascal kolay anlaşılır bir dile, hızlı derleme gucune ve moduler programlama icin gerekli tum komutlara sahiptir.Object pascal delphinin IDE si ile birlikte daha anlaşılır bir yapıya kavuşturulmuştur.IDE tumleştirilmiş uygulama geliştirme ortamı demektir.Aşağıdaki gorduğunuz goruntu 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 gore program yazmak cok daha kolaydır.Rad ortamında Hazır formlar, bileşenler bulunmaktadır.
Formumuzun tasarımını gorsel bir ortamda resim cizer gibi yapıyoruz.
Text tabanlılarda ise gorsel bir ekran yoktur.Notepadde yazı yazar gibi program yazarsınız.
Şu an delphinin en son surumu Delphi .net 2005 dir.Ben .net teknolojisini destekleyen surumunu değil de win32 uygulamaları yapabileceğimiz delphi7 yi anlatacağım. .net yeni bir teknolojidir. .net de yaptığınız programları calıştırmak icin .net framework un işletim sistemine kurulması gerekir.
Delphi 7nin de bircok surumu bulunmaktadır.Bunlar Personal , Profesyonel , Enterprise ve Architect surumleridir.
Personel surumu yeni başlayanlar ve sıradan programcılar icindir.Bunda yazdığınız programı ticari olarak satamazsınız.Diğer surumlere gore bileşen sayısı azdır.
Profesyonel surumu butun temel ozellikleri ve bunlara ek olarak genişletilmiş veritabanı desteği, biraz internet desteği ve harici programların bazılarını icerir.
Enterprise surumu buyuk şirket uygulamaları geliştiren programcılar icindir.Eski adı Client/server suitedir.
Architect surumunde Enterpriseden farklı olarak BoldSoft'un Bold for Delphi urunu yer almaktadır.
Burada anlatacağım bilgiler coğu delphi surumunde bulunmaktadır.
Delphiye giriş
Delphi karşımızda.Ustunde Form1 yazan pencere bizim programımızdaki formdur. Hemen Run diyelim veya F9 tuşuna basalım ve programı calıştıralım.Form1 penceresi calışacak ve karşımıza Windows uyumlu programımız gelecektir.Bunu text tabanlı programlama dillerinde yapmak icin bircok kod vs yazarız.Fakat Delphi visual basic Borland c++ gibi gorsel dillerde bu gorduğunuz gibi kolaylıkla gercekleşmektedir.
Şimdi Delphiyi biraz inceleyelim.Ustte delphinin klasik Windows uygulamalarındaki gibi bir menu cubuğu bulunmaktadır(Main window).Onun hemen altında arac cubukları bulunmaktadır.Programımızı kaydetmemizi, calıştırmamızı, durdurmamızı sağlayan kısayolların bulunduğu arac cubuklarını goruyorsunuz.
Burda standart , additional gibi sekmeleri olan arac cubuğu bizim component (bileşen) paletimizdir. Componentler bir takım ozel işlevler icin hazırlanmış Windows uygulamalarındaki nesnelerdir. Yukardaki resimde Standart sekmesi altındaki bileşenler gozukmektedir.Windows uygulamarında gorduğumuz bircok bileşen burada bulunmaktadır
İnternette delphide kullanılabilen free veya paralı bircok 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 ozelleştirebiliriz.
Add=Ekle
Delete=sil
Rename=Yeniden adlandır.
Move up -move down=Yukarı cıkar -aşağı indir.
Object treeview programımızdaki bileşenleri gostermektedir.Bize hangi bileşenin hangi bileşenin uzerinde olduğunu da gosterir.Mesela aşağıdaki resimde grup kutusunun ustunde radyo butonları olduğu gozukuyor.
Object inspector secilen nesnelerin ozelliklerini ve olaylarını bize gosterir ve kullanmamızı sağlar.Properties(Ozellikler) Events(olaylar).Propertiesleri programımızda tasarım aşamasında değiştirebiliriz.Mesela object inspectorde form1 secili iken Caption ozelliğine İsmimizi yazalım.Programı calıştırdığımızda Formumuzun başlığında sizin caption ozelliğine yazdığınız yazı gozukecektir.Bu ozelliklere ilerde değineceğim.
Eventslarda bu bileşenlerin olaylarıdır.Yani bir durum gercekleştiğinde buradaki komutlar calışır.Orneğin Bir butona tek tıklanması bir olaydır.Cift tıklanması farklı bir olaydır.Programınızı bu olaylarla yoneteceksiniz.
Yukardaki resimde olayları gorebilirsiniz.Acılır kutuda form1 secili olduğu icin form1in olaylarını goruyorsunuz. Mesela onclose olayı formun kapanması anında gercekleşecek olaydır.Bu olaya komut yazarak Program kapanırken gule gule gibi bir mesaj kutusu acılmasını sağlayabilirisiniz.
Kod editorunde
procedure TForm1.FormCreate(Sender: TObject);
begin
end;
yazısını goruyorsunuz.Procedure alt progr*****lardır.Burdaki Tform1 in Formcreate olayının prosedurudur.Form acılış olayı gecekleşmeden buradaki yazdığımız kodlar gercekleş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 cift tıklayarak)
Kod tamamlama
Kod editoru bize buyuk bi kolaylık sağlamaktadır.Ctrl + space tuşuna bastığımızda bize kodları gostermekte , istediğinizle tamamlamaktadır.
Komut parametreleri
Ctrl+Shift+space tuşu da parametreleri gostermektedir.Parametre Fonksiyon veya Procedure kullanırken parantez icine gireceğimiz fonksiyon veya procedurenin kullanacağı değerlerdir.
Ornek vermek gerekirse Topla(10+20); Burada 10 ve 20 birer parametredir
Kod şablonları
Ctrl+J ikilisi de onceden tanımlı ve object pascal yapıları gibi yapıların kod penceresine otomatik olarak eklenmesine olanak tanıyan bir ozelliktir.
Mesela Ctrl+j yapalım ve goruntuye bakalım
Şekil:ctrl+j
Burada kodların kısaltmalarını goruyorsunuz.Orneğin ifbye tıkladığımızda bize
if then
begin
end;
Kodlarını otomatikmen eklemektedir.
Kod editorundeki kısayollar;
F9
Programı derle ve calıştır
F8
Programı adım adım calıştırır
F7
Programı adım adım calıştırırken, ilgili rutine dallanır.
Ctrl + S
Unit'te yapılan değişiklikleri kaydeder.
Shift + Ctrl + S
Acık olan tum unitlerdeki değişiklikleri kaydeder.
Alt + F11
Use Unit... penceresini acar. Bir unitten diğer forma referans veriyorsanız, ilgili formu Uses kısmında tanımlamanız lazım. Bu pencereden proje icindeki unitlerden istediğinizi secip, tanımlama işini otomatik yaptırabilirsiniz.
Ctrl + F
Arama ekranını acar
Ctrl + E
Artan arama yapar. Bu tuşlara baştıktan sonra kelimeyi yazın. İlgili kelime varsa bulunur.
F3
Arana kelimenin bir sonraki gectiği yeri bulur
F10
Menulerin ve bileşenlerin olduğu ana pencereyi gosterir.
F11
Object Inspectoru gosterir.
F12
Formla, kod arasında geciş sağlar.
Shift + F12
Formları acmak icin form listesini goruntuler.
Ctrl + F12
Unitleri acmak icin unitleri listeler
F1
Uzerinde bulunduğunuz bileşen veya kelime ile ilgili yardımı acar.
Ctrl + Shift + I
Secili kodu blok halinde sağa kaydırır.
Ctrl + Shift + U
Secili kodu blok halinde sola kaydırır
Ctrl + Shift + C
Bir rutini tanımladıktan sonra govdesini oluşturmak icin
Ctrl + F4
Dosyayı kapatır.
********************
Forma bileşen ekleme yontemleri:
Forma bileşeni eklemek icin birkac yontem vardır. Bileşenin uzerine cift tıklarsak bileşen formun merkezine eklenir.
Bileşenin uzerine tıklayıp formda gormek istediğimiz yere tıklayarak veya cizerek ekleyebilirsiniz..
Bir bileşenden birden fazla eklemek istiyorsak o bileşeni shift tuşu ile seceriz. Daha sonra istediğimiz yerlere tıklarız.Eklememiz bittiğinde bileşen paletindeki fare simgesine tıklarız.
*Form uzerinde bileşenlerin yerlerini ayarlamak icin fareyi kullanabiliriz.Hassas ayarlar icin de Ctrl tuşuna basılı tutarak yon tuşlarını kullanabilirsiniz.
*Form tasarımı bittikten sonra bileşenlerimizin yerinin değişmemesini istiyorsak Edit menusunden Lock controls seceneğini secmelisiniz.
Olaylara gitmek
Forma bir buton ekleyelim.Object inspectorden secili olan bileşenin olayına gitmeye calışalım.formdaki butonumuzu acılır kutudan secip Eventsa tıklayalım.
Eventse tıkladığımızda olayları goreceğiz.Burdan hangi olaya gitmek istiyorsak onun yanındaki bolume cift tıklarız.ve kod editoru o olayı kendisine ekleyip kendisini bize gosterir.
Onclick olayına cift tıklayarak bu işlemi yapalım.ve Begin end arasına
Kod:
Showmessage(‘Merhaba’);
yazalım.Daha sonra programımızı calıştıralım.(F9).butona tıkladığımızda bir pencere acılacak ve merhaba yazacaktır.
Pencereyi kapattığımızda delphideki programımız sonlanır.Veya sonlandırmak icin delphi menusundeki 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 uzerinde tıklayın yazacaktır.Tasarım esnasında bileşenlerin ozelliklerini bu şekilde değiştirebiliriz.Programın calışma esnasında da bu mumkundur.
Butonun Tıklanması olayına
Button1.caption:=’Ceylan’; yazdığımızda butonun caption ozelliğ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 ozelliğine ceylan.caption ile erişebiliriz. “:=” bir ozelliği bir değeri değiştirmek icin kullanılan operatordur. “ ‘ ‘ “ bolumu ifadenin string bir ifade olduğunu gosterir.String bir değişken turudur.Bunları ilerde goreceğiz. “;” kodların sonuna yazılmaktadır.O komutun bittiğini gosterir.
Olaylara gitmenin farklı bir yolu da bileşenin uzerine cift tıklamaktır.Bu yontemle bileşenin varsayılan olayına gidebilirsiniz.Componentlerin varsayılan olayları en cok kullanılan olaylardır.Mesela butona cift tıkladığınızda butonun tıklanması olayına gider.
Biraz delphi menusunden bahsedelim.
File osya menusu dosya kaydedeceğimiz acacağımız Yeni dosya oluşturacağımız vs bolumdur.
Yeni menusunun altında:
Application: Yeni bir uygulamadır.Varolan uygulamadan cıkılır yeni uygulama acılır.
Form: yeni bir form eklenir.
Frame: Yeni bir cerceve eklenir.Cerceve de form gibidir.Formların icine eklenebilirler.
Data Module:Genelde veritabanı bileşenlerinin eklendiği yerdir.
Şimdilik bunları bilmek yeterli.İlerlerde işimiz oldukca diğerlerini de oğ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ı iceren dosya.Delphide oluşturulan formlara ait kodlar pas uzantılı dosyalarda saklanır.
DPR Delphi Proje Dosyası Programımızı delphide acmak icin 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 ozellikleri bu dosyaya kayıtlıdır.
DOF Delphi Options File Proje seceneklerinin mevcut ayarlarını iceren bir metin dosyası. Geliştirme sırasında oluşturulur.
DSK Masaustu dosyası Bu dosya pencerelerin konumları,editordeki acık dosyalar ve diğer masaustu ayarları hakkında bilgiler icerir. Projeyi yeni bir dizine kopyalarken silmeniz gerekir.
RES Resource (Kaynak) dosyası Proje ile ilgili kaynakları (genellikle simgesini) iceren binary dosya.
BPG Borland Project Group Birden fazla projeyi aynı anda derlemek icin kullanılır. Project manager tarafından kullanılır
CFG Proje seceneklerini iceren ayar dosyası. Sadece ozel derleyici secenekleri ayarlandığı zaman oluşur.
DPK Delphi Package Bir paketin kaynak kodunu icerir.
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 icin ne yapacağız?
Project optionsu bir inceleyelim.Cevabınızı bulacaksınız.Menuden . Project->options.
Sekmelere biraz goz atalım
Forms: Formlarla ilgili ayarları yapabilirsiniz.Main form programın ilk acılışında calışacak formdur.Auto create forms Otomatik olarak programınız calıştığında oluşturulacak formlardır. Bu formlar belleği meşgul eder.Belleği meşgul etmek istemiyorsak bu formları Available forms bolumune taşıyıp formları program icerisinde cağrılması gerektiğinde oluşturabiliriz.
Application:
Title : Buraya uygulamanızın başlığını yazın. Bu başlık gorev cubuğ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 secin.
Icon (Simge) : Uygulamanızın simgesini secin. 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 calıştırmanız esnasında cıkan mesajları ayarlayabilirsiniz.
Show Hints : Derleme sırasında hint(ipucu)'leri goster.
Show Warnings : Derleme sırasında uyarıları goster. Bu seceneği sectiğiniz zaman aktif olan Warnings kısmından hangi uyarıların gosterilmesi istiyorsanız secebilirsiniz. Gosterilmesini istemediğiniz uyarılar onundeki 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ğı klasor. Biraz once exe uzantılı olarak kaydetmeden bahsetmiştik.İşte burası.
Unit output directory : .dcu'ların kaydedileceği klasor.
Search path : Harici unit kullanmışsanız kullandığınız unitlerin bulunduğu klasoru burada gostermelisiniz.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ığı icin 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 duzenli dağılmasını, hem de yedekleme yaparken sadece gerekli dosyaları yedeklemenizi sağlayabilirsiniz. Projenize bir klasor acın ve Output Directory olarak bu klasoru verin. Proje klasorunuzun altına Source isimli bir klasor acıp tum kodları buraya koyun ve Dcu isimli bir klasor acarak unit output directory olarak bu klasoru verin. Boylece sadece Source klasorunun yedeğini almanız yeterli olacaktır.
7. Version Info (Surum Bilgisi) : Bu ekranda uygulama dosyanıza surum bilgileri ekleyebilirsiniz. Surum bilgilerine dosyanıza sağ tıklayıp ozelliklerini actığınız zaman ulaşabilirsiniz. Surum bilgisi uygulamanızın dağıtımı takip icin kullanılır
- Uygulamanıza surum bilgisi eklemek icin “Include version information in project” seceneğini secin.
Major Version : Uygulamanızın esas surumunu.
Minor Version : Uygulamanızın ikincil surumunu gosterir. Uygulamanızda buyuk 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 bolum.
Build : uygulamanızın derlenme sayısını gosterir. Auto-increment build number seceneğini işaretlerseniz bu sayı her derleme sonrasında otomatikmen artırılır.
Language : Bu kısımdan surum bilgisinin dilini secebilirsiniz. Turkish olarak secin.
Key/Value : bu kısımda da gosterilecek 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 mumkun olduğu kadar kucuk olmasını istersiniz. Boylece 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 kucultebilirsiniz. Ancak bu durumda kullandığınız .bpl dosyasını da kullanıcı bilgisayarına yuklemelisiniz.(bpl bileşenlerin kullandığı kaynak dosyalardır)
Paketleri uygulamanızın dışında tutmak icin “Build with runtime packages” seceneğini secin ve istediğiniz paketleri secin.
İPUCU : Eğer kullanıcılarınız aynı anda birden fazla uygulamanızı kullanıyorlarsa paketleri kullanarak hafıza ihtiyacını azaltabilirsiniz. Tum uygulamalarınızı “Build with runtime packages” seceneği ile derlerseniz, tum uygulamalarınızın kullandığı paketler hafızaya sadece bir kere yukleneceğinden hafızadan kazanc sağlarsınız.
__________________