Delphimweb delphi sitesine hoş geldiniz...

Ana sayfa Bağlantılar Kaynaklar İpuçları E-Posta
Veritabanı Grafik Object Pascal

Delphimweb.com->AnaSayfa

Delphi logosu
Ana sayfa yapIE Ana Sayfa Yap   Sık kullanılanlara ekleIE Sık Kullanılanlara Ekle   YazdırSayfayı Yazdır    Web'de-Sitede Ara Web'de-Sitede Ara   Delphimweb Blog Delphimweb Blog   Bilişim Sözlüğü Bilişim Sözlüğü
1.Site Hakkında Bilgi ve Programcılığın önemi
2.İşletim sistemi, Dos ve Windows nedir?
     80x86 Mikroişlemcilerin çalışma modları nelerdir?
     Windows'da Thread (Kanal) Kullanımı
3.Assembler, Pascal, Basic, C, C++, C#, Java nedir?
4.Nesneler (Objects) ve Nesneye Yönelik Programlama (NYP) nedir?
5.Programlama ve Görsel Programcılık Nedir?
6.Delphi ve Visual Basic nedir ?
7.Delphide kullanılan bazı terimlerin açıklamaları
8.Delphi'mi yoksa Visual Basic'mi
9.Gnu-Linux ve Kylix nedir ?
10.Delphi 7.0 Sürümü Ana Sayfası Görüntüsü
11.Delphi programının yapısı
12.Object Inspector nedir?
     Object Inspectorun Properties Kısmı
    VCL Bileşenlerin özelliklerinin değiştirilmesi
     Object Inspectorun Events Kısmı
Birden fazla bileşenin aynı olayı (event) kullanması
13.VCL bileşenler
     VCL ve CLX bileşenler nelerdir?
     VCL bileşenlerin kullanılması
     Eski ve yeni delphi sürümlerinde VCL bileşenler
     VCL bileşenlerin bulunması
     Yeni bir VCL bileşeninin oluşturulması ve tanıtılması
     VCL bileşenlerin eksikliği
     VCL bileşenlerin kodları
     VCL bileşenleri kullanmadan programlama
     VCL bileşenleri sayfaları görüntüsü
     Delphi Standart Sayfasında Bulunan Bazı VCL Bileşenler
     Delphi Additional Sayfasında Bulunan Bazı VCL Bileşenler
     Delphi Win32 Sayfasında Bulunan Bazı VCL Bileşenler
     Delphi System Sayfasında Bulunan Bazı VCL Bileşenler
     Delphi Dialogs Sayfasında Bulunan Bazı VCL Bileşenler
     Delphi Win 3.1 Sayfası
     Delphi Samples Sayfasında Bulunan Bazı VCL Bileşenler
     Delphinin Veritabanı ile ilgili VCL Bileşenleri
       Delphi Data Controls Sayfasında Bulunan Bazı VCL Veritabanı Bileşenleri
     İnternetten Bulunabilen Ücretsiz Delphi Bileşenlerinden Bazıları
14.Delphinin yardım sistemi
15.Yardım dosyaları oluşturma
16.Delphiye giriş ve yeni programa başlama
17.Delphide yazılan programın kaydedilmesi ve yeniden açılması
18.Delphide yazılan programın çalıştırılması
19.Delphide basit bir uygulama
20.Delphide Tl ve dolar (döviz) dönüşümü yapan program projesi
21.Delphide Mdi ve Sdi uygulamalar
22.Delphide DOS programı yazma ve çalıştırma
23.Oluşturuculacak Exe İçine Kaynak Gömmek
24.BDS (Borland Developer Studio) 2006
25..NET Nedir ?
26.BDS 2006 nın İçeriği
27..NET ve VCL.NET
28.CodeGear Rad Studio (CRS) 2007
29.CodeGear Delphi for PHP
30.Delphi ve C++ Builder 2009
31.Unicode Nedir ?
32.Delphi Prism ve Oxygene
33.Embarcadero Rad Studio ve Delphi Prism 2010
Mustafa Kemal ATATÜRK - Founder of the Modern Turkish Republic - Modern Türkiyenin Kurucusu --Photo:Anadolu Agency, Foto:Anadolu Ajansı

" Yalnız tek birşeye ihtiyacımız vardır. Çalışkan olmak. Mutluluk yalnız ve ancak çalışanların hakkıdır..."
"Mevzubahis vatansa gerisi teferruattır..."
M.Kemal ATATÜRK

Site hakkında Bilgi:

Bu site delphi -Delphi 7.0 ve Windows Xp baz alınmıştır- ile ilgili bilgi vermek, delphi'yi tanıtmak için yapılmıştır. Bu site profesyonel amaçlarla yapılmamıştır. Şu an geliştirilme aşamasındadır ve tam hazır değildir. Sitede şekil ve içerik yönünde gözden kaçan hatalar olabilir. Böcük İlerleyen zamanla site içeriği zenginleştirilecek ve tamamlanacaktır. Sitedeki bazı resimlerin boyutları orjinallerinden farklıdır. SD

Haberler, Duyurular: (26.08.2008)

    Haber, duyuru CodeGear (Embarcadero) 25.08.2009 tarihinde Delphi, C++ Builder ve Delphi Prism 2010'u çıkarmıştır. (26.08.2008)
    Haber, duyuru Delphimweb Rss, Delphimweb Blog Rss ile birleştirilmiştir. Bundan sonra sitedeki haber, duyuru ve yeniliklerin detaylarını Delphimweb Blog Rss ile takip edebilirsiniz. (09.08.2009)
    Haber, duyuru CodeGear 26.08.2008 tarihinde Delphi ve C++ Builder 2009'u çıkarmıştır. (26.08.2008)
    Haber, duyuru Delphimweb sitesine destek olarak Delphimweb Blog faaliyete başlamıştır. Bu tarihten itibaren sitedeki haber, duyuru ve yeniliklerin detaylarını Delphimweb Blog'da bulabilirsiniz. Hayırlı olsun... (30.04.2008)
    Haber, duyuru Delphimweb sitesine Türkiye'de www.geocities.com/delphimweb adresi üzerinden ulaşılamamaktadır. (16.02.2008)
    Haber, duyuru Delphimweb sitesinin Ana Sayfasına Anket eklenmiştir. Görmek için bağlantıya tıklayınız. (06.02.2008)
    Haber, duyuru Delphimweb sitesine Web'de ve Sitede Arama özelliği eklenmiştir. Arama sayfasına ulaşmak için bağlantıya veya sayfa girişindeki simgesine tıklayınız. (30.01.2008)
    Haber, duyuru Microsoft, 19 Kasım 2007 tarihinde Visual Studio 2008 ve .NET Framework 3.5 'un yayımlandığını duyurmuştur. Visual Studio 2008'in express (ücretsiz) sürümü Microsoft Developer Network - MSDN'dan indirilebilir. (15.01.2008)
    Haber, duyuruPdfdergi.com sitesinin çıkardığı pdf derginin 21. sayısında Delphimweb sitesinin tanıtımına yer verilmiştir. Dergiyi kendi sitesinden ücretsiz indirebilirsiniz. Kendilerine teşekkür ediyoruz. (06.12.2007)
    Haber, duyuruDelphi isminin Delphinin ilk sürümün beta kod adı'ndan geldiğini biliyor muydunuz? (05.11.2007)
    Haber, duyuruDelphimweb sitesinde RSS hizmeti başlatılmıştır. Sitedeki haber, duyuru ve güncellemelere bu şekilde kolayca ulaşabilirsiniz. Ulaşmak için sitenin en altındaki RSS resmine tıklanmanız yeterlidir. Detaylı bilgi için RssNedir.com sayfasına bakınız (28.10.2007)
    Haber, duyuruDelphimweb, www.delphimweb.com adresine taşınmıştır. Siteye eski adresinden de ulaşmak mümkündür. Hayırlı olsun... (16.05.2007)  Nazar boncuğu
    Haber, duyuruDelphi sürümlerinin Codegear.com sitesine kayıt olmak suretiyle zaman kısıtlamalı indirilebildiğini biliyor muydunuz?

Sitedeki Son 10 Değişiklik: (10.09.2009)

    Sitedeki değişiklik 1.Kaynaklar sayfasına FCS (Free Color Source) programı ve AsciiTable programının yeni sürümü eklendi. (28.12.2009)
    Sitedeki değişiklik 2.Anasayfada "Embarcadero Rad Studio 2010" konusu eklendi. (10.09.2009)
    Sitedeki değişiklik 3.Anasayfada "Delphide Mdi ve Sdi uygulamalar" konusu eklendi. (11.07.2009)
    Sitedeki değişiklik 4.Anasayfada "Unicode Nedir ?" konusuna ekleme yapıldı. (26.05.2009)
    Sitedeki değişiklik 5.Siteye "Bilişim Sözlüğü" eklendi. (17.02.2009)
    Sitedeki değişiklik 6.Anasayfaya "Unicode Nedir ?" konusu eklendi. (21.01.2009)
    Sitedeki değişiklik 7.Anasayfaya "Tl ve dolar (döviz) dönüşümü yapan program projesi" eklendi. Bağlantılar sayfasına yeni bağlantılar eklendi. (12.01.2009)
    Sitedeki değişiklik 8.Veritabanı sayfasına "Database Desktop ile Veritabanı Hazırlanması" konusu eklendi. (17.12.2008)
    Sitedeki değişiklik 9. AnaSayfaya "Delphi ve C++ Builder 2009" kurulum resimleri ve "Delphi Prism ve Oxygene" konusu eklendi. (15.12.2008)
    Sitedeki değişiklik 10. Kaynaklar sayfasına Tetrisw (Tetris) oyununun yeni sürümü ve AsciiTable programı eklendi. (12.10.2008)

Programcılık ve Önemi:

İlk kişisel bilgisayarların çıkması ve yaygınlaşması sebebiyle bunların üzerinde çalışacak programların yazılması ihtiyacı doğmuştur. Başlangıçta programlar sadece profesyonel bilgisayar programcıları tarafında üretiliyordu. Günümüzde ise yetenekli insanlar kendi çabalarıyla kısıtlı ve az olan program sayısını artırmış ve binlerce program üretilmiştir. Ayrıca internetin gelişmesi ve yaygınlaşması yapılan programların dağıtılmasını kolaylaştırmıştır. İnternet üzerinden istenilen program çeşitli -Demo (Deneme sürümü), Shareware (Kısıtlı veya zaman kısıtlamalı sürüm) veya Freeware (Bedava dağıtılan sürüm)- şekillerde bulunabilmekte ve indirebilmektedir (Download). Ayrıca kullanıcılar kendi yazdıkları programları kolayca internet sayesinde dağıtabilir (Upload).

İnternet üzerinden istenilen program istenildiği kadar ve şekilde bulunabildiği halde Türkçe program sayısı çok azdır. Bu yüzden ingilizce bilmeyen çoğu Türk, bilgisayar programlarını kullanamamakta veya bilgisayarın kullanımının çok zor olduğunu düşünmektedir. Türk insanının bilgisayar teknolojisinden daha fazla yararlanması için Türkçe programların yazılmasına ve sayılarının artırılmasına ihtiyaç vardır. Türkçe programları ingiliz, amerikalı veya başka ülke insanı yazmaz. Türkçe programları yazacak olanlar Türk mühendisleri ve programlamaya yetenekli Türk gençleridir. Programcılık zor, uğraştırıcı ve zaman alan, programlama yeteneğine sahip kişilerin başarabileceği bir iştir. Ama ülkemiz gençliği çok yeteneklidir, zehir gibi kafaya ve zekaya sahiptir. Gençliğimiz, çalışması ve sahip olduğu yetenekleri sayesinde programcılıkta dahil olmak üzere her işi başarabilir...

Ülkemizde ilk başta programcılığa çok önem verilirdi. Programlama dillerin anlatan bilgisayar kitapları piyasada çok bulunurken aylık ve haftalık bilgisayar dergileri programcılık ile ilgili ekler dağıtır, dergilerin içinde yazılar bulunurdu. Ancak bilgisayar dergileri son zamanda programcılığın önemini unutmuş gibiler. Hazır paket programlarla yazı nasıl yazılır, resim nasıl yapılır, web sayfası nasıl hazırlanır gibi konulara eğilmişlerdir. Dergiler sadece yeni çıkan donanımların ve hazır paket programların tanıtımını, reklamını yapan yayınlar haline gelmişlerdir. Durum, büyük şirketler programları yazar kullanıcılar kullanır sadece parasını versinler yeter haline gelmiştir. Programlama ile ilgili kaynak sayısı sınırlıdır. Bilgisayar ve programcılıkla ilgili kitaplar ve internet siteleri çok azdır. Bilgisayar dergileri donanımlara ve oyunlara çok fazla yer ayrılmaktadır. Sırf oyunlar için bilgisayar dergileri çıkarılmaktadır. Oysa aynı dergiler programcılığa en fazla 3-5 sayfa ayırmaktadırlar veya hiç yer ayırmamaktadırlar. Bir tane bile programlama ile ilgili dergi yoktur. Bu büyük bir eksikliktir. Bunun çözümü programcılıkla uğraşan kişilerin sayısının artmasıdır. Uğraşan kişi sayısı arttıkça programlama ile ilgili kaynak, kitap, bilgisayar dergisi ve web site sayısı artacaktır. Bilgisayar dergileri programlamaya daha fazla sayfa sayısı ayıracaklardır. Programcılığa daha fazla önem verilmesi gereklidir. Programcılık amatörce bir uğraş olabileceği gibi aynı zamanda iyi paralar kazanılabilecek bir endüstridir. Kısaca programcılık asosyal, bardak dibi gibi gözlükleri olan kişilerce yapılan boş uğraş olarak görülmemelidir.

Programcılık, Türk ekonomisi için de çok önemlidir. Dünya üzerinde en büyük şirketlerden bazıları Yazılım (Software) şirketleridir. (Microsoft, IBM, Sun vb..). Bu şirketlerin ürettiği programlara milyonlarca dolar ödenmektedir. Büyük yazılım şirketleri gelişmekte olan ülkelerle işbirliği yaparak büyük yazılım projelerine imza atmaktadırlar. Bu ülkelerden biride Hindistandır. Bu ülke halkının ingilizceyi çok iyi bilmesi ve ülkedeki ucuz iş gücü sayesinde programcılık ve sinema sektörleri çok büyük gelişme göstermiştir. Hindistanlı programcılar büyük projelere imza atmaktadırlar. Bu ülkede bilgisayar ve programcılık eğitimi çok yüksek seviyededir. Bu sayede Hindistan ekonomisi gelişmektedir. Hindistan halkı da programcılık sayesinde para kazanmakta, ailelerinin geçimlerini sağlamaktadırlar. Hindistanın yanında Çin, Japonya, Endonezya gibi ülkelerin bilişim teknolojilerinde attıkları adımlar ve geldikleri yerler bellidir.

Programlar yeteneklerine göre programı üretenin belirlediği bir lisans fiyatına sahiptir. Programı kullanmak isteyen kişi -eğer ücretsiz değilse- bu lisans ücretini ödemek zorundadır. Ülkemizde kopya yazılımın çok fazla olmasına ve bulunmasının kolay olmasına rağmen kopya(lisansız) yazılım kullanmak yasalarımıza göre suçtur ve yaptırımları vardır. Yabancı ülkelerde üretilen programları kullanmak isteyen bir kişi lisans ücreti ödemek zorunda olduğu için ödenen ücret yabancı ülke, kişi yada firmalara gidecektir. Bu ülke ekonomisi için istenmeyen bir durumdur. Çünkü ülke dövizi yurt dışına çıkmaktadır. Oysa aynı program Türk programcılar veya firmalar tarafından yapılsa ülkenin dövizi ülke içinde kalacaktır. Belki üretilen program dışarı satılıp döviz geliri bile elde edilebilecektir. Bu durum ülke ekonomisi ve ülkenin kalkınması için çok faydalıdır.

Sonuçta Türk gençliği olarak çok çalışmalı, araştırmalı, öğrendiğimiz her bilgiyi paylaşmalı ve bunu kodlara dökmeliyiz. Ülkemizde programcılık geliştikçe bilgisayar dalında ve ekonomide gelişmiş ülkelere ulaşabilir, onlarla yarışabiliriz...

May the codes be with you...

Türkiye Cumhuriyeti-Republic of Turkey

İşletim sistemi, Dos ve Windows nedir ?

İşletim sistemi, bilgisayarın açılmasını sağlayan, bilgisayarı kulanıcıdan komut alacak hale getiren programlardır. Dos, metin tabanlı bir işletim sistemidir. Komutları klavyeden alır. Aynı anda sadece bir program çalıştırabilir. DOS işletim sistemi ancak 1 Mb belleği kontrol edebilir. Üstelik bu 1 MB belleğin yalnızca 640 Kb'lik bölümünü programlar için kullanabilir. Ms-Dos, dos işletim sisteminin Microsoft tarafından geliştirilmiş sürümüdür. Windows ise Microsoft tarafından geliştirilmiş, grafik tabanlı, aynı anda birden fazla programın çalışabildiği bir işletim sistemidir. Windows, Intel sistemlerinde 4 Gb bellek kullanabilir. Bir Windows programı istenildiği kadar uzun olabilir. Windows 3.1 ve önceki sürümler, DOS işletim sistemi üzerinde çalışan, 16 bitlik programlar çalıştırabilen işletim sistemleridir. Windows 95 ve sonraki işletim sistemleri ise 16 ve 32 bitlik programları çalıştırabilen, Dos işletim sistemine hiç ihtiyaç duymayan, aynı anda birden fazla programı gerçek zamanlı olarak çalıştırabilen işletim sistemleridir. Windows'un en son sürümü 2009 yılının ekim ayında çıkan Windows 7'dir. Windows Vista ve Windows 7'nin hem 32 hem de 64 bitlik sürümleri bulunmaktadır.

80x86 Mikroişlemcilerin çalışma modları nelerdir?

Windows aynı anda birden fazla programın bir arada çalıştırılabildiği çok işlemli (multi processing) bir işletim sistemidir. Çok işlemli çalışma zaman paylaşımlı bir biçimde yapılır. Yani her program bir süre çalıştırılarak bırakılır. Programların çalıştırılıp bırakılma işlemleri belli bir algoritma ile yürütülür. Bu algoritmaya çizelgeleme algoritması denir.

Sanal bellek (virtual memory) programın belli bir kısmının RAM'e yüklenerek disk ile yer değiştirmeli olarak çalıştırılması için kullanılır. Intel, 80386 ve sonrası mikroişlemcileri geliştirirken RAM ve sabit disk arasında hafıza değişimini (swap) kolaylaştıran işlemci modları geliştirmiştir. Böylece windows gibi işletim sistemleri sabit diskin bir kısmını RAM gibi kullanabilmektedir. Bu Windowsun kullanabileceği hafızayı artırmaktadır. Dos ve Windows işletim sistemlerinin üzerinde çalıştığı 80x86 mikroişlemcilerin üç çalışma modu vardır:

1. Gerçek Mod (Real Mode)
2. Sanal86 Mod (Virtual 86 Mode)
3. Korumalı Mod (Protected Mode)

80x86 işlemcileri reset edildiğinde çalışma gerçek modda başlar. Korumalı moda gerçek moddan yazılım yolu ile geçilmektedir. 8086, 8088, 80186 işlemcileri sadece gerçek moda çalışabiliyordu. 80286 işlemcisi gerçek mod ve korumalı modlarda çalışabilmektedir. 80386 ve sonrası bu üç modu desteklemektedir. 80X86 işlemciler gerçek modda çok küçük farklılıklar dışına hızlı bir 8086 gibi çalışmaktadır. DOS işletim sistemi gerçek modda çalışabilecek biçimde tasarlanmıştır. 8086 işlemcisi 1 MB bellek kullanabilen 16 bit bir mikroişlemcidir. Bu nedenle gerçek modda ancak 1 MB bellek kullanılabilir. Korumalı mod koruma mekanizmasının, sanal bellek kullanımının, çok işlemli çalışmanın, mümkün olduğu en ileri çalışma modudur. UNIX ve Windows sistemleri korumalı modda çalışmaktadır. Sanal 86 Modu, 8086 gibi çalışmanın sağlandığı ancak korumalı modun çeşitli özelliklerinin kullanılabildiği bir ara moddur. Windows işletim sisteminde komut satırı Sanal 86 Modunda çalışmaktadır çünkü Windows işletim sisteminde kullanılan task switch mekanizmasında Gerçek Mod kullanılamamaktadır. Windows işletim sisteminde DOS penceresi açıldığında yada herhangi bir DOS programı çalıştırıldığında işlemci Sanal 86 moduna geçmektedir. Ancak işletim sisteminin açılışında F8 tuşuna basılarak Sadece Komut İstemi seçeneği seçildiğinde Gerçek Modda çalışma söz konusu olur.

Windows'da Thread (Kanal) Kullanımı :

Disk üzerindeki her bir uygulama çalıştırıldığında artık windows için birer işlem(process) olur. Bir işlem Windows için fazla bir şey ifade etmez. Çünkü işlemler sadece hafızada belli bir bölgede var olmaktan sorumludur. Esas işlemi yapan kısım kanallardır(thread). Bir işlem en az bir adet kanala sahiptir. Win 3.1 gibi işletim sistemleri sadece bir adet kanala sahiptir. Ama Windows 95 ve üstü, Unix, OSX gibi işletim sistemleri birden fazla kanala sahip olabilirler.

İşletim sistemi bir programı ya da bir DLL'i ilk başta işlem olarak hafızaya taşır. Bu esnada işlem eylemsiz olarak durur. Bu işleme ait kanallar ise belirlenen ölçülerde programın kodlarını çalıştırmaya başlar. Yine teorik olarak bilinmesi gereken diğer bir terim de quantum değeridir. Her kanalın windows tarafından atanmış bir işletilme süresi vardır. Ve terim olarak quantum olarak isimlendirilir.

Her kanal, çalışma esnasında kendi eax, ebx, edx gibi register verilerini tutan bir yapıya sahiptir. Bu yapıya context(içerik) adı verilmektedir. Bu yapının Delphi'deki karşılığı TContext olup, Windows unitindedir. Bu record tipini incelendiğinde bir çok register'ı barındırdığını görülecektir.

Her bir kanal sahip olduğu önceliğe göre işletim sistemi tarafından işleme alınacaktır. Bu işleme alış esnasında sahip olduğu context'deki register değerleri yüklenir. Esp, Ebp, Eip gibi registerlar da yüklendiğinden, kanal önceden kaldığı yerden önceki stack değerlerine göre işlemine devam edecektir. Ve yine önceliğine göre belli bir süre sonunda işletim sistemi bu kanalı durdurup register değerlerini context yapısında saklar. Daha sonra diğer bir kanalın context verisini yükleyerek başka bir kanalı işlemeye geçer. Ve bu işlem tüm kanallar için devam edip gider. İşletilme ve geçiş süreleri çok kısa olduğundan, sanki aynı anda tüm kanallar işletiliyormuş gibi zannedilecektir. Halbuki bütün kanallar belli bir sıra ile çok kısa sürelerde işletilip diğer bir kanala geçilmektedir. Yani her kanal aynı anda çalışmaz, kullanıcı öyle zanneder. Tabi bu anlatılanlar tek işlemci ve tek çekirdek için geçerlidir. Kanalların işletilme sürelerini ise kanalların önceliği belirlemektedir. Hangi kanal daha yüksek öncelikli ise o kanal daha fazla işletilme süresine sahip olur. Eğer kanal arkaplanda çalışma üzere ayarlanmış ise, diğer kanallar işlemlerini tamamladıktan sonra ancak bu kanala sıra gelecektir. Eğer kanal çok yüksek önceliğe sahip ise uzun bir süre bu kanal işleme devam edecek ve diğer kanallara sıra gelmeyecektir.

Normalde bir kanal windows ortamında CreateThread Windows API'si ile oluşturulur. Fakat VCL bize TThread isminde bir sınıf da sunmuştur. Kullanım açısından ayırt edebilecek temel nokta şudur. Eğer kanalda yapılacak işlemler VCL sınıflarını etkilemesi gerekiyorsa TThread sınıfını kanal oluşturmak için kullanılır. Yok eğer VCL sınıflarını ilgilendiren bir işlem söz konusu değilse CreateThread API'sini kullanılır.


Assembler, Pascal, Basic, C, C++, C#, Java nedir ?

Assembler, makine diline en yakın olan dildir. Assembler (Sembolik Makine Dili), taşınabilir genel bir dil değildir. Assembler kodları yazıldıkları işlemciye özeldirler ve tamamen işlemciye bağlı olarak değişirler. Assembler'da program yazabilmek için bir Assembler derleyicisi ve bir de linker programı gereklidir. Borland firmasının assembler derleyicisi TASM.EXE dosyası, linker programı ise TLINK.EXE programıdır. Microsoft'un assembler derleyicisi ise MASM.EXE, linker programı ise LINK.EXE programıdır. Assembler programların incelenmesi amacıyla "debugger" programları kullanılır. Bu amaçla Borland firmasının TD.EXE Microsoft firmasının CV.EXE programları vardır.

Basic dili 1960'lı yılların ortalarında John Kemeney ve Thomas Kurtz tarafından geliştirilmiştir. Yüksek seviyeli dillerin en eski ve en basit olanlarından biridir. Tüm basitliğine karşın, bir çok ticari uygulamada kullanılmıştır. QBasic, dos ortamında çalışan programlar yapmak amacıyla Microsoft tarafından geliştirilmiş bir programdır. Bu programla Basic dilinde programlar geliştirilmektedir. Qbasic, yazılan basic programlarını çalıştırabilir yalnız derlemez. Basic programlarının derlenmesi isteniyorsa Quick Basic 4.5 veya 7.1 kullanılmalıdır. Borland'da Turbo Basic adında programlama aracı geliştirmişse de Quick Basic kadar popüler hale gelememiştir. Bu programlar internette arama ile bulunabilir. Basic dili günümüzde yerini Visual Basic'e bırakmıştır.

Pascal dili 1971 yılında akademik çevrelere yapısal programlama kavramını tanıtmak için Profesör Niclaus Wirth tarafından geliştirilmiş yüksek seviyeli bir programlama dilidir. (Dile matematikçi ve filozof Blaise Pascal'ın ismini verilmiştir.) Bu dil kısa zaman içinde üniversitelerde kullanılan programlama dili haline gelmiştir. Modula ve Modula-2 dilleri Pascal dili baz alınarak geliştirilmiştir. Turbo Pascal, dos ortamında çalışan programlar yapmak amacıyla Borland Software Corporation tarafından geliştirilmiş bir programdır. Bu programla Pascal dilinde programlar geliştirilmektedir. Borland, Turbo Pascalın ardından Borland Pascal with Objects ve Turbo Pascal for Windows adlarına sahip ile hem dos hem de windows (16 bit) ortamında programlar yapılabilen bir programlama aracları geliştirmiştir. Microsoft'da Quick Pascal adında programlama aracı geliştirmişse de Turbo Pascal kadar popüler hale gelememiştir.

Pascal dilinde her program satırı ";" işareti ile biter. Kullanılacak kütüphaneler uses direktifinin yanına yazılır. Örneğin "Uses crt, dos;" gibi. Bu dilde değişkenler var bloğunun içinde tanımlanmak zorundadır. Örneğin "Var a: integer; b: string;" gibi. Bu dilde Procedure ve Function denilen alt program çeşitleri vardır. Procedure değer döndürmez, Function değer döndürmek zorundadır. Programlaması ve öğrenilmesi kolaydır.

C dili 1970'li yılların başında AT&T Bell laboratuvarlarında Dennis M. Ritchie tarafından yazılmıştır. Kendinden önceki B dili üzerinde kurulu bir yapı oluşturmasından dolayı C olarak isimlendirilmiştir. C dili görünüş olarak Pascal, Basic gibi yüksek seviyeli bir dil olarak görünürken, temelde işlevler düşük seviyeli, -makine diline yakın olan- Assembler'a çok yakındır. Ayrıca C programları diğer dillere göre daha hızlı çalışır, C dili diğer dillere göre komut kütüphaneler bakımından daha zengindir. Yalnız C dilinde kontrol mekanizmaları kaldırılmıştır (Bundan dolayı hızlıdır). Yazılan programın çalışması esnasında oluşan hatalarda program durdurulmaz. C'de "Hatalar programcı tarafından bilerek yapıldı" felsefesi geçerlidir. Bundan dolayı programcı gerekli yerlerde hata kontrollerini kendisi yapmalıdır.

C++ dili ise 1980'lerin başında AT&T Bell laboratuvarlarında Bjorne Stroustrup tarafından geliştirilmeye başlanmıştır. 1985 yılında kullanıma sunulmuştur. C++, küçük detaylar dışında C'yi tamamen kapsayan daha iyi bir C olarak tasarlanmıştır. C'den C++'ye geçerken "++" eklenmesinin sebebi bu operatörün bu dilde bir arttır anlamına gelmesidir. Yani C++, C nini bir arttırılmışıdır. Bugün pek çok C++ derleyicisi mevcuttur. C++ derleyicileri aynı zamanda C programlarını da derlerler. C++ dili tam olarak 1997 yılının Kasım ayında ISO ve ANSI tarafından standartlaştırılmıştır. C++ hakkında internette çok fazla bilgi ve doküman bulmak mümkündür. C++ hali hazırda en güçlü dillerden biridir ve birçok işletim sisteminin C++ ile yazıldığını söylenebilir.

1999 yılında Microsoft tarafından geliştirilen C# (C Sharp) C tabanı üzerinden geliştirilen, C++, Java, Delphi ve Visual Basic' ten bazı özellikler almış olan nesne tabanlı bir programlama dilidir. Microsoft' un iddiasına göre C#; C++' ın gücüne ve zenginliğine, Visual Basic' in de üretkenliğine sahiptir. C# temelde Windows tabanlı sistemlerin geliştirilmesi için tasarlandığı için C# nesne modelleri, Microsoft' un COM ve DCOM nesne biçimlerine direkt olarak uyum sağlar. Halen geliştirilmekte olan birçok uygulama derleyicisi bulunmaktadır. (bkz. .NET Nedir ?)

Java, Sun Microsystems mühendislerinden James Gosling tarafından geliştirilmeye başlanmış gerçek nesneye yönelik, platformdan bağımsız, yüksek performanslı, çok işlevli, yüksek seviye, interpreted (adım adım işletilen) bir dildir. Java ilk çıktığında daha çok küçük cihazlarda kullanılmak için tasarlanmış ortak bir platform dili olarak düşünülmüştür. Ancak platform bağımsızlığı özelliğinden dolayı C ve C++'tan çok daha üstün ve güvenli bir yazılım geliştirme ve işletme ortamı sunar. Hemen her yerde kullanılmaya başlanmıştır. Şu anda özellikle kurumsal alanda ve mobil cihazlarda son derece popüler olan Java özellikle J2SE 1.5 sürümü ile masaüstünde de gücünü arttırmayı hedeflemektedir. Java'nin ilk sürümü olan Java 1.0 (1995) Java Platform 1 olarak adlandırılmıştır ve tasarlama amaçına uygun olarak küçük boyutlu ve kısıtlı özelliklere sahiptir. Daha sonra platformun gücü gözlenmiş ve tasarımında büyük değişiklikler ve eklemeler yapılmıştır. Bu büyük değişikliklerden dolayı geliştirilen yeni platforma Java Platform 2 adı verilmiştir ama versiyon numarası 2 yapılmadı, 1.2 olarak devam etti. 2004 eylül ayında çıkan Java 5.0 (önce 1.5 olarak duyuruldu), geçen 1.2, 1.3 ve 1.4 sürümlerinin ardından en çok gelişme ve değişikliği barındıran sürüm olmuştur. Şu an 2006 aralık ayında çıkan 6.0 (1.6) sürümü kullanılmaktadır.

Java, normalde grafik ortamında programlama yapmak için araç içermez. Programı derleme ve çalıştırma işlemleri metin ortamında yapılır. Fakat Java için grafik programlama ortamı sağlayan birçok araç vardır. Bunlardan birisi NetBeans'dır. NetBeans, java ile aynı internet sayfasında bulunan grafik tabanlı ücretsiz bir java programlama aracıdır.

Programcının hangi programlama dilini kullandığının önemi yoktur. Bütün programlama dilleri ile program yazılabilir. Fakat bazı programlama dilleri diğer dillere göre programcıya hız, programlama kolaylığı, taşınabilirlik, az kod kullanma ve derlenmiş programın boyutunun küçük olması gibi avantajlar sağlar.

Nesneler (Objects) ve Nesneye Yönelik Programlama (NYP) nedir ?

Nesneye Yönelik Programlama (NYP) (OOP-Object Oriented Programming) ve Nesneler programcılıkta kullanılan yeni bir yöntemdir. NYP'nin 1960'lı yıllarda Simula dilinin tasarlanması ile başladığı kabul edilmektedir. İlerleyen yıllarda NYP'nin uygulanabilirliğinin artmasıyla diğer programlama dilleride bu yöntemi desteklemeye başlamıştır. C++ dili ve -Pascal dilinin gelişmiş hali olan- Objects Pascal dili de Nesneye Yönelik programlar geliştirmeye imkan vermektedir.

Günümüzde bilgisayar donanımlarının gelişmesi ile bunlar üzerinde daha gelişmiş ve daha fazla ihtiyaca cevap verebilecek programların yazılmasına gereksinim oluşturmuştur. Başlangıçta basit ve az satıra sahip olan programlar karmaşıklaşmış ve daha çok koddan ve program satırından oluşmaya başlamışlardır. Bu programcıları yeni arayışlara ve yöntemlere itmiştir. İşte Nesneler ve NYP burada devreye girer. Klasik programlamada programcı programın herşeyi ile ilgilenmek zorundadır. NYP'de ise programcı ihtiyacına göre sınıflar (class) tanımlar ve programında istediği sınıftan istediği kadar nesne (object) oluşturur. Nesnenin oluşturulması (kullanıma hazır hale getirilmesi) ve gerektiğinde yok edilmesi (hafızadan silinmesi) için gerekli kodlar sınıf tanımlanırken bir kez yazılır. Bu yazılan kodlar oluşturulan bütün nesneler için kullanılır (sınıfta yer alan bir kod oluşturulan binlerce nesneye geçerlidir). Aynı kod tekrar tekrar yazılmaz ve bazı kodların çalıştırılması bütün nesneler için otomatik olur (kalıtım). Ayrıca NYP'nın bir avantajı da şudur; Bir sınıftan binlerce nesne üretilse bile bütün sınıflar üretildikleri sınıfın kodunu kullanır. Her nesne için ayrı kod saklanmaz bu hafızadan tasarruf sağlar. Hafızada yalnızca her nesnenin kendisine özgü olan değişken değerleri saklanır. Yani kalıp bir tanedir. Aynı kalıptan binlerce iş üretilir.

NYP ile Klasik programlama arasındaki farka şu örneği verebiliriz: Klasik bir atölyede yeterince malzeme, bilgi ve deneyime sahip bir kişi her parça ile teker teker uğraşarak, büyük emek ve zaman harcayarak kendi arabasını üretebilir. Ama aynı arabadan binlece üretilmesi gerekiyorsa bunun için klasik yöntemler yetersiz kalır. Klasik yöntem kullanılarak yapılan üretimde çok büyük emek ve zaman kaybı olur. Oysaki üretimde işleri otomatiğe bağlayarak (fabrikasyon üretimle) zaman ve emek tasarrufu sağlanır. Programcılıkta da Nesneler kullanarak çok büyük işler daha az zaman ve emekle gerçekleştirilir.

Windows'da tümüyle NYP kullanılarak yazılmıştır. Bu yüzden windows'ta çalışacak bir program yazmak isteyen kişinin Nesneleri iyi bilmesi gerekir. Bu delphi için de geçerlidir. Delphide yazılan windows programlarına bakıldığında NYP kolayca fark edilecektir. Windows'ta ekran üzerinde bulunan her resim, buton, pencere, menü vb herşey penceredir (nesnedir). Birbirlerine ve sisteme sürekli mesajlar gönderen, birbirlerinden ve sistemden sürekli mesajlar alan binlerce pencere (nesne). Windows'un görevi bu pencereleri (nesneleri) ve mesajları idare etmektir. Çalışma sırasında hafızada binlerce nesne oluşturulur yine binlercesi hafızadan silinir. Windows programlarının çalışması aslında bu nesnelerin mesaj göndermeleri ve aldıkları mesajları değerlendirmeleridir.

Programlama ve Görsel Programcılık Nedir?

Programcılık normalde program kodunun bir metin editöründe (Dos'ta Edit, Windows'ta ise Notepad veya Wordpad vb..) yazılması ve yazılan kodun -komut satırında yazılan komutlarla- kendi derleyicisinde derlenmesi sonucu oluşan programın yine komut satırında çalıştırılarak denenmesi şeklinde yapılır. Bu zor ve uzun bir işlemdir. Son zamanlarda metin editörü de bulunan derleyiciler işi biraz daha kolaylaştırmışlardır. Bunlar aynı mantıkla çalışırlar fakat komut satırı işlemlerini otomatik yaparlar.

Görsel programcılık ise durum farklıdır. Kullanıcı, windows programını yazarken sürükle ve bırak mantığıyla nesneleri alır ve program formunun üzerine koyar. Bazı kodlar otomatik yazılır ve kaynak dosyaları otomatik oluşturulur. Programcı bunlarla ilgilenmez. Nesnenin, form üzerindeki yerini, rengini, vb. işlemleri bile fare ile ayarlar. Böylece programcı sadece yapacağı işe konsantre olur. Diğer işleri görsel programlama aracı halleder. Şu anda görsel programcılık amacıyla kullanılan pek fazla programlama dili yoktur. Görsel programlama araçlarına Visual Studio (Visual Basic, Visual C++, Visual C#), Rad Studio(C++ Builder, Delphi, Delphi Prism), Dev Pascal, Dev C++ ve Lazarus programları örnek verilebilir.

Delphi ve Visual Basic nedir ?

Visual Basic, Microsoft tarafından, Basic programlama dili üzerinde geliştirilmiş, olay yönlendirmeli, üst seviye, nesne tabanlı ve görsel bir programlama dilidir. Visual Basic, windows ortamında çalışan programlar yapmak amacı ile geliştirilmiştir. Visual Basic'in en son sürümü Visual Basic 6'dır. Bundan sonraki sürümlerde dilin yapısı çok büyük oranda değişmiş ve tamamen .Net teknolojisine geçmiştir. Şu an Visual Basic® 2008 sürümü kullanılmaktadır. Visual Basic ve diğer programlama araçlarının ücretsiz sürümlerini Microsoft'un Microsoft Developer Network - MSDN sitesinden indirmek mümkündür.

Borland firması 1995 yılında efsane Turbo Pascal'ın Win32 platformlu görsel uygulamasını hazırlamaya koyuldu. İlk başta proje adı Visual Pascal'dı. Daha sonra projenin kod adı olan Delphi adı ile değiştirildi. Delphi de, Visual Basic gibi windows ortamında çalışan programlar yapmak amacı ile geliştirilmiş bir programdır. Delphi ile Object Pascal kavramları birbirine karışsa da Delphi, Object Pascal programlama dilini kullanan ve programcılara VCL teknolojisi yardımıyla program yazmalarını sağlayan IDE nin adıdır. Delphinin tüm komutları Object pascal komutlarıdır. Delphi'ye başlayacak bir kimse ilk önce Pascal komutlarını gözden geçirmelidir. Delphinin son sürümleri C++ diline de destek vermektedir.

Borland, Delphi ve diğer programlama dillerini önce Codegear çatısında toplanmıştır. 2008 yılında ise Codegear, Embarcadero Technologies şirketine satılmıştır. Delphi bu tarihten itibaren bu şirket bünyesindedir. Delphinin şu an Delphi® 2010 sürümü kullanılmaktadır. Bu sürümle windows ortamında çalışan 32 bitlik programlar yapılabilmektedir. Çalışan .exe programlardan haricinde .dll (Dinamik bağlantı kütüphaneleri) ve ActiveX nesneleride delphi ile kolayca oluşturulabilmektedir. Embarcadero'nun 2009 yılında Delphi ile birlikte çıkardığı Delphi Prism ise Microsoft Visual Studio altında çalışan .NET teknolojisini destekleyen delphi sürümüdür. (bkz. Delphi Prism ve Oxygene)

Delphi ücretli bir uygulamadır. Delphi kullanarak uygulama yapmak isteyen kişilerin lisans ücretini ödemesi gerekir. Ücretsiz programlama yapmak ve öğrenmek amacıyla delphiye benzeyen Lazarus adlı GPL lisanslı ücretsiz program kullanılabilir. Bu programın şekli ve çalışması delphiye benzemektedir. Fakat kod yapısında ve derlenmiş dosya boyutunda farklılıklar vardır. Aşağıda resimde Lazarus ekran görüntüsü görülmektedir:

Lazarus 0.9.26 ekran görüntüsü

Delphide kullanılan bazı terimlerin açıklamaları:

Class (Sınıf) : Nesneye Dayalı (Object Oriented) programlamada belli bir işlevi yerine getirmesi için kurulmuş, fonksiyonlardan ve verilerden oluşan yapıya class(sınıf) denir.
Property (Özellik) : Bir class'ın belli özelliklerinin sakladığı ve kullanıcı tarafından değiştirilmesine veya kontrol edilmesine izin verilen değişkene property(özellik) denir.
Event (Olay) : Programın çalışması sırasında dışarıdan girişlere göre değeri değişen özel property'lere event(olay) denir.
Procedure (Prosedür) : Geriye herhangi bir değer döndürmeyen alt programlara Procedure(Prosedür) denir
Function (Fonksiyon : Geriye belirli tiplerde değer gönderen alt programlara Function(Fonksiyon) denir.
Method (Metot) : Bir class üzerinde çalışan procedure ve fonksiyonlara method(metod) denir.
Component (Bileşen) : Görsel bir programlama dilinde belli bir işlemi yapmak için tasarlanmış property, event ve methodlar içeren küçük program parçasına component(bileşen) denir.
Form : Görsel bir programlama dilinde program yazarken kullanılan her türlü komponenti, üzerine yerleştirebilen ve programın kullanıcı ara yüzünü oluşturan pencerelere form denir.

Delphi'mi yoksa Visual Basic'mi ?

Delphi'de de Visual Basic'te de windows ortamında çalışan görsel programlar yapmak mümkündür. Fakat iki program tarafından oluştulan programlar arasında çeşitli farklar vardır.

Delphi ile derlenerek oluşturulan programlar hızlı çalışır fakat oluşturulan program çok basit bile olsa boyut olarak biraz büyüktür ve hafızada çok yer kaplar. Bunun sebebi delphinin program için gerekli kodların hemen hemen hepsini oluşturulan program dosyasının içerisine yerleştirmesidir. Oluşturulan programlar hemen hemen harici dosyalara ve kütüphanelere ihtiyaç duymaz.

Delphinin gerekli kodları ve kütüphaneleri oluşturulan program içerisine yerleştirmemesi seçeneği de vardır. Bu, Project menüsünden Options seçeneği seçilerek gelen pencerede Packages tabında "Build with runtime packages" kutusu işaretlenerek sağlanabilir. Böylece program boyutu küçük kalır fakat delphinin kütüphane dosyalarının (.bpl) da program ile birlikte dağıtılması ve kurulması gereklidir.

Visual Basic'te oluşturulan dosya delphi'ye göre daha yavaş çalışır fakat boyut olarak daha küçüktür. Bunun sebebi bütün kodların oluşturulan dosyanın içine yerleştirilmemesidir. Program harici kütüphanelerden bazılarına (vbrun300.dll, vb40032.dll, msvbvm50.dll, msvbvm60.dll vb..) ihtiyaç duyar. Bu dosyalar sisteme en az bir defa kurulmalıdır. Programın dağıtılacağı zaman bu kütüphanelerden gerekli olanların da dağıtılacak sisteme kurulması zorunludur. Kütüphanelerden sistemde bulunmazsa oluşturulan program çalışmaz. Oluşturulan programın yavaşlama sebebi çalışması esnasında bu kütüphanelere erişmek zorunda olmasıdır.

Gerek Delphi .Net'de gerekse Visual Basic .Net'te yapılmış Net programların boyutları diğerlerine göre küçüktür. Çünkü bu programların çalışması için .Net Framework kurulu olmak zorundadır ve gereklidir. Bu programlar hazır ve yüklü olan .Net kütüphanelerini kullanırlar.

Anket : (Hangi programlama dilini tercih edersiniz?) (06.02.2008)

Hangi programlama dilini tercih edersiniz?

Delphi
Delphi.Net
Visual Basic .Net
C++ Builder
C# Builder
Java
Visual C# (Yeni)
Delphi Prism (Yeni)


Toplam 171 Oy
( Sonuçlar )

Gnu-Linux ve Kylix nedir ?

Linux, Linus Torvalds adlı bir üniversite öğrencisinin üniversite ödevi olarak başlamıştır. Linus'un yazdığı bilgisayarın temel işlemlerini yerine getiren basit bir yazılımdır. Bu yazılıma kernel denir. Linux kerneli internet vasıtasıyla gönüllü kişiler tarafından geliştirilmiş ve geliştirilmektedir.

1985 yılında Richard Stallman, Free Software Foundation (Özgür Yazılım Derneği) adlı derneği kurarak 1984'de başlayan GNU projesine hız vermiştir. Bu projenin amacı özgür, herkesin kullanabileceği, ücretsiz bir işletim sistemi oluşturmaktır. Bu işletim sistemide kodlar açık olacaktır. Kodları herkes değiştirip, katkıda bulunabilecektir. GNU-Linux böyle sistemdir. Bu sistemde kodlar GPL (General Public Licence) Genel Kamu lisansı ile korunur. Bu lisansta yazılan program yazılımcıya aittir, kullanıcı kodları kopyalayabilir, değiştirebilir, geliştirebilir, satabilir. Ancak kodu her zaman açık tutmak zorundadır.

Linux kerneli ve GNU desteği ile GNU-Linux internetten yayınlanan, gönüllü kitleler tarafından geliştirilen ve şu an kişisel bilgisayarlar ve çeşitli platformlarda başarıyla çalışan bir sistemdir. Yalnız bu bir işletim sistemi değildir. Ücretsiz olan bu sistemi alan her kişi buna dayanan bir işletim sistemi yapabilir. (Red Hat, Suse, Debian, Knoppix, Pardus, Gelecek Linux, vs..)

Linux tabanlı işletim sistemlerinden bazıları windows gibi sabit diske kurulmak zorundadır. Fakat (Knoppix, Pardus Live, vb) CD veya DVD'den çalışan ve kuruluma ihtiyaç duymayan linux sistemleri de vardır. Bu işletim sistemleri sabit diske kurma ve sabit disk bölümlenmesi gibi işlemlerin yapılmasına gerek kalmadan işletim sistemi CD'si veya DVD'si ile herhangi bir bilgisayarda gerekli setup ayarının yapılması kaydıyla rahatlıkla çalıştırılabilirler.

Pardus, Uludağ üniversitesinin hazırladığı tamamen Türkçe ulusal linux dağıtımıdır. Pardus sitesinde ücretsiz hem CD'den çalışan hem de kurulum sürümlerini bulabilirsiniz.

Kylix, Borland firmasının Gnu-Linux temelli işletim sistemleri için program geliştirilmesi amacıyla ürettiği bir programlama aracıdır. Linux'da Delphi'nin karşılığıdır. GPL lisansına tabi değildir ve ücretlidir. Borland Kylix'i ikinci sürümünüden sonra üretimden kaldırmıştır.

Delphi 7.0 Sürümü Ana Sayfası Görüntüsü:

Delphi Ana Sayfası

Delphi programının yapısı :

Delphi programı uygulama geliştirme ortamı (IDE - Integrated Development Environment), IDE program yazarken işlerinizi kolaylaştıracak birçok araca ve özelliğe sahiptir. Yukarıda da görülebileceği gibi temel olarak şu kısımlardan oluşur:

Code Editor (Kod Editörü, Kod penceresi): Programcının kodları yazdığı kısımdır. Açık olan dosyalar sekmeler halinde gözükür. Hangi dosya düzenlenmek isteniyorsa, ismi yazan sekmeye tıklanmalıdır. Eğer düzenlenmek istenen dosya Kod Editöründe açık değilse View menüsünden Forms komutunu verilerek projedeki formları veya View menüsünden Units komutunu verilerek unitleri görüp, düzenlemek istenen açılabilir.
Form Designer (Form Tasarlayıcı, Form Penceresi): Programcının VCL bileşenleri (sürükleyerek bıraktığı) eklediği, programın ekranda görünen kısmıdır.
Component Palette (Bileşen paleti): Programcının forma ekleyebileceği VCL bileşenleri seçtiği, VCL bileşenlerin bulunduğu kısımdır.
Object TreeView (Bileşenleri Gösterici): Programcının forma eklediği bileşenleri ağaç yapısında gösterir ve seçebilmesini sağlar.
Object Inspector (Bileşenlerin Özelliklerini ve Olayları Ayarlayıcı-Nesne Müfettişi): Bileşenlerin özelliklerinin, olayların ayarlandığı ve görüldüğü kısımdır.
Program menüsü ve toolbar.

Delphinin toolbar kısmında görülen ikonlardan en sık kullanılan bazıları ve görevleri:

Delphi toolbar Run : Yapılan programı derleyip çalıştırmak için kullanılır.
Program Pause: Yapılan programı çalıştırdıktan sonra çalışmasına ara vermek için kullanılır.
Program Reset: Yapılan programı çalıştırdıktan sonra durdurmak için kullanılır. Program hatalarında işe yarar.
Units...: Yapılan programda bulunan unitleri görmek ve bir uniti seçmek için kullanılır.
Forms...: Yapılan programda bulunan formları görmek ve bir formu seçmek için kullanılır.
Open Project...: Önceden kaydedilmiş program projesini yüklemek için kullanılır.
Save Project As...: Program projesini farklı adla kaydetmek için kullanılır.
Save All: Program projesindeki bütün dosyaları kaydetmek için kullanılır.
Close All: Program projesindeki bütün dosyaları kapatmak için kullanılır.

Ayrıca delphi başka araçlar da içermektedir. Bu araçlara Menünün Tools kısmından ulaşılabilir.

Image Editor: Image Editor, delphinin kaynak editörüdür. Bir Windows programındaki bitmap, dialog penceresi, menü, simge, string gibi görsel elemanlara kaynak (resource) denir. Kaynaklar ya doğrudan kaynak dili kullanılarak yazılırlar ya da görsel olarak kaynak editörlerinde oluşturulurlar. Kaynak editörü bu görsel belirlemelerden kaynak kodunu oluşturur. Image Editor ile tasarlanacak programlar için her türlü bitmap, ikon, kursör gibi kaynaklar rahatlıkla oluşturulabilir. Ayrıca tasarlanacak programın kaynak dosyasının (.res) içermesi istenen her türlü veri (bitmap, ikon, kursör vb.) bu programda ayarlanıp, oluşturulabilir.
Database Desktop: Bu programla delphi projelerinde kullanmak üzere Veritabanı (Database) dosyaları oluşturmak, bunlarla ilgili ayarlar yapmak ve bu dosyalar veriler eklemek mümkündür.

Delphi, temel kısımlardan ve araçlardan başka programlayıcının işini kolaylaştıran çeşitli diyaloglara da sahiptir. Bunlara Menünün View kısmından ulaşılabilir.

Project Manager: Bu diyalog ile projede bulunan form ve unitlerden istenilen silinebilir, projeye yeni unit ve/veya form eklenebilir. (Ctrl+Alt+F11)

Project Manager

To-Do List: Bu diyalog ile projede yapılacak ve bitirilmiş olan işlerin listesi tutulabilir. Liste .todo uzantılı dosyada saklanır.
Alignment Palette: Bu diyalog ile projede bulunan nesnelerin birbirlerine veya forma göre yerleşimleri ayarlanabilir.
Browser: Bu diyalog ile projede bulunan nesnelerin, unitlerin ve formların ataları ve kendileri ile ilgili bilgiler veren diyalog. (Shift+Ctrl+B)
Component List: Bu diyalog ile delphi ile kurulmuş olan tüm bileşenlere ulaşmak ve kullanmak mümkündür.
Window List: Bu diyalog ile delphinin bütün açık pencerelerinin listesi görülebilir, istenen pencereye ulaşılabilir. (Alt-0)
Units...: Bu diyalog ile delphide açık olan projede bulunan bütün unitlerin listesi görülebilir, istenen unite ulaşılabilir. (Ctrl+F12)
Forms...: Bu diyalog ile delphide açık olan projede bulunan bütün pencerelerin (form) listesi görülebilir, istenen pencereye ulaşılabilir. (Shift+F12)

Delphi'de kullanılan temel kısayol tuşlarından bazıları şunlardır:

F9: Programı derleme ve çalıştırma.
F8: Programı adım adım çalıştırır.
F7: Programı adım adım çalıştırırken, ilgili rutine dallanır.
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 unit listesini görüntüler.
Ctrl+F2: Programı resetler.
Ctrl+F9: Programı derler.

Delphi'de yapılan proje ile ilgili ayarların yapıldığı yer Project Menüsünde Options kısmıdır. Menüden Options seçildiği zaman ekrana 8 tabdan oluşan bir diyalog gelecektir. Burada proje ayarları ve derleme sırasında kullanılacak ayarlar bulunmaktadır. Bu Diyalogun en çok kullanılan en çok kullanılan tabları şunlardır:

Forms tabında program ilk çalışırken hafızaya yüklenmesi istenen formlar ile sonradan programcı tarafından hafızaya yüklenecek formların listesi düzenlenir. Formların programın başlangıcında yüklenmemesi hafıza tasarrufu ve hızlı yüklenme sağlar fakat sonradan yükleme programcıya külfet getirecektir. Auto-Create Forms listesinde formlar başlangıçta yükleneceklerdir. Available Forms listesindekiler programcı tarafından sonra yükleneceklerdir. Ayrıca ana formun hangisi olacağıda bu tabda ayarlanır.

Forms Tabı
 
Application tabında programın tanımı, yardım dosyasının ismi ve program simgesi ayarlanır.

Application Tabı
 
Version Info tabında programın sürüm numarası, ürün ismi vb tanımlar ve program dili ayarlanır.

Version Info Tabı

Object Inspector nedir ?

Object inspector, form üzerine sürüklenip bırakılan VCL bileşenlerin özelliklerini ve olaylarını ayarlamak için kullanılan delphinin önemli bileşeşenlerinden biridir. Form üzerinde konulan bileşenin bazı özellikleri fare kullanılarak değiştirilebilir. Fakat bütün özellikler fare kullanılarak değiştirilemez ve özelliklere fare kullanılarak ince ayar yapılamaz. Bunları ayarlamak için Object Inspector kullanılır. Object Inpector iki kısımdan oluşur: İlk kısım nesnelerin özelliklerinin ayarlandığı Properties kısmıdır. İkinci kısım ise nesnelerin olaylarının ayarlandığı Events kısmıdır.

Properties sekmesinde nesnelerin ismi, etiketi, eni, boyu, pozisyonu gibi özelliklerini değiştirilebilir. Her bileşenin kendine has özellikleri vardır. Form üzerinde hangi bileşeni seçilmiş ise, Object Inspector o bileşenin özelliklerini gösterir.

Bazı özeliklerin yanında + işareti bulunur. Bu işaret o özelliğin birden fazla alt özelliği olduğunu gösterir. + işaretine tıklatarak alt özellikleri görülebilir. Örneğin font özelliğinin; yazıtipi, büyüklüğü, yazının sitili vs. gibi birçok alt özelliği vardır.

Object Inspectorun Properties Kısmı :

Properties kısmında bulunan bazı seçenekler şunlardır:

Object Inspector ActiveControl: Formun üzerindeki hangi nesnenin aktif olacağı seçilir. Aktif olması istenen nesnenin ismi çıkan listeden seçilir.
Align : Bazı nesneler ekran üzerinde farklı yerlerde ve farklı boyutlarda yer kaplar. Bu nesneleri ekran üzerinde hangi kısımda duracağını veya formun boyu değiştiğinde nasıl davranacağını bu özellik belirler. alClient seçilirse nesne tüm ekranı kaplar. alLeft ile nesne formun sol kısımda, alRight ile sağ kısmında, alTop ile üst kısmında, alBottom ile ise alt kısımda yer alır. alNone seçili ise nesne boyu, yeri forma göre değişmez, sabit kalır.
AlphaBlend : Formun saydamlığının AlphaBlendValue değeri ile ayarlanıp ayarlanmayacağı buradan seçilir. Değeri TRUE olursa form AlphaBlendValue değerine göre saydam olur, FALSE olursa form hiçbir zaman saydam olmaz.
AlphaBlendValue : Formun saydamlığı buradan ayarlanır 0 en saydam, 255 ise formun normal halidir. Saydamlık için AlphaBlend TRUE olmalıdır.
Anchors :Bileşenin form boyutu değiştiği zaman hangi tarafa doğru sabit kalacağı, hangi tarafa doğru değişeceğini belirlemekte kullanılır. Dört farklı değeri vardır. TRUE değeri alanlar forma göre sabit, FALSE değeri alanlar forma göre değişkendir.
AutoScroll : Formun üzerindeki nesnelerin sığmadığı durumda kaydırma çubuklarını otomatik eklenmesini sağlar. Değeri TRUE olursa otomatik eklenir, FALSE olursa otomatik eklenmez.
AutoSize : Bileşenin form boyutu değiştiğinde otomatik boyut değiştirebilmesini sağlar. Değeri TRUE olursa otomatik değişir, FALSE olursa değişmez.
BidiMode : Sağdan sola yazılan diller için destek sunar. Listeden yazı yönü seçililir.
BorderIcons : Formun sağ köşesinde hangi tuşların (Simge durumuna getir, Tam ekran, Kapat) aktif olacağı seçilir.
BorderStyle : Formun şekli seçilir. Formun sınırlarını (kenarlarını) ve şeklini belirler. Buraya göre form boyutları değiştirilebilir, sabit kalabilir, dış kısmı görünmeyebilir.
BorderWidth : Kenar genişliği piksel cinsinden verilir.
Caption : Formun veya nesnenin başlığı buraya yazılır.
ClientHeight : Formun başlık hariç kullanılabilir yüksekliğini ayarlar. Yükseklik değeri piksel cinsinden girilir.
ClientWidth : Formun kullanılabilir genişliğini ayarlar. Genişlik değeri piksel cinsinden girilir.
Color : Formun veya nesnenin zemin rengini ayarlar. Gelen listeden renk seçilir.
Constraints : Bir formun veya denetimin boyutlandırma işlemleri sırasındaki maksimum ve minimum boyutunu belirler. Maksimum veya minumum rakamları piksel cinsinden girilir.
Ctl3d : Formun 3 boyutlu görünüp görünmemesi. Değeri TRUE olursa 3 boyutlu görünür, FALSE olursa normal görünür.
Cursor : Formun veya nesnenin üzerine gelindiğinde görünecek fare kursör şekli seçilir. Gelen listeden kursor seçilir.
Enabled : Formun, nesnenin aktif veya pasif olması seçilir. Değeri TRUE olursa aktif, FALSE olursa pasif olur.
Font : Formun veya nesnenin yazitipi ayarları yapılır. Alt seçenekleri vardır. Alt seçeneklerden istenilen ayarlar yapılır.
Height : Formun veya nesnenin yüksekliğini ayarlar. Yükseklik ayarı piksel cinsinden girilir.
HelpContext : Form veya nesne için yardım dosyasında ilgili konu numarasını ayarlar. Konu numarası girilir.
HelpFile : Form veya nesne için yardım dosyasını belirler. Yardım dosyası ismi girilir.
Hint : Formun veya nesnenin üzerine gelindiğinde gelecek açıklama buraya yazılır.
Icon : Formun simgesi buradan ayarlanır. Açılan diyalogdan simge dosyası seçilir.
KeyPreview : Tuş olayını belirler. bu değer TRUE ise basılan tuş değeri önce forma gider, FALSE ise direkt seçili nesneye gider.
Left : Nesnenin, form sol kenarına olan uzaklığı ayarlanır. Piksel cinsinden değer girilir.
Menu : Formun ana menusu burdan seçilir. Gelen listeden önceden oluşturulmuş menü seçilir.
Name : Formun veya nesnenin ismi buraya yazılır.
PopupMenu : Formun veya nesnenin sağ tıklandığında çıkacak menu buradan seçilir. Gelen listeden önceden oluşturulmuş popupmenu seçilir.
Position : Formun ekran üzerinde pozisyonunun seçilebilmesini sağlar. Gelen listedeki seçeneklerden istenen seçilir. poDesigned seçilirse programcının tasarımınındaki form pozisyonu dikkate alınır.
ShowHint : Formun veya nesnenin için yazılan açıklamanın gösterilip gösterilmeyeceğini ayarlar. Değeri TRUE olursa görünür, FALSE olursa görünmez.
Top : Nesnenin, formun üst kenarına olan uzaklığı ayarlanır. Uzaklık ayarı piksel cinsinden girilir.
Visible : Formun veya nesnenin ekranda görünüp görünmemesi ayarlanır. Değeri TRUE olursa nesne görünür, FALSE olursa nesne görünmez.
Width : Formun veya nesnenin genişliğini ayarlar. Genişlik ayarı piksel cinsinden girilir.
WindowState : Formun görünme durumunu ayarlar. Form tam ekran, normal veya küçültülmüş olabilir.
Not: Buradaki seçeneklerden bazıları sadece form için geçerlidirler ve diğer bileşenlerde bulunmazlar. Seçenekler çeşitli bileşenler için farklı, eksik veya fazla olabilir.

VCL Bileşenlerin özelliklerinin değiştirilmesi :

VCL Bileşenlerin çeşitli özellikleri vardır. Her bileşenin ismi, büyüklüğü, form üzerindeki yeri farklıdır. Bunlar Object Inspector'un Properties kısmı kullanılarak değiştirilir. Örneğin üzerinde bir adet TButton bileşeni olan bir formda bu bileşenin ismi otomatik olarak Button1 olacaktır. Bu isim istenilen başka bir isimle değiştirebilir. Button1 seçiliyken Object Inspector'un Properties kısmında Name yazılı satırın karşısında Button1 yazılı olacaktır. Bu kısımdaki Button1 yazısı değiştirilince bu bileşeninin ismi değişmiş olacaktır. Bu durum diğer özellikler içinde geçerlidir. Bileşenlerin özellikleri program yazılırken (Design time) Object Inspector'dan ayarlanabileceği gibi program kodu ile program çalışırken (Run time) değiştirilebilir.

Object Inspectorun Events Kısmı :

Event kısmında olaylar ayarlanır. Windows'ta bir program çalışırken windows'tan mesajlar alır ve windows'a mesajlar gönderir. Delphide program yazarken yazılan programın hangi mesajlardan etkilenmesi isteniyorsa Events kısmında ayarlanır. Örneğin Delphide basit bir uygulama bölümünde bulunan form üzerinde bulunan Button nesnesinin tek tıklamadan etkilenmesini ve yazılacak kodu çalıştırması istensin. Button nesnesi aktifken Event bölümünde OnClick kısmının yanındaki bölüme tıklanırsa Kod penceresinde otomatik olarak aşağıdaki kodlar belirir:


İşte bu kısımda begin ile end arasına yazılan kod Button nesnesine tek tıklandığında çalışacaktır. Events kısmında bulunan bazı olaylar şunlardır:
Object Inspector OnActive : Form veya nesne aktif olduğunda olur.
OnCanResize :Denetim boyutlandırıldığı sırada bu işlemi durdurulmasına izin verildiğinde olur.
OnChange : Birden fazla seçeneğe sahip nesnelerde seçili olandan seçenekten başkası seçildiğinde olur.
OnClick : Form veya nesneye fare ile sol tek tıklandığında olur.
OnClose : Form kapanırken olur.
OnCloseQuery : Form kapanırken OnClose olayından önce olur. Formun kapanması sorgulanır. Formun kapanması için CanClose parametresi TRUE olmalıdır.
OnCreate : Form belleğe ilk defa yüklenirken olur.
OnDblClick : Form veya nesneye fare ile sol çift tıklandığında olur.
OnDeactive : Form veya nesne pasif olduğunda olur.
OnDestroy : Form yok olurken (bellekten silinirken) olur.
OnDragDrop : Bir nesnenin sürüklenip bırakılmasında olur.
OnDragOver : Bir nesnenin diğer nesne üzerine sürüklenip bırakılmasında olur.
OnEnter : Bileşen etkinleştirildiğinde olur.
OnEndDrag :Sürükleme sonlandığında olur. Sürükleme operasyonunu başlatan bileşen tarafından gönderilir.
OnExit : Bileşenden ayrılırken, bileşen pasif olurken olur.
OnHelp : Form için yardım dosyası çağrıldığında olur.
OnHide : Bir bileşenin gizlendiğinde olur.
OnKeyDown : Bir tuşa basıldığında olur. Bırakılıncaya kadar devam eder.
OnKeyPress : Bir tuşa basıldığında olur. Bazı tuşlar bu olayı meydana getirmez.(CTRL,SHIFT vb.)
OnKeyUp : Basılı tuş bırakıldığında olur.
OnMouseDown : Farenin bir tuşuna basıldığında olur.
OnMouseMove : Farenin form veya nesne üzerinden geçerken olur.
OnMouseUp : Farenin basılı tuşu bırakıldığında olur.
OnPaint : Form yeniden çizdirilirken olur.
OnResize : Formun boyutları değiştirildiğinde olur.
OnStartDrag :Kullanıcı sürüklemeye başladığında olur. Sürükleme operasyonunu başlatan bileşene gönderilir.
OnShow : Form görünür hale geçerken olur.
Not : Buradaki olaylardan bazıları sadece form için geçerlidir ve diğer bileşenlerde bulunmazlar. Seçenekler çeşitli bileşenler için farklı, eksik veya fazla olabilir.

Birden fazla bileşenin aynı olayı (event) kullanması:

Her bileşen için olay tanımlaması kullanabildiği gibi birden fazla bileşenin aynı olayı kullanması mümkündür. Bu kodun basitleşmesini ve kısalmasını sağlar. Fakat olayı kullanan her bileşen için kod üzerinde düzenleme yapılması gereklidir. Bu yöntem genellikle benzer işler yapan ve yaptıkları işler arasında farklılık az olan bileşenler için kullanılır. Birden fazla bileşenin aynı olayı kullanabilmesi için kullanılacak olayın (örneğin OnClick) öncelikle bir bileşen için tanımlanması gerekir. Tanımlama yapıldıktan sonra diğer bileşenlerin aynı olaylarında önce tanımlanmış tanımlama listeden seçilir. Liste Object Inspectorun Events kısmında olayın yanında bulunan boşluğa tıklandığında gelecektir. Böylece birden fazla bileşen için tek bir tanımlama kullanılabilir. Aşağıda tanımlanmış form ve kod görülmektedir.

Birden fazla bileşenle bir olay tanımlanması


Aşağıdaki resimlerde ise Object Inspector'un Events kısmında yapılması gereken işlemler ve tanımlamalar görülmektedir:


    

VCL BİLEŞENLER: VCL ve CLX bileşenler nelerdir?

VCL (Visual Component Library) bileşenleri kullanıcı delphi'de windows programları yazarken işini kolaylaştırmak amacıyla üretilmişlerdir. Normalde kullanıcı bir windows programı hazırlarken kullanacağı windows bileşenlerini kendi eklemek, ayarlarını kendi yapmak ve programın kullanacağı kaynakları kendi hazırlamak zorundadır. Oysa delphi'de kullanıcı form penceresine bir VCL bileşeni ekler ve bu işlemlerin bir kısmı delphi tarafından otomatik yapılır. Zaten bazı kodlarda otomatik eklenmektedir. Kaynak dosyalarıda otomatik oluşturulmaktadır. Normalde kullanıcı bunları kendi hazırlamak zorundadır. VCL bileşenler sadece windows işletim sistemi için tasarlanmıştır.

CLX (Component Library for Cross Platform) bileşenler ise hem Windows hem de Linux işletim sistemleri için QT kütüphanesini içerir. Yeni bir CLX uygulaması oluşturulduğunda (File->New->CLX Application) VCL bileşenlerin yerini QT kütüphanesi ile yazılmış CLX bileşenleri alır. QT kütüphanesi her iki işletim sistemi için ortak olduğundan yapılan uygulama her iki işletim sisteminde derlenebilir. Bu yapılan uygulama için uyumluluk ve taşınabilirlik sağlar. Linux ortamında programlama için Delphi yerine Kylix kullanmak gerekir.

Bütün VCL ve CLX bileşenleri Delphi'nin TComponent nesnesinden türetilir.

VCL bileşenlerin kullanılması:

VCL bileşenleri kullanılacakları zaman Bileşenlerin bulunduğu sayfadan sürüklenerek formun uygun yerine bırakılır. Object Inspector kısmından bileşenin ayarlamaları yapılır. Delphi 1.0'dan beri vcl bileşenleri vardır ve hatta bazı bileşenler artık standart olmuştur. Bileşenler isimlendirilmiş sayfalar halinde bulunurlar. Delphi'de artık Standart hale gelmiş bileşen sayfaları şunlardır: Standart, Additional, Win32, System, Samples, Dialogs vb. Delphi ile gelen bunlardan başka vcl bileşenlerde bulunmaktadır.

Eski ve yeni delphi sürümlerinde VCL bileşenler - VCL bileşenlerin eski sürümleri:

Bileşenler her sürümle beraber daha da geliştirildiklerinden eski delphi sürümlerinde bileşenlerin yeni özellikleri tanınmaz. Yeni sürümle yapılmış programlar eski sürümlerde çalıştırılmak istendiğinde hata mesajı verir, program çalışmaz. Örneğin Label ve Edit bileşenleri Delphinin standart VCL bileşenleridir ve bütün delphi sürümlerinde bulunurlar. Bu iki bileşimin birleşimi olan LabelledEdit Delphinin 7.0 sürümünde varken 5.0 sürümünde bulunmaz. Bundan dolayı bu bileşen kullanılarak yapılan programlar Delphinin 7.0 sürümünde çalışırken, 5.0 sürümünde çalışmaz. Çalıştırılmak istendiğinde Delphi 5.0 hata mesajı verir. Programı derlemez. Bu sorunun çözümü var olmayan bileşenin yerine var olan başka bir bileşen kullanılmasıdır.

Delphi dışında tanıtılan bileşenlerinde eğer sürümleri eski ise ve program yeni özelliklere sahip bileşenlerle yazılmışsa delphi hata verecek ve programı derlemeyecektir. Bu sorunun çözümü bileşenin eski sürümünün kaldırılarak yeni sürümünün tanıtılmasıdır.

VCL bileşenlerin bulunması :

Programcı ücretsiz veya ücret karşılığı VCL bileşenleri bulabilir veya satın alabilir. Bunları delphi'ye tanıtarak programlarında kullanabilir. İyi bir programlama bilgisine sahip kişiler de vcl bileşenlerini kendileri oluşturup kullanabilir, ücretsiz dağıtabilir, ücret karşılığı satabilirler. İnternette binlerce ücretli ve ücretsiz VCL bieşen bulunmaktadır.

Yeni bir VCL bileşeninin oluşturulması ve tanıtılması:

Delphi'de Component menüsünde New Component seçilerek yeni bileşen oluşturulabilir. Bu seçeneğin seçilmesi ile ekrana beş kutudan oluşan bir diyalog gelir. Burada Ancestor Type kısmında yazılmak istenen bileşene baz olacak bileşen seçilir. Bütün bileşenler, diğer bileşenlerden veya TComponent bileşeninden oluşturulur. Sonradan oluşturulan türetilmiş bileşen baz bileşenin tüm özelliklerini barındırır. Class Name kısmına ise yazılacak bileşenin adı yazılır. Palette Page kısmında ise bileşenin yer almasının istenilen VCL sayfasının ismi seçilir. Genellikle Samples sayfası tercih edilir. Buraya farklı bir isim girilerek yeni bir VCL sayfası da oluşturulabilir. Bu bilgiler girildikten sonra OK tuşuna basılarak diyalog kapatılır. Ekrana otomatik doldurulmuş kod sayfası gelecektir. Bu kod sayfasına gerekli kodların yazılması ve eklemelerin yapılmasından sonra kodlar .pas uzantılı olarak kaydedilir. Bu .pas uzantılı bileşen delphiye tanıtılabilir ve kullanılabilir. Delphinin bazı bileşenlerinin hangi bileşenlerden üretildiklerini ve bileşenlerin birbirleri ile olan ilişkilerini gösteren resim aşağıda görülmektedir.

Nesne Hiyerarşisi

Delphi programcilarin islerini hızlandırmak ve kolaylaştırmak amacıyla hazır olarak bir çok hazır fonksiyon ve sınıf sunar. Bileşenleri temel olarak türetildikleri yerlere göre 3 grupta ele alınabilir:

1- Görsel Bileşenler: TControl 'dan türetilmiş bütün sınıflar bu gruba girer. İki farklı türü vardır :

   a- Pencereli Bileşenler :Delphi Görsel Bileşen Kütüphanesinin en büyük bileşen grubudur. TWinControl'den türemişlerdir. Bir pencereye dayalı bütün görünür (visual) bileşenlerin ebeveyn sınıfıdır. Bu sınıftan türetilmiş olan bileşenler windows mesajlarını, giriş (Focus) odağını alabilirler. Bu pencerelerde API fonksiyonları için kullanılabilecek pencere tutamaçları (window handle) kullanılabilir.

   b- Penceresiz Bileşenler : TGraphicControl'den türemişlerdir. Bir pencere tutamacı (handle) olmayan, görünür bileşenlerin ebeveyn sınıfıdır. Tutamakları yoktur. Pencereli denetimler gibi başka denetimleri içeremezler.

2- Görsel olmayan Bileşenler: TComponentten türetilmiş bütün sınıflar bu gruba dahildir. Form'a bıraktığınızda genellikle bir simge olarak görünürler. TComponent, bütün bileşenlerin ebeveyn sınıfıdır ve görsel olmayan bileşenler için doğrudan ebeveyn sınıf olarak kullanılır.

Bileşenleri tanıtmak için Component menüsündeki Install Component seçilir. Gelen pencerede Browse tuşuna basarak ya bileşenin .pas dosyasını yada derlemiş .dcu dosyasını seçilir. Ok tuşuna basıldığında pencere kapanır ve yeni bir pencere gelir. Burada Compile tuşuna basıp derlenir ve Install tuşuna basıp işlemleri bitirilir. Eğer hata çıkmazsa bileşenin Bileşen sayfasına ekleneceğini gösteren bir uyarı mesajı gelir. Mesajın onaylanmasıyla birlikte yeni bileşenler eklendikleri sayfadan seçilerek kullanabilir. Eğer bileşenin ilk kullanıldığı programda bileşenin dosyaları bulunamadı mesajı gelirse .pas dosyasıyla aynı dizinde var olan ve oluşturulan .dcu, .res, .inc gibi dosyalar delphinin kurulu olduğu dizinde Lib klasörüne kopyalanmalıdır. Bazen bileşenler .dpk uzantılı paketler halinde gelir. File menüsünden Open komutu seçilerek bu dosya açıldığında kurulum başlar. Gelen pencereden önce Compile ve sonra Install yapılması yeterlidir.

Sonradan eklenen bileşenler ile ilgili bilgiler genellikle delphinin kurulu olduğu yerde Lib alt dizininin içindeki dclusr.dpk dosyasında tutulur. Herhangi bir hata durumunda çözüm için bu dosyaya bakılması tavsiye edilir.

VCL bileşenlerin eksikliği :

Delphi'de yazılan bir programın çalışması için bu programa eklenmiş bütün VCL bileşenlerin delphiye tanıtılmış olması gerekir. Aksi takdirde delphi hata mesajı verir, programı derlemez ve çalıştırmaz.

VCL bileşenlerin kodları :

Delphinin kendi bileşenlerin kodları Delphinin kurulum dizininde bulunmaktadır. (C:\Program Files\Borland\Delphi7\Source). Ayrıca internette birçok ücretli ve ücretsiz VCL bileşen bulmak mümkündür. Ücretsiz bileşenlerin bazıları sadece derlenmiş olarak (.dcu) kod bulunmadan dağıtılırken, bazılarının kodları da bileşenin kendisi ile beraber dağıtılmaktadır.

VCL bileşenleri kullanmadan programlama :

Kullanıcı Delphi'de VCL bileşen kullanmadan da Windows API'leri ile de programını yazabilir. Bu tür bir programı görmek için tıklayınız. VCL bileşenler kullanmadan uygulama geliştirmek için Delphi kullanılabileceği gibi ücretsiz GNU-GPL (Genel Kamu lisansına) sahip Bloodshed.net adresindeki Dev Pascal programı kullanabilir. Eğer programlama dili olarak C++ kullanılmak isteniyorsa yine aynı internet adresinde bulunan aynı şartlara sahip Dev C++ programı kullanılabilir.

VCL bileşenleri sayfaları görüntüsü :

Yukarıda bileşen sayfalarının yerleşimi görülmektedir.

Aşağıdaki açıklamalarda yer alan bileşenler, kendi sayfalarındaki yerlerine göre değil ALFABETİK sıraya göre sıralanmıştır. Sayfalar ise Bileşen sayfasında bulundukları yerlere göre sıralanmışlardır.

Delphi Standart Sayfasında Bulunan Bazı VCL Bileşenler:

Standart-ButtonButton : Basılabilen bir buton oluşturan bileşen. En çok kullanılan olayı OnClick'tir.
 
Standart-CheckBoxCheckBox : Form penceresinde bir seçeneğin onaylanıp-onaylanmadığını gösteren bir bileşen. En çok kullanılan olayı OnClick'tir.
 
Standart-ComboBoxComboBox : Form penceresinde birden fazla seçenekten birini seçmek için kullanılan bileşen. Seçeneklerden seçileni gösterir. En çok kullanılan olayı OnChange'tir.
 
Standart-EditEdit : Tek satır yazı, rakam vb bilgiler girmek için kullanılan bileşen. En çok kullanılan olayı OnChange'tir.
 
Standart-GroupBoxGroupBox : Form penceresinde birden fazla bileşeni bir araya getirmek için kullanılan bileşendir. Panel bileşenine göre daha az kaynak harcar. En çok kullanılan olayı OnClick'tir.
 
Standart-LabelLabel : Form penceresine yazı eklemek için kullanılan bileşen. En çok kullanılan olayı OnClick'tir.
 
Standart-ListBoxListBox : Form penceresinde birden fazla seçenekten birini seçmek için kullanılan bileşen. Seçeneklerden hepsini gösterir. En çok kullanılan olayı OnChange'tir.
 
Standart-MainmenuMainmenu : Form penceresine bir Ana menü eklemek için kullanılan bileşen. En çok kullanılan olayı OnClick'tir.
 
Standart-MemoMemo : Birden fazla satıra yazı yazılabilecek bileşen. En çok kullanılan olayı OnChange'tir.
 
Standart-PanelPanel : Form penceresinde birden fazla bileşeni bir araya getirmek için kullanılan bileşen. En çok kullanılan olayı OnClick'tir.
 
Standart-PopupMenuPopupMenu : Form penceresinde bileşenlere sağ tıklandığında açılacak menüler oluşturmak için kullanılabilecek bileşen. En çok kullanılan olayı OnClick'tir.
 
Standart-RadioButtonRadioButton : Form Penceresinde birden fazla seçenekten birini seçmek için kullanılabilecek bir bileşen. Her seçenek için bir RadioButton bileşeni eklenir. En çok kullanılan olayı OnClick'tir.
 
Standart-RadioGroupRadioGroup : Form penceresinde birden fazla seçenekten birini seçmek için kullanılabilecek bir bileşen. RadioButton'a benzer. Tüm seçenekler için bir bileşen yeterlidir. En çok kullanılan olayı OnClick'tir.
 
Standart-ScrollBarScrollBar : Form penceresinde bir maksimum ve bir minimum değerler arasında değerlerin seçilebildiği ayrıca ekranda bir kaydırma gerektiğinde kullanılan bileşen. En çok kullanılan olayı OnChange'tir.
 

Delphi Additional Sayfasında Bulunan Bazı VCL Bileşenler:

Additional-BevelBevel : Form üzerindeki bazı nesneleri görsel olarak ayrı pencerede gibi göstermek kullanılan bileşen.
Additional-BitBtnBitBtn : Üzerine resim yerleştirilebilen buton şeklinde bileşen.
Additional-CheckListBoxCheckListBox : Listbox ve check box bileşenin birleştirilmiş halidir. Verilen listeden birden fazla seçeneğin seçilmesini sağlar.
Additional-ImageImage : Resim göstermek için kullanılan bileşen.
Additional-MaskEditMaskEdit : Edit bileşenine benzer. Her türlü bilgi girişini değilde formatlı bilgi girişini kabul eder.
Additional-StringGridStringGrid : Tablo oluşturmak için kullanılan bileşen.
Additional-ShapeShape : Form penceresine geometrik şekiller eklemeyi sağlayan bileşen.
Additional-SpeedButtonSpeedButton : Kullanılabilen bir butondur. Basılınca tekrar basılıncaya kadar basılı kalabilir, birden fazla kullanılırsa RadioButton gibi davranabilir.

Delphi Win32 Sayfasında Bulunan Bazı VCL Bileşenler:

Win32-HeaderControlHeaderControl : Form üzerine birden fazla ListBox bileşeni konularak bunların beraber kullanılmalarını, yönetilmelerini ve şekillendirilmelerini sağlayan bileşen.
Win32-ListViewListView : İçindeki seçenekleri liste ve diğer şekillerde gösteren bileşen.
Win32-PageControlPageControl : Form üzerinde çoklu sayfalar sağlayan bileşen.
Win32-ProgressBarProgressBar : Yapılan işlemin ne kadarlık kısmının tamamlandığını görsel olarak gösteren bileşen.
Win32-RichEditRichEdit : Memo bileşenine benzer. Birden fazla satıra yazı yazılabilecek bileşen. Yazıları şekillendirmeyi, formatlamayı kabul eder.
Win32-StatusBarStatusBar : Form penceresinin en altında programla ilgili durumları göstermek için kullanılan bileşen.
Win32-TabControlTabControl : Form penceresinde çoklu sayfalar sağlayarak bunlara Tab tuşu ile geçiş sağlayan bileşen.
Win32-TrackBarTrackBar : Belirlenmiş iki değer arasında bulunan bir değerin görsel olarak seçilebilmesini sağlayan bileşen.
Win32-TreeViewTreeView : İçindeki seçenekleri ağaç şeklinde gösteren bileşen.

Delphi System Sayfasında Bulunan Bazı VCL Bileşenler:

System-MediaPlayerMediaPlayer : Ses ve video formatındaki dosyaları çalıştırmayı sağlayan bileşen.
System-OleOle : Windows uyumlu programlarla bağlantı kurarak bilgi alışverişi sağlayan bileşen.
System-TimerTimer : Programda zamana bağlı işlemler yapılabilmesini sağlayan bileşen.

Delphi Dialogs Sayfasında Bulunan Bazı VCL Bileşenler:

Dialogs-ColorDialogColorDialog : Program içerisinde renk seçmek için kullanılan Renk Seçme diyaloğunun kullanılmasınını sağlayan bileşen.
Dialogs-FindDialogFindDialog : Program içerisinde Bul (Find) diyaloğunun kullanılmasınını sağlayan bileşen.
Dialogs-FontDialogFontDialog : Program içerisinde yazıtipi seçmek için kullanılan Font diyaloğunun kullanılmasınını sağlayan bileşen.
Dialogs-OpenDialogOpenDialog : Program içerisinde Dosya aç diyaloğunun kullanılmasınını sağlayan bileşen.
Dialogs-OpenPictureDialogOpenPictureDialog : Program içerisinde -sadece resim dosyaları için- Dosya aç diyaloğunun kullanılmasınını sağlayan bileşen. Resim dosyaları için gelişmiş özellikleri vardır.
Dialogs-PageSetupDialogPageSetupDialog : Program içerisinde sayfa ayarlarının yapıldığı diyaloğunun kullanılmasınını sağlayan bileşen.
Dialogs-PrintDialogPrintDialog : Program içerisinde Yazdır diyaloğunun kullanılmasınını sağlayan bileşen.
Dialogs-PrintSetupDialogPrinterSetupDialog : Program içerisinde yazıcı ayarlarının yapıldığı Yazıcı ayarları diyaloğunun kullanılmasınını sağlayan bileşen.
Dialogs-ReplaceDialogReplaceDialog : Program içerisinde Bul ve Değiştir (Find and Replace) diyaloğunun kullanılmasınını sağlayan bileşen.
Dialogs-SaveDialogSaveDialog : Program içerisinde Dosya kaydet diyaloğunun kullanılmasınını sağlayan bileşen.
Dialogs-SavePictureDialogSavePictureDialog : Program içerisinde -sadece resim dosyaları için- Dosya kaydet diyaloğunun kullanılmasınını sağlayan bileşen. Resim dosyaları için gelişmiş özellikleri vardır.

Delphi Win 3.1 Sayfası:

Bu sayfada Windows'un 3.1 ve öncesi sürümlerinde kullanılan eski diyalog ve nesneleri programlardan kullanmak için gereken bileşenler vardır. Bu sayfadaki bileşenler pek fazla gerekli değildir ve kullanılmazlar.

Delphi Samples Sayfasında Bulunan Bazı VCL Bileşenler:

Samples-CalendarCalendar : Takvim gösteren bileşen.
Samples-ColorGridColorGrid : Renkleri gösteren ve seçilebilmesini sağlayan bileşen. Fareni sol tuşu yazı rengi, sağ tuşu zemin rengini seçer.
Samples-GaugeGauge : Yapılan işlemin tamamlanan yüzdesini görsel olarak gösteren bileşen.
Samples-SpinEditSpinEdit : İki sayı arasında bir değeri seçmek için kullanılır. Yukarı va aşağı tuşlarıyla istenen değer seçilir.

Delphinin Veritabanı ile ilgili VCL Bileşenleri:

DataAccess-DataSourceDataAccess : DataAccess bileşen sayfasında bulunan bu bileşen Table, TQuery gibi bileşenlerle DataKontrol (DataControls) bileşenlerini bağlayan arabirimdir. Veritabanı programı yazılırken en az bir tane bulunmalıdır.
BDE-TableTable : BDE bileşen sayfasında bulunan bu bileşen Veritabanı dosyalarındaki tablolara fiziksel erişim sağlar. Data Access ile beraber kullanılır. Delphi7'de BDE bileşen sayfasında bulunurken daha önceki delphi sürümlerinde DataAccess bileşen sayfasında yeralmıştır.
BDE-QueryQuery : BDE bileşen sayfasında bulunan bu bileşen Table bileşenine benzer görevi vardır. Fakat SQL cümleleri ile çalışabilmesi Table'dan güçlü olmasını sağlamaktadır. Data Access ile beraber kullanılır. Delphi7'de BDE bileşen sayfasında bulunurken daha önceki delphi sürümlerinde DataAccess bileşen sayfasında yeralmıştır.

Delphi Data Controls Sayfasında Bulunan Bazı VCL Veritabanı Bileşenleri:

DataControl-DBCheckBoxDBCheckBox : Veritabanında iki farklı değer (true-doğru veya false-yanlış) alan alanlarda değer girmek için kullanılan bileşendir. Kutu işaretli ise alan true(doğru), işaretli değilse false(yanlış) değerine sahip olur.
DataControl-DBComboBoxDBComboBox : Veritabanında üzerine veri yazılarak veya aşağı doğru açılan listeden seçim yapılarak veritabanı alanına değer girilmesini veya değiştirilmesini sağlayan bileşendir.
DataControl-DBComboBoxDBEdit : Veritabanında üzerine veri yazılarak veritabanı alanına değer girilmesini veya değiştirilmesini sağlayan bileşendir.
DataControl-DBGridDBGrid: Veritabanında istenilen tablonun satır ve sutunlarını ızgara şeklinde programda göstermek için kullanılan bileşendir.
DataControl-DBImageDBImage: Veritabanında resim alanlardaki resimleri göstermek veya üzerlerinde işlem yapmak için kullanılan bileşendir.
DataControl-DBListBoxDBListBox: Veritabanında var olan listeden seçim yapılarak veritabanı alanına değer girilmesini veya değiştirilmesini sağlayan bileşendir.
DataControl-DBLookupComboBoxDBLookupComboBox: DBCombobox'a benzeyen ancak aşağı doğru açılan listesindeki değerleri başka bir tablodan (dosyadan) alan bileşendir.
DataControl-DBLookupListBoxDBLookupListBox: DBListBox'a benzeyen ancak listesini listesindeki değerleri başka bir tablodan (dosyadan) alan bileşendir.
DataControl-DBMemoDBMemo: Veritabanında büyük metin bilgilerinin girilebildiği ve değiştirilebildiği bileşendir.
DataControl-DBNavigatorDBNavigator: Veritabanı tabloları içerisinde gezinti yapabilmeyi (ilk, önceki, sonraki, enson kayıt) ve kayıt ekleme, silme, düzeltme, saklama, iptal etme, tazeleme gibi işlemleri yapabilmeyi sağlayan tuşlardan oluşan bileşendir.
DataControl-DBRadioGroupDBRadioGroup: Veritabanında birden fazla seçenek sunan ve seçeneklerden birini seçilmesine imkan vererek ilgili alana değer girilmesini sağlayan bileşendir.
DataControl-DBTextDBText: Veritabanında istenen alandaki değerin sadece ekranda gösterilmesini sağlayan bileşendir.

İnternetten Bulunabilen Ücretsiz Delphi Bileşenlerinden Bazıları:

 DelphiX: DirectX, Microsoft tarafından üretilen, windows ile gelen, multimedia donanımına doğrudan ve hızlı erişim sağlayan, özellikle oyun yapımında kullanılan bir kütüphaneler topluluğudur. DirectX bilgisayarın grafik donanımına doğrudan erişir, bu da uygulamaların çok daha hızlı işlemesini sağlar. Ücretsiz DelphiX bileşen paketi, Delphi altından DirectX kullanımını sağlar ve kolaylaştırır. Delphix bileşen paketi ve örnek programlar, internette kolayca bulunabilir. DelphiX'in içinde hem kaynak kodları hem de her Delphi sürümü için hazır kurma paketleri bulunmaktadır. Delphix, borland kylix programı ile çalışmamaktadır.

DelphiX bileşen sayfası

 TComport: Windows ortamında seri porttan bilgi göndermek ve almak için kullanılan ücretsiz bir bileşenler paketi. Gönderilen veya alınan bilgi ile ilgili her türlü ayar (port, hız, bilgi biti sayısı, stop biti sayısı) yapılabiliyor.

TComport bileşen sayfası

 MaxComponents: Takvim diyalogu, karakter(sembol) diyalogu, yardım diyalogu, internet bağlantılı label, programların sadece birkez çalışmasını sağlayan bileşen gibi ücretsiz birçok bileşeni barındıran bileşen paketi. Bileşenler ayrı ayrı olarak Maxcomponents.net adresinden ücretsiz indirilebilir. Bileşenlerin herbirinin kurulum programı vardır.

Maxcomponents bileşen sayfası

 Essantials: 3B etiket, takvim, hesap makinesi, tarih işleme, rakam işleme, menu butonu, renk seçme listesi, arka plana resim veya renk yerleştirme, tablolarda tarih işleme, tablolarda rakam işleme bileşenleri gibi ücretsiz birçok bileşeni barındıran bileşen paketi. Bileşenler Sourceforge.net/projects/tpessence/ adresinden ücretsiz indirilebilir.

Essantials bileşen sayfası

 ShellShock: Hakkında, Sürücü ve dizinleri gösterme, dosya sürükleme ve bırakma işlemleri, dosya işlemleri, disket-sabit disk formatlama, kısayol oluşturma, sistem traya yerleşme, vb ücretsiz birçok bileşeni barındıran bileşen paketi. Bileşenler Sourceforge.net/projects/tpshellshock/ adresinden ücretsiz indirilebilir.

Shellshock bileşen sayfası

 psvDialogs: Windows'un birçok diyaloguna (Bilgisayarı kapat, Çalıştır, Denetim masası, Yeni bağlantı, Hakkında vb diyaloglar) ulaşılmasını sağlayan ücretsiz bileşenleri barındıran bileşen paketi. Bu ve başka bileşenler Delphi Beacon adresinden ücretsiz indirilebilir. Paket kurulduğunda bileşenler Delphinin Dialogs sayfasına yerleşeceklerdir.

psvDialogs bileşen sayfası

 DSPack: Yeni MS Direct Show ve DirectX teknolojilerini kullanan multimedia programları oluşturmak için kullanılabilecek ücretsiz bileşen paketidir. DSPack, Win9X, ME, 2000 ve Windows XP işletim sistemlerinde Directx 9 ile çalışır. Bileşen Sourceforge.net/projects/dspack adresinden ücretsiz indirilebilir.

DSPack bileşen sayfası

Delphinin yardım sistemi:

Delphide komutlara, komutların ayrıntılarına ve komutlar ile ilgili örneklere ulaşmak için ayrıntılı bir yardım sistemi vardır:

Delphide bulunan en basit yardım kod penceresinde uygun bir yere fonksiyon ismi veya komut yazıldığında otomatik olarak sarı renkte kutular ekranda belirir ve bu kutularda ilgili bilgiler verilir.

Bir nesne ismi yazılıp sonuna "." işareti konulduğunda ise o nesne ile ilgili değişken ve fonksiyonların listesi otomatik olarak ekranda belirir ve bu listeden istenilen seçilerek kullanılabilir.

. ile kod tamamlama

Bir nesne ismi yazılırken Ctrl+Space tuşlarına beraber basılırsa o yazı ile başlayan alternatif tüm nesne isimleri ve komutlar liste halinde ekranda belirir ve bu listeden istenen seçilip kullanılabilir.

Ctrl+Space ile kod tamamlama

Delphide program yazarken yazılan komut veya tanımlamanın üzerine CTRL tuşuna basılı iken fare ile tıklanması halinde komut bir bağlantı halini alacaktır. Bu bağlantıya tıklayarak komutun koduna veya tanımlamaya ulaşmak mümkündür. Komut veya tanımlama delphinin veya kullanıcının kendisinin olabilir.

Ctrl+Fare ile komut koduna ulaşma

Bunların dışında Help menüsünden Delphi Help seçeneği ile komutlara, komutların ayrıntılarına ve komutlar ile ilgili örneklere ulaşılabilir. Delphi Tools seçeneği ile delphinin araçları ile ilgili detaylı bilgi bulunabilir. Windows SDK seçeneği ile ise doğrudan windows komutlarının kendisine ve ayrıntılarına ulaşmak mümkündür

Codegear'ın internet sitesinde delphi ve programlama ilgili birçok .pdf yardım dosyası bulunmaktadır. Sitede yapılacak küçük bir arama ile ihtiyaç duyulan .pdf yardım dosyaları bulunabilir ve siteden ücretsiz indirilebilir. Pdf dosyalar, ücretsiz Adobe Reader programı ile okunabilir.

Yardım dosyaları oluşturma:

Kullanıcılar kendi projeleri için yardım (.hlp) dosyaları hazırlayabilir. Bunun için Delphinin kurulu olduğu dizinde (C:\Program Files\Borland\Delphi7\Help\Tools) yardım derlemeye yarayan HCW.EXE (Microsoft Help Workshop) programı bulunmaktadır. Bu programla yardım dosyaları derlenebilir, yardım içerik dosyaları (.cnt) ve yardım proje dosyaları (.hpj) oluşturulabilir ve düzenlenebilir.

Yardım projeleri 3 adet dosyadan oluşur. Bu dosyalardan ilki yardım proje (.hpj - help project) dosyasıdır. Bu dosya yardım dosyasının yapısı ve ilgili dosyalar hakkında bilgiler içerir. Bu dosyanın adı aynı zamanda oluşacak yardım (.hlp) dosyasının da adı olacaktır. İkinci dosya ise yardım içerik (.cnt - content) dosyasıdır. Bu dosya yardımın içeriğini belirler. Bu dosyanın ismi proje dosyasının içinde belirtilir. Son dosya ise yardım bilgilerin olduğu (.rtf - rich text file ) dosyasıdır. Bu dosyada yardım dosyasının içinde bulunacak bilgiler bulunur. Bu dosyanın ismi de proje dosyasının içinde belirtilir. Bu dosya belirli düzende olmalıdır. Rtf dosyaları, Wordpad veya Microsoft Word programı ile oluşturulabilir. Yardım dosyası içerikleri ve proje dosyaları örnekleri internetten kolayca bulunabilir. Kullanıcı örneklere bakarak kendi yardım dosyalarını oluşturabilir.

DELPHIYİ ÇALIŞTIRMA:

Önceden sisteme kurulmuş olan Delphiyi çalıştırmak için Windows'un Başlat (Start) menüsünde Programlar (Programs) açılarak Borland Delphi 7 grubu içinde Delphi 7 seçilmesi yeterlidir. Buradaki grup adı ve grup seçenekleri Delphi 7 içindir. Diğer Delphi sürümlerinde bunlar farklıdır. Delphinin çalıştırılabilen dosyaları Delphini kurulu olduğu dizinin altındaki Bin dizini içindedir. Buradan Delphi32.exe çalıştırılarak Delphi başlatılabilir.

DELPHIYE GİRİŞ VE YENİ BİR PROGRAMA BAŞLAMA:

Delphi, windows programlarını basitçe oluşturmak amacıyla yapılmış bir programlama aracıdır. Delphi'de programlamaya başlamak çok kolaydır. Kullanıcı başlangıçta Form Penceresine VCL bileşenleri sürükleme ve bırakma (drap and drop) suretiyle programlamaya başlar. Yapılan program geliştikçe kod penceresine kodlar ekleyerek devam eder. Programlama başlangıçta oldukça kolaydır. Daha sonra kodlama aşamasında işler zorlaşmaktadır. Ama kodlama aşamasında dahi delphi gerek içindeki araçlar gerekse yardım sistemi ile kullanıcıya yardımcı olmakta, kolaylıklar sağlamaktadır.

File ->New -> Application seçilerek başlangıçta boş bir form penceresi ve kod yazılacak -bazı kodları otomatik doldurulmuş- bir kod penceresi gelir. Programınız bu haliyle bile bir windows programıdır. Derlenirse program çalışır, büyültüp küçültebilir, tam ekran olabilir, taşınabilir ve kendi simgesi vardır. Yani boş bir form bile olsa aslında bazı gerekli kodlar yazılmış ve ayarlar otomatik yapılmıştır.

Delphide yazılan programın kaydedilmesi ve yeniden açılması:

Yeni proje kendine ait bir tane proje adına, bir form'a ve unit'e sahiptir. Delphide yazılan programı ilk defa kaydederken File menüsünde Save Project As seçeneği kullanılır. Bu seçenek seçildiğinde önce .dpr uzantılı proje ismi ve sonra .pas uzantılı unitlerin isimlerini ister. Proje ismi programın da ismidir. Proje ismi herhangi bir isim olabilir. Proje ismi ile unit ismi aynı olamaz. Her ne kadar form isminin değiştirilmesi gerekmese de kaydetme işleminden önce form ismi ayarlanıp kaydetme öyle yapılmalıdır. Form dosyalarının ismi otomatik olarak ilgili unit dosyalarıyla aynı olacaktır. Form'ların isimlerinin başına fr, unitlerin isimlerinin başına un gibi standart ekler koymak programcıya kolaylık sağlayacaktır. Örneğin frHesap, unTopla gibi. Bir proje tek bir proje isminde oluşur fakat birden fazla formdan ve unitten oluşabilir. İlk kaydetme işleminden sonra File menüsündeki Save All komutuyla yapılan tüm değişiklikler kaydedilebilir. Bütün dosyaları projenin kaydedildiği dizinde bulmak mümkündür.

Bir proje klasöründe bulunabilecek dosyalara şu örnek verilebilir:

.dpr Proje dosyası, program ismi.
.res Proje kaynak dosyası (ikonlar,bitmaplar vb.) Proje ile ilgili ve genellikle simgesini içeren ikili dosya. Bu türden başka dosyaları da projeye eklemek mümkündür. Derleme için gereklidir.
.dof Proje ayarlarının saklandığı metin dosyası. Sadece özel derleme seçenekleri atandıysa gereklidir.
.cfg Proje derlenirken kullanılacak derleyici direktiflerini, proje seçeneklerini içeren metin dosyası. Sadece özel derleyici seçenekleri ayarlandığında gereklidir.
.exe Çalıştırılabilen ikili program dosyası. Tüm derlenmiş üniteleri, kaynağı ve formları içerir ve programın baştan derlenmesi ile güncellenebilir.
.pas Pascal programlarının bulunduğu metin dosyası.
.dfm Ekran form ayarlarının saklandğı metin dosyası.
.dcu Unit dosyasının derlenmiş hali olan ikili dosya.
.bpl Borland Paket Kütüphanesi (Borland Package Library). Delphi ortamı tarafından tasarım kipinde veya diğer uygulamalar tarafından çalışma kipinde kullanılacak VCL bileşenlerini içeren bir DLL. Paketleri diğer Delphi geliştiricilerine ve duruma bağlı olarak son kullanıcılara dağıtmak için gerekir.
.dcp Delphi Bileşen Paketi (Delphi Component Package). Pakette derlenen kod için sembol bilgilerini içeren bir dosya. Dcu dosyalarında saklanan derlenmiş kodu içermez. Paketleri kullandığımızda gerekir. Bu dosya bir projenin parçası değildir ve Delphi tarafından bir paketin derlenmesi sonucu oluşturulur.
.dll Dinamik Bağlama Kütüphanesi ( Dinamic Link Library). Projelerde kullanabilecek fonksiyonların projeden bağımsız ayrı saklandığı kütüphane dosyaları.

Not : Standartlara uygun bir kodlama yapmak için Borland Kodlama Standartları yazısına bakabilirsiniz.

Buradan da anlaşılacağı gibi bir proje oluşturup sadece bir proje ismi (örneğin mproje) ve bir unit ismi (örneğin munit) verilmesine rağmen delphi tarafından bazı dosyalar yukarıdaki gibi otomatik oluşturulmaktadır.

Dpr uzantılı dosya projenin en önemli dosyasıdır. Windows ortamındada .dpr uzantılı dosyalar Delphi ile ilişkilendirilmiştir. Açmak istenilen program projesinin .dpr uzantılı dosyasınada çift tıklanırsa delphi ile birlikte otomatik açılacaktır. Exe uzantılı dosyalar ise Proje derlendikten sonra oluşan çalıştırılabilir program dosyalarıdır. Bunlar çalışmaları için delphiye ihtiyaç duymazlar.

Dfm uzantılı dosyalar projede kullanılan formlar ile ilgili bilgilerin saklandığı dosyalardır. Bir projede en az bir adet form bulunur. Her form ile ilgili pascal kodları o formla aynı adı taşıyan .pas uzantılı dosyada bulunur. Res uzantılı dosyalar delphi projelerinde kaynakların saklandığı dosyalardır. Program simgesi veya programda kullanılacak herhangi bir bitmap bu dosyalarda saklanabilir. Bu dosyalara eklenmiş bir kaynak herhangi bir anda kullanılabilir. Diğer uzantılara sahip dosyalar ise delphi tarafından otomatik oluşturulup programcı tarafından nadir olarak değiştirilirler.

Delphide önceden kaydedilmiş bir programı açmak için File menüsünde Open Project seçeneği seçilir. Açılan Dosya Aç diyaloğundan önceden kaydedilen .dpr uzantılı dosyayı seçilirse program projesi açılır.

Delphide yapılan proje ile ilgili işlemler bittiğinde File menüsündeki Close All seçeneğiyle yapılan iş kapatabilir. Delphi programınından çıkmak için ise File menüsünden Exit'in seçilmesi yeterlidir.

Delphide yazılan programın çalıştırılması:

Delphide yazılan programı çalıştırmak için Run menüsünde Run komutunun seçilmesi veya F9 tuşuna basılması yeterlidir. Bu yapıldıktan sonra program derlenerek programın .dpr uzantılı dosyasıyla aynı yerde .exe dosyası oluşturulur ve bu oluşturulan program çalıştırılır. Delphi kapatılsa dahi oluşturulan .exe dosyası silinmez ve aynı yerinde kalır. Run menüsünde Program Pause kullanılarak programın çalışmasına ara verebilir. Yaptığımız programda bir hata oluşması durumunda Run menüsünde Program Reset seçeneğini seçerek veya Ctrl+F2 tuşlarını kullanarak kilitlenmeyi önlenebilir program yeniden sıfırlanmış olarak başlatabilir.

Projeyi çalıştırmadan sadece derlemek için Project menüsününde Build komutu kullanılır. Delphi, derleme yaparken projenin tüm kod dosyalarını, son derlemeden bu yana değişip değişmediğini kontrol eder ve sadece değişen dosyaları derler. Projedeki tüm dosyaları değişikliğe uğrayıp uğramadığına bakmadan derlenmesi istenirse Project menüsünden Build All Projects komutunu verilmelidir. Project menüsündeki Information for komutu ile yapılmış olan en son derleme hakkında bazı bilgileri görülebilir.

DELPHIDE BASİT BİR UYGULAMA:

Windows işletim sisteminde bütün nesneler birer penceredir. Windows bunların birbirleriyle olan mesajlaşmasını sağlar. Delphi uygulamalarında formlar diğer bütün nesneleri ihtiva eden penceredir. Yeni proje açtığımızda ilk olarak karşımıza boş bir form gelir. Biz bu formun üzerine kullanıcı ihtiyacına göre diğer nesneleri (VCL bileşenleri) sürükler ve bırakır. Uygulamaya birden fazla form eklenebilir. İlk form Ana form, diğer eklenen formlar yardımcı formlar olacaktır. Aşağıda üzerine buton eklenmiş bir ana form ve delphi tarafından otomatik oluşturulmuş kaynak kodu görülmektedir:

Programın Proje dosyası: (Project1.dpr)
program Project1;
uses Forms, Unit1 in 'Unit1.pas' {Form1};
{$R *.res}

begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
Programın Unit dosyası: (Unit1.pas)
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes,
Graphics, Controls, Forms, Dialogs;
type
TForm1 = class(TForm)
Button1: TButton;
private
{ Private declarations }
public
{ Public declarations }
end;

var Form1: TForm1;
implementation
{$R *.dfm}
end.
Programın Form dosyası: (Unit1.dfm)
object Form1: TForm1
 Left = 281
 Top = 164
 Width = 335
 Height = 241
 Caption = 'Form1'
 Color = clBtnFace
 Font.Charset = DEFAULT_CHARSET
 Font.Color = clWindowText
 Font.Height = -11
 Font.Name = 'MS Sans Serif'
 Font.Style = []
 OldCreateOrder = False
 PixelsPerInch = 96
 TextHeight = 13
 object Button1: TButton
  Left = 96
  Top = 56
  Width = 97
  Height = 25
  Caption = 'Button1'
  TabOrder = 0
 end
end
Not : Burada bulunan kodu dosya halinde sitenin kaynaklar sayfasında bulabilirsiniz.

Program kodlarının açıklaması :

Burada bulunan dosyalar ve kodlar kimsenin gözünü korkutmasın. Programcı sadece yeni bir proje açmış ve bunun formunun üzerine fare ile Standart sayfasında bulunan TButton VCL nesnesini sürükleyip bırakmıştır. Kodlar ve dosyalar delphi tarafından otomatik oluşturulmuştur:))

Burada asıl program proje dosyası içindedir. Delphi, proje dosyasının başlangıcında bulunan uses kısmından kendi Forms kütüphanesini ve kullanıcının kendi oluşturduğu Unit1.pas dosyası içinde bulunan Unit1 unit'ini kulanılanacağını anlar. {$R *.res} kısmında ise otomatik oluşturulacak res uzantılı dosyadan programın simgelerini ve diğer kaynaklarını alır. Program begin ve end. arasında bulunur. Application.Initialize, programın hazır hale getirileceğini gösterir. Application.CreateForm(TForm1, Form1), TForm1 sınıfından Form1'in oluşturulacağını gösterir. Application.Run, Unit1'e yazdığımız veya otomatik oluşturulan kodların çalıştırılacağını gösterir.

Unit dosyasının başlangıcında uses kısmında delphi program için gerekli olan kütüphaneleri otomatik ekler. Kullanıcı kendisine ait bir unit oluşturursa kendisinkini de ekleyebilir. Type kısmında ise TForm1 sınıfı tanımlanır. Bu sınıf, formun özellikleri ve form üzerinde bulunan nesneleri tanımlar. Formda TButton Nesnesi bulunacaktır. Altta var bloğunda ise TForm1 sınıfı kullanılarak Form1 nesnesinden bir adet oluşturulacaktır. {$R *.dfm} kısmında bulunan bütün form dosyalarını kullanılacağını gösterir. Bu dosyalarda formumuzun ve form üzerinde bulunan nesnelerin özellikleri saklıdır. Bu kısımdan sonra end. kısmına kadar olan kısımda ise kullanıcının yazacağı kodlar bulunacaktır.

Uygulamanın geliştirilmesi:

Var olan uygulamanın geliştirmesi için form üzerine yeni bileşenler eklenmeli ve bu bileşenlerle ilgili kodlar kod penceresinde ilgili yerlere yerleştirilmelidir. Form üzerinde bulunan bir butona tek tıklandığında yazıyı "Hoş Geldiniz..." şeklinde değiştirecek uygulama şu şekilde olacaktır:

Form üzerinde yazının görünmesi için uygulamaya bir adet TLabel bileşeni eklenmesi gerekmektedir. TLabel form üzerine yazı yazmak için kullanılan bir bileşendir. Form üzerine TLabel bileşeni eklendiğinde TForm1 sınıfının içine Label1: TLabel; satırı otomatik olarak belirecektir.

Delphide basit bir proje resmi

Form üzerinde artık bir adet Button ve bir adet Label vardır. Buttonun üzerinde "Button1" yazarken, Label ise "Label1" şeklindedir. Button'a tek tıklandığında Label'in değişmesini sağlamak için Buttonun "OnClick" olayına gerekli kodun yazılması gerekir. Bunun için Button seçili iken Object Inspectorun Events kısmında Onclick'e tıklanır. Kod Penceresinde implementation ve {$R *.dfm} satırlarının altında aşağıdaki kod belirir:

Kod içinde begin ile end; arasına yazılacak kod Buttona tek tıklandığında çalışacaktır. Burada yapılan Button'un tıklama (OnClick) olayına kod yazmaktır. Ekrandaki yazının "Hoş Geldiniz..." şekline gelmesi istendiğinden Label1'in Caption özelliğinin değiştirilmesi yeterlidir. Kod aşağıdaki şekilde olacaktır:

Program çalıştırıldığında Label1 önce "Label1" şeklinde iken Button'a tek tıklandığında "Hoş Geldiniz..." şekline dönüşmektedir. Fakat Label1 başlangıçta "Label1" olarak görünmektedir. "Label1" yazısının başlangıçta "Merhaba" şeklinde olmasını istenirse bunu Label1 seçiliyken Object Inspectorun Properties kısmından Caption değiştirilerek yapılır. Yani program başlarken olması gereken ayarlar (tasarım anı ayarları, design-time settings) Properties'ten yapılırken, program çalışırken olması gereken ayarlar (run-time settings) program kodu ile yapılır. Tasarım anında değiştirilebilen tüm özellikler çalışma anında da -program kodu ile- değiştirilebilir.

Forma eklenen bileşenlere isim verirken bileşenin türü ve yapacağı işe uygun isim verilmelidir. Örneğin tıklandığında toplama işlemi yapacak bir Tbutton bileşeninin ismi Button1 olabilir. Bu çalışır fakat bileşene btTopla gibi bir isim verilirse hem bileşenin türü hemde yapacağı iş belirtilmiş olur. Örneğin TButton için btCikis, TLabel için lbYazi, TEdit için edtGiris vb... Bu yöntem tanımlanan tip ve değişkenlere de uygulanabilir. Bu programcıya ileride kodlar üzerinde işlem yaparken okuma kolaylığı sağlayacaktır.

Not : Burada bulunan kodu dosya halinde sitenin kaynaklar sayfasında bulabilirsiniz.

DELPHIDE TL ve DOLAR (DÖVİZ) DÖNÜŞÜMÜ YAPAN PROGRAM PROJESİ:

Delphi ile TL ile Dolar arasında karşılıklı dönüşüm yapılmasını sağlayan bir program kolaylıkla yapılabilir. Bu proje ile delphide program yapmanın mantığı biraz anlaşılabilir. Delphi açıldıktan sonra proje ile ilgili ilk yapılması gereken boş form penceresine gereken bileşenleri yerleştirmektir. Bileşenlerin konumları, boyutları ve diğer özellikleri istenildiği gibi ayarlanıp, değiştirilebilir. Proje için form üzerine 5 tane Label, 3 tane Edit, 3 adet BitBtn, 1 RadioGroup ve RadioGroup içine 2 adet RadioButton yerleştirilmelidir. Tasarım görüntüsü aşağıdaki şekildedir:

Tasarım görüntüsü

Form ve bileşen Properties'deki Tasarım Anı ayarları aşağıdaki şekildedir:

Form1.Caption = 'Doviz Çevirici' Formun ismi ayarlanıyor
Form1.Borderstyle = bsSingle Formun boyutunun değiştirilememesi için formun yapısı bsSingle yapılıyor.
Form1.Bordericons.biMaximize = False Formun Maximize düğmesi pasif hale getiriliyor. Böylece form ekranı kaplayamaz.
Form1.Position = poDesktopCenter Form ekranın ortasında yer alır.
Edit1.Text = 0 Edit1'in başlangıç içeriği 0 yapılıyor.
Edit2.Text = 0 Edit2'in başlangıç içeriği 0 yapılıyor.
Edit3.Text = 1,55 Edit3'in başlangıç içeriği 1,55 yapılıyor.
Edit2.ReadOnly = True Edit2'in kulllanıcı tarafından değiştirilememesi, sadece okunabilir olması sağlanıyor.
Label1.Caption = 'Giriş' Label1, 'Giriş' yapılarak formda 'Giriş' yazısı görülür.
Label2.Caption = 'Sonuç' Label2, 'Sonuç' yapılarak formda 'Sonuç' yazısı görülür.
Label3.Caption = 'Dolar' Label3, 'Dolar' yapılarak formda 'Dolar' yazısı görülür.
Label4.Caption = 'TL' Label4, 'TL' yapılarak formda 'TL' yazısı görülür.
RadioGroup1.Caption = ' Seçenekler ' RadioGroup1'in Caption içeriği ' Seçenekler ' yapılarak RadioGroup1'de ' Seçenekler ' yazısı görülür.
RadioButton1.Checked = True RadioButton1'un Checked özelliği True yapılarak seçili olması sağlanır.
RadioButton1.Caption = 'TL'den Dolara'a çevir' RadioButton1'un Caption içeriği 'TL'den Dolara'a çevir' yapılarak seçenek öyle görülür.
RadioButton2.Caption = 'Dolar'dan TL'ye çevir' RadioButton1'un Caption içeriği 'Dolar'dan TL'ye çevir' yapılarak seçenek öyle görülür.
BitBtn1.Kind = bkOk BitBtn1'in Kind özelliği bkOk yapılarak Buton üzerinde Onaylama şekli görünmesi sağlanır.
BitBtn1.Caption = 'Çevir' BitBtn1'in Caption içeriği 'Çevir' yapılarak Buton üzerinde 'Çevir' yazılması sağlanır.
BitBtn2.Kind = bkCancel BitBtn2'in Kind özelliği bkCancel yapılarak Buton üzerinde İptal şekli görünmesi sağlanır.
BitBtn2.Caption = 'Çıkış' BitBtn2'in Caption içeriği 'Çıkış' yapılarak Buton üzerinde 'Çıkış' yazılması sağlanır.
BitBtn3.Kind = bkRetry BitBtn3'in Kind özelliği bkRetry yapılarak Buton üzerinde şekil görünmesi sağlanır.
BitBtn2.Caption = 'Kopyala' BitBtn3'in Caption içeriği 'Kopyala' yapılarak Buton üzerinde 'Çıkış' yazılması sağlanır.
Not: Formun ve bileşenlerin burada gösterilmeyen daha farklı ayarları da vardır. Diğer ayarlar için sayfada verilecek olan kaynak koddaki .dfm dosyalarına bakılması yeterlidir.

Programın çalıştırılma görüntüsü

Yukarıda uygulamanın çalıştırılmış hali görünmektedir. Uygulamadaki bileşenlerin görevlerini yapabilmeleri için ilgili olaylarına gerekli kodlar kullanıcı tarafından yazılmalıdır. Bileşenlerin olaylarına Object Inspector'un Events sayfasından ulaşılabilir.

Aşağıdaki kod ile Global değişken tanımlamaları ve 'Çevir' butonuna basıldığında çevirme işleminin yapılması sağlanmaktadır. Açıklamalar kodların karşısındadır.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
var
 Form1: TForm1;
 tl: boolean = true;
 // tl boolean tipinde değişken tanımlanıyor. Bu değişken ile işlem seçilecek.
 gr, ck: extended;
 // gr ve ck gerçek sayı tipinde iki değişken tanımlanıyor.

implementation
{$R *.dfm}

Procedure TForm1.BitBtn1Click(Sender: TObject);
Begin
 // Edit1'in içindeki yazı bilgisi gerçek tipe çevrilerek gr değişkenine aktarılıyor.
 gr := strtofloat(edit1.text);
 {tl değişkeninin True değerine eşit olup olmadığına bakılıyor}
 If tl then
  ck := gr / strtofloat(edit3.text)
  // Tl değişkeni True olduğu için Giriş pariteye bölünerek dolar değeri bulunur.
 else
  ck := gr * strtofloat(edit3.text);
  // Tl değişkeni False olduğu için Giriş parite ile çarpılarak tl değeri bulunur.
 edit2.text := FormatFloat('0.00', ck);
  // Bulunan sonuç Edit2 içerisine formatlı yazı şeklinde yazılıyor.

End;


Aşağıdaki kod ile 'Çıkış' butonuna basıldığında programdan çıkılması sağlanmaktadır.

1
2
3
4
 
Procedure TForm1.BitBtn2Click(Sender: TObject);
Begin
 Close;
End;


Aşağıdaki kod ile 'TL'den Dolar'a çevir' Radiobutonunu seçildiğinde tl değişkeni True değeri almakta ve ekrandaki Label4 'TL', Label3 'Dolar' halini almaktadır.

1
2
3
4
5
6
 
Procedure TForm1.RadioButton1Click(Sender: TObject);
Begin
 tl := true;
 label4.Caption := 'TL';
 label3.Caption := 'Dolar';
End;


Aşağıdaki kod ile 'Dolar'dan TL'ye çevir' Radiobutonunu seçildiğinde tl değişkeni False değeri almakta ve ekrandaki Label4 'Dolar', Label3 'TL' halini almaktadır.

1
2
3
4
5
6
 
Procedure TForm1.RadioButton2Click(Sender: TObject);
Begin
 tl := false;
 label4.Caption := 'Dolar';
 label3.Caption := 'TL';
end;


Aşağıdaki kod ile 'Kopyala' tuşuna basıldığında sonuç Panoya kopyalanacaktır. Pano işlemlerinin kullanılabilmesi için başlangıçtaki uses kısmına Clipbrd kütüphanesi eklenmelidir.

1
2
3
4
 
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
 clipboard.AsText := FormatFloat('0.00',ck);
end;


Not : Burada bulunan uygulamanın kodunu ve çalışan exe programını dosya halinde sitenin kaynaklar sayfasında bulabilirsiniz.

DELPHIDE MDI VE SDI UYGULAMALARI:

SDI (Single Document Interface) uygulamalar: Tek pencereden oluşan uygulamalardır. SDI uygulamalarda birden fazla pencerede bulunabilir fakat bunlar ana ve çocuk pencereler değildir. Her pencere kendi başına hareket edebilir, her biri ekranı kaplayabilir veya simge durumuna küçültülebilir. Ancak bu tür uygulamalarda bir ana pencere vardır ve kapatıldığında tüm pencerelerde kapatılır. Buna örnek olarak Delphi uygulama geliştirme ekranı verilebilir. Dört ayrı ekran vardır. Yalnız ana pencere kapatıldığında pencerelerin tümü birden kapatılır.

Delphi ile oluşturulan uygulamalar programcı tarafından değiştirilmedikleri takdirde SDI uygulamalardır.

MDI (Multiple Document Interface) uygulamalar: Bir ana ve bu ana pencere içinde açılabilen bir veya birden fazla çocuk (child) pencere vardır. Çocuk pencereler ana pencerenin sınırları dışına çıkamazlar, ana pencere içinde hareket ettirilebilirler. MDI uygulamalarda çocuk pencereler ekranı kaplayabilir, simge durumuna küçültülebilir, kendi aralarında düzenlenebilir. MDI uygulamalar iki yada daha fazla formdan oluşur. Bu uygulamalara örnek Excel ve Word programlarıdır.

Delphide MDI uygulamalar geliştirilebilir. Bunun için Yeni bir uygulamaya başlandığı zaman iki adet form oluşturulmalıdır. İlk oluşturulan form Ana formdur. Bu formun FormStyle özelliği Object Inspector'dan fsMDIform yapılmalıdır. İkinci form ise Çocuk (Child) formudur. Programlama esnasında bir tanedir. Kullanıcı programı kullandığı zaman istediği kadar otomatik oluşturulur. Bu formun FormStyle özelliği Object Inspector'dan fsMDIChild yapılmalıdır. Böylece MDI uygulamaya başlanmış olur. MDI uygulamalarda Ana formda mutlaka Çocuk form oluşturmak, silmek, düzenlemek, yerleştirmek için kodlar bulunur. Yoksa Çocuk form üzerinde işlem yapılamaz.

İlk açılışta çocuk formun otomatik oluşmaması isteniyorsa Proje Seçeneklerinin (Project->Options) Forms tabında aşağıdaki resimdeki kırmızı kutu ile gösterilmiş buton ile gösterilmiş değişiklik yapılmalıdır. Burada "Auto-create forms" listesindeki formlar program ilk oluşturulurken otomatik oluşturulurlar. "Available forms" listesindeki formlar ise başlangıçta oluşturulmazlar. Kullanıcı bunları kod ile kendi oluşturmalıdır. Bu yöntem MDI uygulamalarda kullanıldığı gibi SDI uygulamalarda da hafıza tasarrufu amacıyla kullanılabilir.

Proje Seçenekleri


Aşağıda MDI uygulama resmi ve kodları görülmektedir:

MDI uygulamasi


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 
Uses unit2; //Çocuk formun unit ismi buraya eklenir
{$R *.dfm}

Procedure TAnaForm.CocukFormOlustur(const isim: string);
Var Cocuk: TCocukForm;
Begin
 Cocuk := TCocukForm.Create(Application);
 Cocuk.Caption := isim;
End;

Procedure TAnaForm.YeniForm1Click(Sender: TObject);
Begin
 CocukFormOlustur('Isimsiz' + IntToStr(MDIChildCount + 1));
End;

Procedure TAnaForm.Cikis1Click(Sender: TObject);
Begin
 Close;
End;

Procedure TAnaForm.TumunuKapat1Click(Sender: TObject);
Var i: integer;
Begin
 For i:= 0 to MdiChildCount - 1 do MDIChildren[i].Close;
end;

procedure TAnaForm.Basamakla1Click(Sender: TObject);
Begin
 Cascade;
End;

Procedure TAnaForm.Dose1Click(Sender: TObject);
Begin
 Tile;
End;

procedure TAnaForm.TumunuKucult1Click(Sender: TObject);
Var i: integer;
Begin
 For i:= MdiChildCount - 1 downto 0 do MDIChildren[i].WindowState := wsMinimized;
End;


1
2
3
4
 
Procedure TCocukForm.FormClose(Sender: TObject; var Action: TCloseAction);
Begin
 Action := caFree;
End;


Not: En alttaki kod Çocuk formun FormClose olayına yazılmalıdır. Yoksa çocuk formlardan hiçbiri kapatılamaz



Not Burada bulunan kodu dosya halinde sitenin kaynaklar sayfasında bulabilirsiniz.

Delphide DOS programı yazma ve çalıştırma:

Delphi, windows programları oluşturmak için yapılmıştır. Fakat Delphi ile DOS programları da yapılabilir. Delphinin derleyicisi (dcc32.exe) dos programları derleyebilir. Delphide dos programı oluşturmak için dos programı .dpr uzantılı dosya içerisine yazılır. Yalnız program satırının altına {$APPTYPE CONSOLE} direktifi eklenmelidir. Bu delphi derleyicisine yazılı programın Dos programı olduğu ve kodun buna göre derleneceğini belirtir. File -> New -> Other-> Console Application seçilmesiyle de aynı kodlar elde edilebilir.

Programın yazılması bittikten sonra çalıştırma ve derleme windows programları ile aynıdır. Aşağıda delphide yapılmış bir Dos programı görülmektedir:

Programın kodu:

Program Project1;
{$APPTYPE CONSOLE}

uses SysUtils;

Begin
Writeln('Deneme yazisi');
Readln;
End.
Programın Dcc32 ile Dos satırında derlenmesi:

Dcc32 Project1.dpr {Enter}

Proje .dpr yerine .pas uzantılı olabilir. Fakat .pas dosyası delphide derlenip çalıştırılamaz. Yalnızca Dcc32 ile derlenebilir ve dos komut satırında program ismi yazılarak çalıştırılabilir.

Dos programlarına da simge eklemek mümkündür. Bunun için eklenecek simgeyi içeren bir kaynak dosyası (örneğin kaynak.res) derleyip ve bunu proje ile aynı dizine kopyalamak gerekmektedir. Bu kaynak dosyanın işlem görmesi için {$APPTYPE CONSOLE} direktifinin altına {$R kaynak.res} satırı eklenir. Derleme sonucu oluşacak .exe dosya eklenen simgeye sahip olacaktır.

Not Burada bulunan kodu dosya halinde sitenin kaynaklar sayfasında bulabilirsiniz.

OLUŞTURUCULACAK EXE İÇİNE KAYNAK GÖMMEK:

Delphi ile yapılan proje içerisine bitmap, simge, imleç gömmek kolaydır. Bunun için delphi 7 ile gelen Image Editor programını çalıştırıp projenin .res uzantılı kaynak dosyasını açmak ve düzenlemek yeterlidir. Bu işlemden sonra projenin kapatılıp açılması yeterlidir. Fakat bitmap, simge, imleç haricinde diğer kaynaklar için Image Editor yetersizdir

Delphi ile oluşturulan .exe dosya içerisine kaynak (bitmap, simge, imleç, resim, müzik ve yazı) veya dosya (swf flash, mp3 ve başka exe gibi binary yapıdaki dosyalar) gömme işlemi yapabilir. Böylece harici dosyalara ihtiyaç duyulmadan sadece .exe dosyanın taşınması ile gerekli diğer dosya veya kaynaklar taşınabilir. Ayrıca kullanıcı sadece exe dosyayı görür diğer kaynaklar gizlenmiş olur. Bu işlemin dezavantajı .exe dosyanın boyutunun büyümesi olmaktadır. Bu işlem (*.res resource) kaynak dosyaları kullanılarak ve komut satırında brcc32.exe programıyla yapılır.

Öncelikle 'Kaynak.rc' adı verilen basit bir yazı (text) dosyası oluşturalım. Bu dosyanın ismini kullanıcı istediği gibi seçebilir. Bu dosya içerisinde kaynaklara verilen isimleri, kaynak tiplerini ve kaynak dosya adlarını içerecektir. Brcc32 dosyasının standart tanıdığı kaynak tipleri şunlardır:

BITMAPResim (bitmap) dosyasıornek.bmp
ICONSimge (ikon) dosyasıornek.ico
CURSORİmleç (cursor) dosyasıornek.cur
ANICURSORHareketli İmleç (Animated Cursor) dosyasıornek.ani
JPEGJPEG Resim dosyasıornek.jpg
WAVEMüzik (wave) dosyasıornek.wav
TEXTYazı (text) dosyasıornek.txt
RCDATADiğer ikili (binary) dosyalar (exe, swf, mp3, rtf vb)ornek.mp3

Exe dosya içine gömmek istenilen kaynaklar uygun şekilde dosyanın içinde tanımlanır. Tanımlama mantığı sırası şu şekildedir: [Kaynak tanımı] [Kaynak tipi] [Kaynak dosyası adı]. Aşağıda tanımladığımız dosya (Kaynak.rc) görülmektedir:

ornek_bmp BITMAP ornek.bmp
ornek_ico ICON ornek.ico
ornek_cur CURSOR ornek.cur
ornek_swf RCDATA ornek.swf
ornek_exe RCDATA ornek.exe

Gömülecek dosyalar "kaynak.rc" dosyası ile aynı klasörde bulunmalıdır. Tanımlanan bu dosyanın derlenerek .res dosyası haline getirilmesi gerekmektedir. Bunun için Delphi ile gelen brcc32.exe programı kullanılır. Bu program delphini kurulu olduğu yerde \bin klasörünün altında bulunmaktadır. Komut satırında aşağıdaki komut yazılarak derleme yapılır.

Derleme işlemi batch (.bat) dosyası kullanılarak da yapılabilir. Bunun için herhangi bir isimli bir bat dosyası yazı editörü ile oluşturularak içine derleme kodları yazılır ve .bat dosya çift tıklanarak çalıştırılır.

brcc32 c:\kaynak\kaynak.rc

Komut isteminde derleme

Brcc32.exe, derleme işlemi başarısız olduysa bir hata iletisini görüntüleyecektir. Derleme sonucunda oluşan "kaynak.res" dosyası kaynak.rc dosyası ile aynı dizinde olacaktır. Hazırlanan kaynak dosyasının kullanılacağı projeye tanıtılması için kaynak dosya ile proje aynı klasörde olmak şartıyla aşağıdaki kod kullanabilir:

{$R *.dfm} // Bu satırın altına aşağıdaki satır eklenir.
{$R kaynak.res}

Kaynak dosya içine gömülen (ico, cur, swf, exe vb) kaynakların proje içinde kullanılabilmeleri için ortak kod yoktur, her kaynak için ayrı kod programcı tarafından eklenmelidir. Bunun için örnek kodlar internette mevcuttur.

BDS (Borland Developer Studio) 2006 : BDS 2006'a Giriş

BDS 2006

BDS 2006, Borland firmasının 2006 yılında çıkarmış olduğu uygulama geliştirme platformudur. BDS 2006, Delphi for Windows 32, Delphi for .Net, C++ Builder ve C# Builder geliştirme araçlarını içermektedir. BDS 2006 ve diğer programları (Delphi 2007, Delphi for PHP) Borland'ın Codegear.com sitesine kayıt olmak suretiyle zaman kısıtlamalı olarak indirilebilmektedir. Siteye üye olmak gerekmektedir. Üye olduktan sonra üye olurken girmiş olduğunuz e-posta adresinize gelecek posta içindeki şifre posta içinde belirtilen dizine belirtilen isimle .txt dosyası olarak kaydedildiğinde indirilen ürün kullanılmaya başlanabilir.

BDS 2006 programı Ana Sayfası Görüntüsü:

BDS (Borland Developer Studio) 2006 Ana Ekranı

BDS 2006'nın kurulabilmesi için Microsoft .NET Framework SDK v1.1 ve Microsoft Visual J# .NET Redistributable gibi birçok paketin kurulmuş olması gerekmektedir. Bu paketlere internette Microsoft'un sitesinde küçük bir aramayla veya Codegear.com sitesinde BDS 2006'ı indirirken aynı sayfadaki bağlantıları kullanarak veya aynı sayfadaki prereqs.zip dosyasını indirerek erişmek mümkündür. Bu paketler kurulu olmadan BDS 2006 kurulamamaktadır.

.NET Nedir ?

.NET Framework, Microsoft tarafından geliştirilen, açık İnternet protokolleri ve standartları üzerine kurulmuş komple bir uygulama geliştirme platformudur. Buradaki uygulama kavramının kapsamı çok geniştir. Bir masaüstü uygulamasından tutun, bir web tarayıcı uygulamasına kadar her şey bu platform içinde düşünülmüştür ve desteklenmiştir. Bu uygulamaların birbirleriyle ve geliştirildiği ortam farketmeksizin dünyadaki tüm uygulamalarla iletişimi için kolayca Web Servisleri oluşturulmasına imkan verilmiştir. Microsoft, üzerinde çok çalışılmış, düşünülmüş bir ürün ortaya sunmuştur ve görünen-beklenen o ki, ileride sunacağı tüm ürünler de bu yeni platformu hedef alacaktır.

Bu platform, işletim sisteminden ve donanımdan daha üst seviyede taşınabilir olarak tasarlanmıştır. .NET platformu kullanılarak yapılmış programları kullanmak için sadece .NET Platformu, .NET platformu için uygulama geliştirmek isteniyorsa, işletim sistemine .NET platformu, Microsoft .NET Framework SDK ve gereken diğer paketlerin kurulması gerekmektedir. Bu paketler ücretsiz olarak Microsoft'un //msdn.microsoft.com/net/ adresinden indirebilir. Bu ortam, Java uygulamalarını çalıştırmak için gerekli olan Java Run-time Environment (JRE) gibi düşünülebilir.

Yazacağınız herhangi bir .NET uygulaması ortak bir run-time ortamda çalışacak ve ortak bir kütüphaneyi kullanacaktır. Run-time ortamının teknik adı Common Language Runtime (CLR) dir. CLR, kodunuzun başında duran bir şef gibidir. Yetenekleri ve görevleri çok fazladır ve platformun en önemli bölümüdür. Mesela kodunuzda kaygısızca oluşturduğunuz ve "heap" alanına yığdığınız nesnelerin kullanılmadığı andan itibaren otomatik olarak toplanması CLR'ın görevidir. .NET uygulamalarının kaynak kodları çalışır hale gelebilmek ve CLR'nin muhatabı olabilmek için iki derleme aşamasından geçmektedir. Desteklenen herhangi bir dille (VB.NET, C#, Delphi.NET, ...) yazdığınız kaynak kodu, .NET'in çekirdek kurulumu ile gelen, komut satırı derleyicileri kullanarak derlediğinizde ilk aşama gerçekleşmektedir. Derleme sonucunda bir .exe veya bir .dll dosyası oluşsa bile, bu dosyaların yürütülebilmesi için ikinci bir derleme evresine girmeleri gerekir. İlk derlemede kaynak kodunuz, özel adı MSIL (Microsoft Intermediate Language) olan, Assembly (sembolik makine) diline yakın bir dile dönüştürülmektedir. Oluşan .exe ve .dll dosyalar yürütülebilir kodlar yerine ara dil içermektedir. Bu dosyaları çalıştırmak istendiğinde, devreye CLR girecektir. Bu ara dildeki talimatlar, just-in time (JIT) compilation denen ikinci derleme aşamasına girecektir ve doğal makine koduna dönüşecektir. Bu ikinci derleme, uygulamanın çalışacağı yerde olacağından oluşacak doğal kod o ortama özgü olacaktır. Örneğin farklı işlemciler için farklı talimatlar üretilecektir. Öte yandan uygulamanızı geliştirirken bir çok hazır çağrılara ihtiyacınız olacaktır. .NET, programcının kullanımına hazır bir sınıf kütüphanesi sunmuştur. Bu kütüphane işletim sistemi ile uygulamanız arasında bir köprü görevi yapmaktadır. Siz bir dosyaya yazmak istediğinizde, işletim sisteminin dosya sistemi çağrıları yerine, bu kütüphanedeki hazır sınıfı kullanacaksınız. Yani muhatabınız işletim sisteminden daha üst seviyede duran .NET iskeleti olacaktır. Böylelikle teoride uygulamanızın bağımlı olduğu tek şey .NET Framework'tur ve işletim sisteminden, donanımdan bağımsız hale gelmektedir. Bunun en kısa ifadesi taşınabilirliktir.

.NET uyumlu uygulamalar geliştirmek için kullanılan bilgisayara ilgilenilen .NET Framework sürümünü kurmak yeterli olmaktadır. Microsoft firması derleyicileri .NET Framework ile birlikte ücretsiz olarak dağıtmaktadır. Programcı kodunu istediği dilde Not Defteri veya başka bir editörle yazıp .NET Framework ile gelen derleyici ile derleyip kullanabilir. Not Defteri veya başka bir editörle .NET uyumlu uygulama geliştirmek zahmetli olduğu için programcılar Entegre Geliştirme Ortamlarını (Visual Studio veya Delphi vb) kullanmaktadır.

Borland, .NET'i destekleme kararı almıştır. Delphinin 7 ve Üst sürümleri .NET'i desteklemektedir. Bu sürümün kurulumunda .NET ile ilgili programlar ve dosyalarında kurulumu gerçekleşmektedir. Zaten .NET'in ve .NET ile birlikte ortaya çıkan C# ın babası Anders Hejlsberg 13 yıl Borland'da çalışmış birisidir. Daha sonra astronomik rakamlarla Microsoft'a transfer olmuştur. .Net'i geliştiren ve ilk fikri bulanın Borland firması olduğu, ancak projenin Microsoft tarafından sunulursa daha başarılı olacağını düşündüğü için Microsoft'a devrettiği yönünde iddialar vardır. Borland'ın .NET'i hemen desteklemesinin arkasında da bunun olduğunu iddia edilmektedir.

Delphinin yeni sürümleri kurulmadan .NET Framework, .NET Framework SDK ve diğer kütüphanelerin kurulması zorunludur. Delphi ile .NET veya Win32 programları yapılabilir. Delphi .NET'de yapılmış programlar normal Delphi Win32 ile yapılmış programlara göre daha küçüktür. Bunun sebebi .NET programları windows'da kurulu olan .NET Framework kütüphanelerini kullanmalarıdır. Codegear, .NET programlama için en son olarak Delphi Prism'i çıkarmıştır. (bkz. Delphi Prism ve Oxygene)

BDS 2006 nın İçeriği:

BDS 2006 çeşitli programlama dillerine ve ortak bir geliştirme ortamına sahip bir pakettir. BDS 2006 ile kullanıcı istediği programlama dilini kullanarak programlarını oluşturabilir. Kullanıcı isterse Başlat menüsündeki Borland Developer Studio 2006 grubunda bulunan Borland Developer Studio 2006 seçeneğini seçerek tüm alternatiflerin önüne gelmesini sağlayabilir veya aynı grupta bulunan listeki seçeneklerden istediği programlama dilini seçerek kullanabilir. Aşağıda BDS2006'nın Windows menüsü görülmektedir:

Bds 2006 Win menu


Kullanıcının BDS 2006 'da kullanabileceği alternatifleri şunlardır:

Borland Developer Studio 2006: BDS 2006'da bu seçenek seçildiğinde açılan arabirim bütün alternatifleri içermektedir. Kullanıcı istediği programlama dilini arabirimde seçip kullanabilir.
C# Builder: BDS 2006'da bu seçenek seçildiğinde açılan arabirimde kullanıcı C# dilini kullanarak .Net programları yapabilir. C# Builder kullanılarak C# dilinde ASP .NET Web Uygulamaları veya Windows Forms (.Net) Uygulamaları yapılabilir.
C++ Builder: BDS 2006'da bu seçenek seçildiğinde açılan arabirimde kullanıcı C++ dilini kullanarak programlama yapabilir. C++ Builder kullanılarak C++ dilinde VCL Forms Uygulamaları yapılabilir.
Delphi for Microsoft Win32: BDS 2006'da bu seçenek seçildiğinde açılan arabirimde kullanıcı Object Pascal dilini kullanarak programlama yapabilir. Delphi Win32 kullanılarak Object pascal dilinde VCL Forms Uygulamaları yapılabilir.
Delphi for Microsoft .Net Framework: BDS 2006'da bu seçenek seçildiğinde açılan arabirimde kullanıcı Object Pascal dilini kullanarak .Net programları yapabilir. Delphi .Net Framework kullanılarak Object Pascal dilinde ASP .NET Web Uygulamaları, Windows Forms (.Net) Uygulamaları veya VCL Forms (.Net) Uygulamaları yapılabilir.


Delphi Vcl  Delphi Net
BDS 2006'da VCL uygulaması tasarım görüntüsü  BDS 2006'da .Net uygulaması tasarım görüntüsü

.NET ve VCL.NET

Microsoft Visual Basic 6 dilini .NET platformuna uyarlarken dilin syntax (söz diziminde) ciddi manada değişikliğe giderek .NET'in nesnesel programlama yaklaşımına uydurmaya çalışmıştır. VB 6 da bulunan Win32 desteği tamamen kaldırılarak VB.NET tamamen managed (yönetilebilir) yapıya getirilmiştir. Böylece doğal olarak çalışma zamanı kütüphanesi eskisine sadık kalınmayarak daha farklı sınıf ve metod adlarıyla .NET Framework'ün ortak sınıf kütüphanesini kullanmaya başlamıştır. Bu durum VB 6'dan VB.NET'e geçenlerde zorlanmaya yol açarak, VB 6 programcılarını VB.NET'i öğrenmelerine sebebiyet vermiştir.

Borland firması ise Microsoft'un yaptığı bu yanlışı fark etmiş olsa ki Delphi'de bunun yaşanmaması için çalışmışlar. Gerçi Delphi'nin dil yapısı ve nesnesel programlama yaklaşımı .NET platformuna uygun olduğundan da Visual Basic 6 gibi söz diziminde derinlemesine oynamaya gidilmemiştir. Sadece yönetilebilir ortamın verdiği kısıtlı imkanlar dolayısıyla bazı dil özellikleri kaldırılmış (Pointer gibi), bazı da ek özellikler gelmiştir. Bunun haricinde dilin tümü başarıyla bu platformda kullanılabilme başarılmıştır.

Borland'ın yaptığı diğer başarı ise Delphi'nin sınıf kütüphanesi olan VCL(Görsel birleşen sınıf kütüphanesini) .NET'in ortak kütüphanesi olan FCL'yi (.NET Framework sınıf kütüphanesi) kullanarak yeniden yazmışlardır ve ortaya VCL.NET çıkmıştır.

NET platformu kendi kontrolünde unmanaged yapılara ulaşıma izin verdiği için (eski win32 API'lere) bu sınıf kütüphanelerinde bazı modüllerde .net kontrolünde API'lerin kullanımı da devam edilmiştir. Böylece Delphi.NET kullanıcıları 2 çalışma kütüphanesine sahip olmuştur. Bunlar:

1. Microsoft'un Doğrudan .NET Framework Class Library (.NET)
2. Borland'ın Visual Component Library.NET (VCL.NET)

VCL.NET sınıf kütüphanesini incelendiğinde .NET Framework sınıf kütüphanesini kullandığını görecektir. Yani performansta değişen bir şey yoktur. Delphi Win32'de hazırlanan modülleri Delphi.NET'e geçirdiğinde bu sayede kodda hiç değişiklik yapılmayacak ya da çok ufak değişiklikler yapılacaktır. Bu büyük bir özellik olup Delphi dilini .NET içinde win32 - .net platformları arasındaki uyum sayesinde ayrıcalıklı konuma getirmektedir. Hem de kullanıcının Delphi'de alıştığı sınıf adları ve fonksiyonları aynen kullanabilme olanağı olacak. (AssignFile, reset, append, inttostr, trunc, inc gibi...)

Örneğin .Delphi.NET'te integer tipinden String tipine çevirme işleminde deger.tostring ifadesini kullanırken, uses kısmına borland.vcl.sysutils eklenerek alışılmış klasik inttostr(deger) fonksiyonu kullanılabilir. Herhangi bir delphi win32 projesinde bir sürü inttostr kullandığını düşünün. Bu proje .NET platformuna taşındığında bütün inttostr'leri xxx.tostring yapmak zahmetinden kurtulunulur.

.NET yerine VCL.NET kullanmanın tek dezantajı projenin boyunu artırmasıdır. Çünkü projeye gömülmüş veya ayrı ayrı (dll) şeklinde VCL.NET kütüphanelerinin projeyle beraber taşınması gereklidir.

CodeGear Rad (Rapid Application Development) Studio (CRS) 2007 :

Codegear Rad Studio 2007, Borland firmasının 2007 yılının eylül ayında BDS 2006 nın yerine çıkarmış olduğu uygulama geliştirme platformudur. CRS 2007, Delphi for Windows 32, Delphi for .Net ve C++ Builder geliştirme araçlarını içermektedir. CRS 2007 ve diğer programları (BDS 2006, Delphi 2007, Delphi for PHP) Borland'ın Codegear.com sitesine kayıt olmak suretiyle zaman kısıtlamalı olarak indirilebilmektedir. Siteye üye olmak gerekmektedir. Üye olduktan sonra üye olurken girmiş olduğunuz e-posta adresinize gelecek posta içindeki şifre uygulama kurulurken şifre istenen bölümde girilerek ürün 30 gün kullanılmaya başlanabilir. CRS 2007 programı Ana Sayfası Görüntüsü:

CRS (CodeGear Rad Studio) 2007 Ana Ekranı

CRS 2007 'nın kurulabilmesi için Microsoft .NET Framework SDK v1.1 ve Microsoft Visual J# .NET Redistributable gibi birçok paketin kurulmuş olması gerekmektedir. Bu paketlere internette Microsoft'un sitesinde küçük bir aramayla ulaşmak mümkündür. Bu paketler bilgisayarda kurulu değilse CRS 2007 kurulum programı paketleri internetten indirerek otomatik kurmaktadır. CRS 2007'i internetten indirmek mümkün olduğu gibi Kurulum DVD'si şeklinde de satın almak mümkündür. CRS 2007'nin kurulum DVD'si içerisinde 4 dil (İngilizce, Fransızca, Almanca ve Japonca) için kurulum dosyaları ve gerekli diğer paketler bulunmaktadır.

CRS 2007 ilk çıktığında .NET Framework'un 1.1 sürümünü desteklerken çıkan son sürümü ile .NET Framework 2.0 desteklenmeye başlamıştır. Böylece CRS 2007 ile .NET 2.0'ı destekleyen programlar yapmak mümkün hale gelmiştir. Aşağıda CRS 2007'nın Windows menüsü görülmektedir:

Crs2007 win menu

CRS 2007 ile BDS 2006 arasındaki belirgin farklılıklar şunlar:

En belirgin farklılık BDS 2006 C# Builder'i barındırırken CRS 2007'de C# Builder bulunmamaktadır.

BDS 2006'da .Net programı yapmak için Windows Forms .Net, VCL .Net ve ASP .Net seçenekleri var oysa CRS 2007'de sadece VCL .Net ve ASP .Net bulunmakta (Windows Forms .Net) yoktur.

İki programın arabirimleri arasında çok fazla faklılık yok ama CRS 2007, BDS 2006'a göre daha sorunsuz ve daha hızlı çalışmaktadır.

CodeGear Delphi for PHP:

Delphi for PHP, Borland firmasının 2007 yılında çıkarmış olduğu uygulama geliştirme platformudur. Delphi for PHP ile PHP dilini kullanarak web üzerinde .Net uygulamaları yapılabilmektedir. Delphi for PHP, Borland'ın Codegear.com sitesine kayıt olmak suretiyle zaman kısıtlamalı olarak indirilebilmektedir. Siteye üye olmak gerekmektedir. Üye olduktan sonra üye olurken girmiş olduğunuz e-posta adresinize gelecek posta içindeki şifre posta içinde belirtilen dizine belirtilen isimle .txt dosyası olarak kaydedildiğinde indirilen ürün kullanılmaya başlanabilir.

CodeGear Delphi for PHP Ana Sayfası Görüntüsü:

CodeGear Delphi for PHP Ana Ekranı

Delphi ve C++ Builder 2009 :

Embarcadero firması 2008'in son aylarında Delphi ve C++ Builder 2009'u çıkarmıştır. Bu sürümler Codegear'ın Borland'dan Embarcadero'ya geçmesinden sonraki ilk sürümdür. Bu sürümlerin en önemli özelliği Unicode (Universal Code - Evrensel Kod) desteğidir. Artık ide, vcl ve herşey unicode desteklidir.

Aşağıda Rad Studio 2009 (Delphi ve C++ Builder 2009) DVD kurulum programı ekranı görülmektedir. En üsteki seçenek ile kurulum işlemine başlanır. Hangi dilin kurulacağı kurulum sırasında seçilmektedir.

Delphi 2009 kurulum dvd ekranı

Aşağıda Delphi ve C++ Builder 2009 kurulum programı ekranı görülmektedir:

Delphi 2009 kurulumu

Aşağıda Delphi 2009 başlangıç ekranı görülmektedir:

Delphi 2009 başlangıç ekranı

Aşağıda Delphi 2009 programı ana ekranı görülmektedir:

Delphi 2009 ana ekranı


Aşağıda Delphi 2009 programı windows menü seçenekleri görülmektedir:

Delphi 2009 win menü


Unicode Nedir ?

Bilgisayarların geliştirilmesi ile birlikte birçok karakter kodlaması geliştirilmiştir. Bu kodlamalardan en çok kullanılan Ascii (American Standard Code for Information Interchange) kodunda her karakter ve sembol için 7 bit (1 bayt) kullanılmaktadır. Ascii kodu ile en fazla 128 farklı karakter gösterilebilmektedir. Bu 128 koddan 33'ü (ilk 32'si ve 127.) özel kontrol (Esc, Tab, Enter vb) kodlarıdır. Genişletilmiş Ascii karakterler ise 8. bitin kullanılması ile 128 ile 255 arasındaki 128 karakteri kapsar. Bu her ülke için farklı kod sayfası tanımlanabilmesini ve gösterilebilmesini sağlamıştır. Örneğin Kuzey Amerika, Batı Avrupa, Avustralya ve Afrika dillerine ait yazılım programlarında ISO 8859-1 kod sayfası kullanılırken, Türkçe için ISO 8859-9 kod sayfası kullanılır. Fakat aynı anda birden fazla kod sayfası kullanılamadığından sadece bir dil kullanılabilmektedir. Bir kod sayfası ile yazılmış anlamlı bir metin başka bir kod sayfası ile gösterildiğinde anlamsız karakterler dizisine dönüşmektedir. Ascii kodu Çince, Rusça, Arapça gibi diller ve bilimsel semboller için yetersiz kalmaktadır.

Dünya üzerindeki dillerin ve özel sembollerin kullanılabilmesi için fazla karakter alabilecek bir kodlamaya ihtiyaç duyulmaktadır. Bunun için Unicode (Universal Code - Evrensel Kod) geliştirilmiştir. Unicode, Unicode Konsorsiyumu (The Unicode Consortium) tarafından geliştirilen birçok firma ve programın desteklediği bir kodlama standartıdır. Unicode'da dünya üzerindeki her karakter ve sembol'e bir karakter numarası verilir. Verilen karakter numaraları sabittir, değiştirilmez. Yeni eklenen her karakter ve sembol için yeni karakter numaraları eklenir. Unicode sürekli olarak geliştirilmektedir. Sürekli yeni sembol ve karakterler eklenmektedir. Unicode'da karakter numaraları sabit olmasına karşın farklı karakter kodlamaları kullanılmaktadır. Bunlardan bazıları (Unicode Transformation Format) UTF-8 (8-bit UCS), UTF-16 (16-bit UCS, UCS-2) ve UTF-32 (32-bit UCS, UCS-4) dir.

En sık kullanılan UTF-8 değişken uzunluğa sahip karakter kodlamasıdır. Uyumluluk için ilk 128 Ascii karakter için 1 bayt (8 bit) kullanılırken diğer karakterler için 4 bayt kullanılmaktadır.

Unicode tek bir yazılımın ya da bir web sitesinin yeniden tasarlanmasına ihtiyaç duyulmadan her türlü dil ve ülke için uyumlu hale getirilmesini sağlar. Bir web sayfasında veya yazılımda aynı anda birden fazla dil kullanılabilir. Aynı zamanda bilgilerin çeşitli işletim sistemleri içerisinden aktarımını da sorunsuz hale getirmektedir. Unicode'un tek dezavantajı Ascii koda göre daha fazla yer kaplamasıdır.

Windows unicode ve unicode olmayan programları problemsiz çalıştırabilir. Fakat unicode olmayan programlar yazıları windows için varsayılan dilin kod sayfasına göre ekranda gösterilirler.

Delphi Prism ve Oxygene:

Delphi Prism Logo

Embarcadero, RemObjects firması ile anlaşarak .NET platformu için Delphi PRISM adında yeni bir ürünü duyurdu. Delphi Prism, diğer ürünler gibi Codegear Rad Studio içerisinde yer almayacak ve Microsoft'un Visual Studio IDE'si içinde entegre çalışan bir ürün olacak. Delphi Prism (Delphi.NET), Remobjects firmasının Oxygene Object Pascal derleyici teknolojisini kullanarak Visual Studio içerisinde çalışacak. Böylece Visual Studio içinde Object Pascal kodu yazabilme ve derleyebilme imkanı Delphi programcılarına sunulmuş oldu.

Delphi Prism ile uygulama geliştirebilmek için kullanılan bilgisayara önceden .NET Framework ve Visual Studio kurulması gerekiyor. Delphi Prism, Codegear.com sitesine kayıt olmak suretiyle 30 gün zaman kısıtlamalı olarak indirilebilmektedir.

Aşağıda Delphi Prism kurulduktan sonra Başlat menüsüne eklenen "Delphi Prism" menüsü görülmektedir. Bu menüdeki "Delphi Prism in Visual Studio 2008" seçeneğine tıklandığında Microsoft Visual Studio açılmaktadır. Delphi Prism, Visual Studio'nunun içinde yer almaktadır. Programcılar, C# veya Visual Basic.Net projesi açar gibi Oxygene Object pascal projesi açabilmekte ve her türlü çalıştırma, derleme ve kaydetme işlemlerini yapabilmektedir.

Delphi Prism Menu

Oxygene (Oksijen) ise 90'lardan beri neredeyse hiç değişmemiş olan Object Pascal diline yeni özellikler ve komutlar eklemektedir. Örneğin Procedure ve Function yerine Method kelimesi kullanılabilmektedir. Aşağıda Visual Studio giriş ekranı, Visual Studio içerisinde çalışan Delphi Prism ve Delphi Prism ile yapılmış kodlama görülmektedir. Aşağıdaki kodlar standart Object Pascal derleyicisi ile derlenip çalıştırılamaz, çalıştırmak için Oxygene derleyicisi gerekmektedir.

Delphi Prism Giris Ekrani

EMBARCADERO RAD STUDIO VE DELPHI PRISM 2010 :

Embarcadero, Rad Studio'nun yeni sürümü olan Rad Studio ve Delphi Prism 2010'u Ağustos 2009 içinde çıkardı. Rad Studio 2010, Codegear'ın Embarcadero'ya satışından sonraki çıkarılan ikinci sürüm. Rad Studio 2010, Delphi 2010 ve C++ Builder 2010 sürümlerini içeriyor.

Rad Studio'nun en önemli yenilikleri ise şunlar:

Grafiksel Arayüz uygulamaları için Windows 7 dahil bütün Windows işletim sistemlerinde dokunuş ve jest (touch and gesture) desteği
Oracle, Microsoft SQL Server, IBM DB2, Sybase, InterBase, MySQL, Firebird ve daha fazlası için dbExpress hızlı veritabanı erişim sürücüleri ve genişletilmiş DataSnap ile gelişmiş, kapsamlı veritabanı desteği
120'den fazla, yazılım geliştirici-odaklı IDE (Bütünleşik Yazılım Ortamı) üretkenlik yenilikleri

Aşağıda Rad Studio 2010 başlangıç ekranı görülmektedir:

Rad studio 2010 başlangıç ekranı

Aşağıda Rad Studio 2010 programı ana ekranı görülmektedir:

Rad studio 2010 ana ekranı


Aşağıda Rad Studio 2010 programı windows menü seçenekleri görülmektedir:

Rad studio 2010 win menü


Rad Studio 2010'daki yeniliklerden birtanesi de Delphi 7'deki Bileşen Araç Çubuğuna benzer bir araç çubuğunun eklenmesidir. Böylece daha önceden Delphi 7 ile uygulama geliştirmiş programcılar zorluk çekmeyeceklerdir. Bu araç çubuğunun eskisine göre ekstra özelliği bileşen arama yapabilmek için bir Arama kutusuna sahip olmasıdır. Bu araç cubuğu ilk kurulumda aktif halde değildir. Aktif hale getirmek için herhangi bir araç çubuğuna sağ tıklayarak gelen Araç Çubuğu Seçme diyalogundan "Component" seçeneğinin seçilmesi yeterlidir. Aşağıda Araç çubuğu ve altında diyalog görülmektedir.

Components Araç Çubuğu

Araç Çubuğu Seçme Menüsü

Devam edecek...

Sayfa Girişi
Yukarı

Veritabanı Grafik Object Pascal


Ana sayfa Bağlantılar Kaynaklar İpuçları E-Posta

Sayfada 1 ziyaretci var. Kullanıcı Ip : 38.107.191.106
Sitenin bütün sayfalarındaki bilgilerden yararlanmak ve bilgileri kullanmak tamamen serbesttir. Sitenin tek tek sayfalarını ve kendisini kopyalamak yasaktır. Tavsiye edilen ekran çözünürlüğü 1024x768 pikseldir. Tavsiye edilen tarayıcılar Internet Explorer 4.0 ve yukarısı, Firefox 1.5 ve yukarısı veya Opera 9 ve yukarısıdır.
Türk Bayrağı   Başlangıç: 23.04.2004 - Güncelleştirme: 08.03.2010 - 1.04.48 - S.DEMİRHAN.   Türk Bayrağı

Valid CSS!  Linesis web hosting  FileDen file hosting  Inndir.com   Wordpress Blog  Pardus. Özgürlük için...   320Volt.com  Delphimweb Facebook Sayfası  Delphimweb Blog Rss