You are on page 1of 81

See

discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/271941522

34 Konuda Delphi 7 Uygulama Gelistirme


Rehberi

Data · February 2015

CITATIONS READS

0 860

1 author:

Zeydin Pala
Mus Alparslan University
89 PUBLICATIONS 129 CITATIONS

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Determination electromagnetic risk factors of the Mus Alparslan University Campus View project

All content following this page was uploaded by Zeydin Pala on 08 February 2015.

The user has requested enhancement of the downloaded file.


Yazar Zeydi n Pal a
Yayınevi Türkmen Kitabevi
Bilgisayar -
Konu
Diğer
Sayfa
1272
Sayısı
Ebat 190 x 235
Barkod-
9789756392010
ISBN
Baskı İstanbul - 2003

Genel İçerik
Kategorik olarak Delphi Kontrol Elemanları, Delphi 7 ile temel programlama teknikleri, Metin giriş kontrolleri, Component Library,
Etiketler, Delphi nesne modeli, Özel bilgi giriş kontrolleri, BaseCLX kütüphanesi, Buttonlar, Standart fonksiyonlar, Hata yakalama
teknikleri, Mesaj pencereleri, Formlar ve diyalog kutuları, Delphi ile grafik programlama, Kontrol olayları, Delphi ile grafik proglamlama,
Drag&Drop, Drag&Dock, DDE&Link, DLL dosyası yazma, Windows API'leri, RAS API'leri, Sistem Tray uygulamaları, Menü ve araç
çubukları, Windows API'leri, Liste kontrolleri, Gruplandırma kontrolleri, Görüntü kontrolleri, Grid kontrolleri, Kontrol olayları, Delphi 7 ile
Veritabanı tasarımı, Grafik kontrolleri, System kontrolleri, Win 3.1 kontrolleri, BDE bileşenleri, ADO bileşenleri, Data controls bileşenleri,
SQL ile veri sorgulama, Windows'ta yazdırma teknikleri, QReport ile rapor hazırlama, RAVE bileşenleri ile rapor hazırlama, Delphi
uygulamalarını dağıtma, Web Server uygulamaları, Console uygulamaları, Denetim masası uygulamaları, Active form uygulamaları,
İnternet sunucu - İstemci uygulamaları, Indy Server, Indy Clients bileşenleri
İçindekiler

İÇİNDEKİLER
1.Kısım- 1.Bölüm
Delphi 7 IDE’ ye Bakış ............................................................................................................ 56
Delphi Nedir? ...........................................................................................................................................56
Delphi’ yi başlatın .....................................................................................................................................56
Delphi IDE(Integrated Development Environment) .......................................................................... 56
Menüler ve araç çubukları ............................................................................................................... 57
Standart Araç çubuğu ...............................................................................................................................58
View-Görünüm araç çubuğu ......................................................................................................................59
Desktop-Masaüstü araç çubukları ..............................................................................................................59
Debug Araç çubuğu ..................................................................................................................................59
İnternet Araç çubuğu .................................................................................................................................59
Component Paleti, Form ve Object İnspector penceresi.................................................................. 60
Component paleti .........................................................................................................................................60
Yeni Componentler Ekleme ...........................................................................................................................60
Component Şablonları (Template) oluşturma ..................................................................................................61
Örnek:Bileşen şablonu oluşturma ...............................................................................................................61
Form ...........................................................................................................................................................63
Yeni Formlar Ekleme.................................................................................................................................63
Object İnspector ...........................................................................................................................................63
Object TreeView ..........................................................................................................................................64
Code Editor .................................................................................................................................................64
Kod penceresi özellikleri ............................................................................................................................65
Kod tamamlama .......................................................................................................................................65
Kod parametreleri .....................................................................................................................................66
Değişken içeriklerini göster ........................................................................................................................66
Tanımlama Tooltipleri ................................................................................................................................66
Kod Şablonları..........................................................................................................................................67
Yeni kod şablonları tanımlamak .....................................................................................................................68
Class Completion .....................................................................................................................................70
Kod Browse .............................................................................................................................................71
Diagram Sayfası ............................................................................................................................. 72
Forma ait kodu gösterme ..............................................................................................................................73
Code Explorer ................................................................................................................................ 74
Project Manager ............................................................................................................................. 75
Project Browser .............................................................................................................................. 75
To –Do listeleri ............................................................................................................................... 76
Object Repository ........................................................................................................................... 77
Delphi’de Kullanılan Dosya Tipleri .................................................................................................. 78
Delphi IDE tarafından oluşturulan dosyalar ..................................................................................................79
Bölüm Özeti .................................................................................................................................... 79
Delphi 7…Zeydin PALA 2

2.Bölüm
Delphi ile Programlama ........................................................................................................... 81
Öğrenci Kayıt uygulaması ............................................................................................................... 81
 Yeni bir proje başlatın ...........................................................................................................................81
 Formun rengini değiştirin .......................................................................................................................81
 Form üzerine Component ekleyin...........................................................................................................82
 Bileşenleri hizalayın ..............................................................................................................................83
 Elemanların etiketleri değiştirin ..............................................................................................................84
 Yazı tipini değiştirin ..............................................................................................................................85
 Elemanların adlarını değiştin .................................................................................................................86
 Başlangıç seçenekleri düzenleyin ..........................................................................................................87
 Listeye eleman ekleyin..........................................................................................................................89
 Listedeki elemanları silin .......................................................................................................................90
 Programı kapatacak kodu yazın .........................................................................................................90
 Programı Çalıştırın ve test edin ..........................................................................................................90
 Çalışma zamanı hataları için önlem alın ..............................................................................................91
 Programı kaydedin ............................................................................................................................92
Hesap makinesi uygulaması ........................................................................................................... 92
 Yeni bir uygulama başlatın ....................................................................................................................92
 Formu tasarımını yapın .........................................................................................................................92
 Bileşenlerin özelliklerini değiştirin ...........................................................................................................93
 Düğmeler için program kodu yazın .........................................................................................................93
 Programı çalıştırın ................................................................................................................................94
Değişken kullanarak hesap yapma .................................................................................................................94
Başlangıç İçin Pratik Bilgiler ........................................................................................................... 95
Gerekli Yerlere Açıklama Yazın .................................................................................................................99
Bölüm Özeti .................................................................................................................................. 100

3.Bölüm
Veri Tipleri, Değişkenler ve Sabitler .......................................................................................... 101
Veri tipleri ..................................................................................................................................................101
Basit Tipler ................................................................................................................................... 102
Sıralı tipler .................................................................................................................................................102
Tamsayı tipleri ........................................................................................................................................102
Character tipler .......................................................................................................................................103
Boolean Tipler ........................................................................................................................................103
Enumerated-Sayılabilir tipler ....................................................................................................................103
Subrange-aralık sınırlı tipler .....................................................................................................................105
Örnek:Subrange tipler .............................................................................................................................105
Real-ondalıklı tipler .....................................................................................................................................105
String tipler .................................................................................................................................. 106
Null-terminated stringler ile çalışma ..........................................................................................................108
Structured-Yapısal tipler ............................................................................................................... 108
Küme Tipleri ..............................................................................................................................................108
3 İçindekiler

Örnek:Kümeler .......................................................................................................................................108
Bir küme üzerinde yapılabilecek işlemler ve operatörler ..............................................................................109
Birleşim (+) ............................................................................................................................................109
Kesişim (*) .............................................................................................................................................109
Fark (-) ..................................................................................................................................................109
Kümeler üzerinde yapılabilecek karşılaştırma işlemleri ise şunlardır. ............................................................109
Eşit (=), Eşit Değil (<>) ............................................................................................................................109
Kapsama (>=,<=)....................................................................................................................................109
İçinde Bulunma (In) .................................................................................................................................109
Örnek:İlk karakteri tespit et ......................................................................................................................109
Diziler .......................................................................................................................................................110
Statik diziler ...........................................................................................................................................110
Çok boyutlu diziler ..................................................................................................................................111
Dinamik Dizi tanımlama ...........................................................................................................................111
Örnek:Dinamik dizi ..................................................................................................................................111
Çok Boyutlu Dinamik Dizi ........................................................................................................................112
Bir diziye ilk değer atama.........................................................................................................................112
Kayıt Tipleri ...............................................................................................................................................112
Pointer kullanımı .......................................................................................................................... 114
Pointerler nasıl çalışır .................................................................................................................................114
Pointerin Barındıracağı Adres ......................................................................................................................115
Pointerin Gösterdiği Değer ..........................................................................................................................115
Örnek:Pointer 1 ......................................................................................................................................115
Örnek:Pointer 2 ......................................................................................................................................116
Örnek:Pointer 3 ......................................................................................................................................117
Örnek:Pointer 4 ......................................................................................................................................117
Örnek:Pointer 5 ......................................................................................................................................118
Örnek:Pointer 6 ......................................................................................................................................119
Örnek:Pointer 7 ......................................................................................................................................119
Örnek:Pointer 8 ......................................................................................................................................121
Örnek:Pointer 9 ......................................................................................................................................123
Örnek:Pointer 10 ....................................................................................................................................125
Prosedürel tipler ........................................................................................................................... 125
Variant tipler ................................................................................................................................. 126
Variant tip dönüşümleri ...............................................................................................................................126
OleVariant .................................................................................................................................................127
Tipler arasındaki uyumluluk.......................................................................................................... 127
Değişkenler .................................................................................................................................. 128
Değişkenin adı nasıl seçilmelidir? ................................................................................................................128
Değişkenin adresi .......................................................................................................................................128
Değişkenin tipi ...........................................................................................................................................128
Değişkenler nerede tanımlanır .....................................................................................................................129
Değişkenin içeriği .......................................................................................................................................129
Statik Değişken Tanımlama .........................................................................................................................129
Örnek:Değerini hatırlamayan değişken .....................................................................................................130
Örnek:Değerini hatırlayan değişken ..........................................................................................................131
Sabit tanımı ...............................................................................................................................................131
Sabit diziler tanımlama................................................................................................................................132
Delphi 7…Zeydin PALA 4

Örnek:üç boyutlu dizi...............................................................................................................................132


Operatörler........................................................................................................................ 133
Bölüm Özeti .................................................................................................................................. 134

4.Bölüm
Prosedür ve Fonksiyonlara Giriş ............................................................................................. 135
Prosedürler ve fonksiyonlar .........................................................................................................................135
Prosedürler .................................................................................................................................. 135
Örnek:Prosedür ......................................................................................................................................136
Prosedür çağırma .......................................................................................................................................136
Fonksiyonlar ................................................................................................................................ 138
Örnek: faktöriyel .....................................................................................................................................138
Fonksiyon çağırma .................................................................................................................................139
Örnek:Faktöriyel hesapla .........................................................................................................................139
Örnek:Kombinasyon ...............................................................................................................................140
Örnek:1000 den küçük sayıyı at ...............................................................................................................140
Örnek: basamak ayırma ..........................................................................................................................141
Örnek:İfadeyi ters çevir ...........................................................................................................................141
Geriye birden fazla değer dönmesi ...............................................................................................................142
Örnek:Reel ve ondalık kısımlar ................................................................................................................142
Prosedür ve Altprogram Bildirisi ...................................................................................................................142
Örnek: Prosedür önceliği .........................................................................................................................142
Overload fonksiyonlar .................................................................................................................................144
Varsayılan parametreli prosedür tanımlama ..................................................................................................145
Olay Altprogramları ...................................................................................................................... 145
Program Bloklarının Yapısı .................................................................................................... 146
UNIT deklarasyonu .....................................................................................................................................147
Uses deklarasyonu .....................................................................................................................................147
Class/interface deklarasyonu .......................................................................................................................147
Tanımlanan İfadelerin Geçerlilik Aralığı ..................................................................................... 150
Değişkenlerin Local veya Global’liği ............................................................................................. 150
İki Prosedürün Aynı Değişkeni Kullanması ....................................................................................................151
İki Unit’in Aynı Değişkeni Kullanması ............................................................................................................152
İki Unit’in Aynı Prosedürü Kullanması ...........................................................................................................152
Prosedürden Forma Ait Kontrolleri Kullanma .................................................................................................154
Bölüm Özeti .................................................................................................................................. 155

5.Bölüm
Karar Yapıları ve Döngüler ..................................................................................................... 157
Karar yapıları ................................................................................................................................ 157
if Yapısı .....................................................................................................................................................157
Örnek:if- Then-else .................................................................................................................................158
5 İçindekiler

Örnek:iç içe if-Then- else .........................................................................................................................158


Case Yapısı ...............................................................................................................................................158
Örnek: Case x of ....................................................................................................................................159
Döngü Deyimleri ........................................................................................................................... 159
FOR Döngüsü ............................................................................................................................................159
Örnek: Rastgele dikdörtgen çiz ................................................................................................................160
Örnek:Matris hesapla ..............................................................................................................................161
While-Do Döngüsü .....................................................................................................................................163
Örnek:Sayı topla .....................................................................................................................................164
Repeat-Until Döngüsü ................................................................................................................................165
Örnek:Şartı sağla....................................................................................................................................165
Döngü kontrol ifadeleri ................................................................................................................................165
Break ........................................................................................................................................................166
Örnek:Şart sağlanırsa çık ........................................................................................................................166
Örnek:Şart sağlanırsa çık ........................................................................................................................166
Continue ...................................................................................................................................................167
Exit ...........................................................................................................................................................167
Halt ...........................................................................................................................................................168
With-Do deyimi ..........................................................................................................................................168
Bölüm Özeti .................................................................................................................................. 169

6.Bölüm
Delphi Component Library kullanma ......................................................................................... 171
Nesneler(Objects), Bileşenler(Components) ve Kontroller(Controls) ............................................ 172
TObject dalı .................................................................................................................................. 173
TMouse .....................................................................................................................................................173
Özellikler ...................................................................................................................................................173
MousePresent ........................................................................................................................................173
Örnek:Fare varmı?..................................................................................................................................174
WheelPresent ........................................................................................................................................174
Capture .................................................................................................................................................174
CursorPos..............................................................................................................................................174
Örnek:Fareyi takip et ...............................................................................................................................174
TPrinter ........................................................................................................................................ 175
Özellikler ...................................................................................................................................................175
Orientation .............................................................................................................................................175
PageNumber ..........................................................................................................................................175
Printers ..................................................................................................................................................175
Örnek:Tanımlı yazıcıları tesbit etme..........................................................................................................175
PrinterIndex ...........................................................................................................................................176
Printing ..................................................................................................................................................177
Aborted..................................................................................................................................................177
Fonts .....................................................................................................................................................177
Canvas ..................................................................................................................................................177
Title .......................................................................................................................................................177
Metotlar .....................................................................................................................................................177
Delphi 7…Zeydin PALA 6

BeginDoc,EndDoc ..................................................................................................................................177
Abort .....................................................................................................................................................177
NewPage ...............................................................................................................................................177
Windows’ ta yazdırma teknikleri ................................................................................................... 178
Metin Yazdırma ......................................................................................................................................178
Listeleri Yazdırma ...................................................................................................................................178
Memo Kontrolünü Yazdırma ....................................................................................................................178
StringGrid Kontrolünü Yazdırma ...............................................................................................................179
Örnek:Bir belgeyi Qreport bileşenleri ile yazdırma ......................................................................................179
Formu Yazdırma ........................................................................................................................................180
Resim Yazdırma ........................................................................................................................................180
Örnek:Dosyadaki resmi yazdırma .............................................................................................................180
Örnek:Dosyadaki resmi büyüterek yazdırma ..............................................................................................181
Örnek:Dosyadaki resmi ortalayarak yazdırma ............................................................................................181
Tablo Çizme ..............................................................................................................................................181
Örnek:Tablo çiz ......................................................................................................................................181
TPersistent dalı ............................................................................................................................ 187
TClipboard.................................................................................................................................... 187
Özellikler ...................................................................................................................................................187
AsText ...................................................................................................................................................187
Metotlar .....................................................................................................................................................187
Clear .....................................................................................................................................................187
Assign ...................................................................................................................................................187
Open, Close ...........................................................................................................................................188
HasFormat(Format) ................................................................................................................................188
SetComponent(Component: TComponent) ................................................................................................188
GetComponent(Owner, Parent: TComponent): ..........................................................................................188
TComponent dalı .......................................................................................................................... 189
TApplication (Uygulamanızla ilgili özellikler) ................................................................................. 189
Özellikler ...................................................................................................................................................189
Active ....................................................................................................................................................189
EXEName ..............................................................................................................................................190
HelpFile .................................................................................................................................................190
ShowHint ...............................................................................................................................................190
Hint .......................................................................................................................................................190
HintPause ..............................................................................................................................................191
Icon .......................................................................................................................................................191
Örnek:İkon show ....................................................................................................................................191
Title .......................................................................................................................................................192
MainForm ..............................................................................................................................................192
Metotlar .....................................................................................................................................................192
HelpCommand(Command: Word; Data: Longint) .......................................................................................192
HelpContext(Context: THelpContext) ........................................................................................................193
Minimize ................................................................................................................................................193
ProcessMessages ..................................................................................................................................193
Örnek: ProcessMessages ........................................................................................................................193
Olaylar ......................................................................................................................................................194
Örnek:Sistem menüsü .............................................................................................................................195
7 İçindekiler

Örnek:Kontrol menüsü ............................................................................................................................197


Örnek: Uygulamanın birden fazla çalışmasını önleme ................................................................................197
TScreen ........................................................................................................................................ 199
Özellikler ...................................................................................................................................................199
ActiveForm ............................................................................................................................................199
Örnek:Aktif form .....................................................................................................................................199
Cursor ...................................................................................................................................................200
FormCount, Forms[index] ........................................................................................................................200
Örnek:Task Manager ..............................................................................................................................200
Fonts .....................................................................................................................................................200
Örnek:Ekran fontları ................................................................................................................................200
Height, Width .........................................................................................................................................202
PixelsPerInch .........................................................................................................................................202
Cursors[Index] ........................................................................................................................................202
Örnek:Özel kürsor ..................................................................................................................................203
TControl dalı ................................................................................................................................. 203
TWinControl-TWidgetControl........................................................................................................ 203
Delphi Nesne Modeli ........................................................................................................... 203
Nesne nedir? .............................................................................................................................................203
Bir Delphi nesnesini inceleme ......................................................................................................................204
Bileşenlerin isimlerini değiştirme ..................................................................................................................206
Miras alma.................................................................................................................................................206
Aralık ve belirleyiciler ..................................................................................................................................207
Private, Protected, Public ve Published deklarasyonları .................................................................................208
Nesnel değişkenleri kullanma ......................................................................................................................208
Nesne oluşturma ve yok etme .....................................................................................................................209
Örnek:Sınıf oluşturma ve yok etme ...........................................................................................................209
Yeni sınıflar tanımlama ................................................................................................................. 213
İnterface(arabirim) tanımlama ....................................................................................................... 213
Hiyerarşik olarak arabirimleri kullanma .........................................................................................................214
Arabirimleri prosedürler ile kullanma.............................................................................................................215
Arabirimleri yönlendirme .............................................................................................................................215
TInterfacedObject.......................................................................................................................................216
Arabirimler ve as operatörü .........................................................................................................................216
Çalışma Zamanı Kontrol Oluşturma .............................................................................................. 217
Çalışma Zamanı Kontrol Oluşturma .............................................................................................................217
Diğer Kontroller İçine Yerleştirme .................................................................................................................218
Birden Fazla Kontrolü Döngü içinde Oluşturma .............................................................................................218
Kontrolleri Yok Etme ...................................................................................................................................219
Kod Yazma ................................................................................................................................................220
Birden Fazla Kontrol İçin Aynı Olayı Kullanma ...............................................................................................222
Olayın Hangisi Tarafında Çağrıldığını Öğrenme ............................................................................................224
Örnek:Çalışma zamanında bileşen oluşturma ............................................................................................226
Örnek:Çalışma zamanında menü oluşturma ..............................................................................................227
Bölüm Özeti .................................................................................................................................. 228
Delphi 7…Zeydin PALA 8

7.Bölüm
BaseCLX kütüphanesine giriş ................................................................................................. 229
BaseCLX kütüphanesini kullanma ................................................................................................ 229
Streamleri kullanma ...................................................................................................................... 229
Okuma ve yazma için kullanılan stream metotları ..........................................................................................229
Read ve Write ........................................................................................................................................229
ReadBuffer ve WriteBuffer .......................................................................................................................230
Componentleri okuma ve yazma ..................................................................................................................230
Stringleri okuma ve yazma ..........................................................................................................................230
Bir streamden diğerine veri kopyalama .........................................................................................................231
Streamın pozisyon ve büyüklüğünü ayarlama................................................................................................232
Belirli bir pozisyonu arama .......................................................................................................................232
Position ve Size özellikleri .......................................................................................................................232
Dosyalarla çalışma ....................................................................................................................... 233
Dosya Streamleri kullanma ..........................................................................................................................233
Dosya oluşturma ve açma .......................................................................................................................233
Dosya diskte mi..........................................................................................................................................234
Dosya silme ...........................................................................................................................................234
Dosya arama .............................................................................................................................................234
Örnek:Önceki ve sonraki dosyalar ............................................................................................................236
Örnek:Dosya arama ................................................................................................................................237
Örnek:Altdizinler ile beraber ara ...............................................................................................................238
Dosya adını değiştirme ...............................................................................................................................239
Dosya uzantısını öğrenme ..........................................................................................................................240
Dosya adını öğrenme .................................................................................................................................240
Dosya yolunu öğrenme ...............................................................................................................................240
Dosyanın bulunduğu sürücüyü öğrenme .......................................................................................................240
Dosya uzantısını değiştirme ........................................................................................................................241
Dosya Tarihi ..............................................................................................................................................241
Dosya Özellikleri ........................................................................................................................................241
Sistem Registry ve Inı dosyalarla çalışma ..................................................................................... 242
TIniFile ve TMemIniFile sınıflarını kullanma ..................................................................................................242
TRegistry...................................................................................................................................................243
Registry Yapısı .......................................................................................................................................243
Registry veri tipleri ......................................................................................................................................244
Özellikler ...................................................................................................................................................244
RootKey ................................................................................................................................................244
CurrentPath ...........................................................................................................................................244
CurrentKey ............................................................................................................................................245
Metotlar .....................................................................................................................................................245
OpenKey (const Key: String; CanCreate: Boolean): Boolean .......................................................................245
OpenKeyReadOnly(const Key: String): Boolean ........................................................................................245
CloseKey ...............................................................................................................................................245
CreateKey(const Key: String): Boolean; ....................................................................................................245
DeleteKey(const Key: String): Boolean; ....................................................................................................246
GetKeyNames, GetValueNames(Strings: TStrings) ....................................................................................246
KeyExists (const Key: String): Boolean .....................................................................................................246
9 İçindekiler

ValueExists ............................................................................................................................................246
HasSubKeys: Boolean ............................................................................................................................246
ReadBool, ReadCurrency, ReadDate, ReadDateTime, ReadFloat, ReadInteger, ReadString, ReadTime, SaveKey
(altanahtar) ............................................................................................................................................246
WriteBool, WriteCurrency, WriteDate, WriteDateTime, WriteExpandString, WriteFloat, WriteInteger, WriteString,
WriteTime (AltAnahtar, Değer) .................................................................................................................247
Örnek:Form özelliklerini Registy’e kaydetme .............................................................................................247
Örnek:Registry den bilgi okuma................................................................................................................249
Örnek:Com portları okuma.......................................................................................................................250
Örnek:Windows Dizinlerini öğrenme .........................................................................................................250
Listelerle çalışma.......................................................................................................................... 251
Liste elemanları ekleme...........................................................................................................................251
Listelerden eleman silme .........................................................................................................................251
Liste elemanlarına erişme ........................................................................................................................251
Liste elemanlarını sıralama ......................................................................................................................251
String Listeler ile çalışma ............................................................................................................. 252
String listeleri kaydetme ve yükleme.............................................................................................................252
String listelere eleman ekleme .....................................................................................................................253
Kısa ömürlü string listeleri ...........................................................................................................................253
Uzun ömürlü string listeleri ..........................................................................................................................254
Örnek:Liste oluştur ve kaydet ...................................................................................................................254
Listedeki eleman sayısı bulma .....................................................................................................................255
Listedeki bir elemana ulaşma ......................................................................................................................255
Listede elemanın olup olmadığını öğrenme ...................................................................................................255
Liste elemanları arasında dolaşmak..........................................................................................................256
Araya eleman ekleme .................................................................................................................................256
Listeden eleman silme ................................................................................................................................256
Bir listeyi diğerine aktarma ..........................................................................................................................256
Standart Fonksiyonlar .......................................................................................................... 257
Matematiksel ve Lojik Fonksiyonlar .............................................................................................. 257
Yuvarlatma fonksiyonlar ..............................................................................................................................258
Floor, Ceil, Int, Frac ................................................................................................................................258
Üstel işlemler için kullanılan fonksiyonlar ......................................................................................................258
Power, IntPower, Sqr, LdExp,Exp .............................................................................................................258
Sqrt (Karekök) ...........................................................................................................................................259
Hypot (Hipotenüs) ......................................................................................................................................259
Abs (Mutlak Değer) ....................................................................................................................................260
LogN, Log2, Ln (Logaritma) .........................................................................................................................260
Pi (Pi sayısı) ..............................................................................................................................................260
Açı Dönüşümleri .........................................................................................................................................260
Örnek:Açı dönüştür .................................................................................................................................261
RadToCycle, CycleToRad (Açı Periyodu) .....................................................................................................262
Trigonometrik fonksiyonlar ..........................................................................................................................262
Ters Trigonometrik fonksiyonlar ...................................................................................................................263
Hyperbolik fonksiyonlar ...............................................................................................................................263
Ters Hyperbolik Fonksiyonlar ......................................................................................................................264
Poly (Polinom fonksiyonları) ........................................................................................................................264
Shl, Shr (Bitleri Sola ve Sağa Kaydırma) .......................................................................................................265
Delphi 7…Zeydin PALA 10

Örnek:Taban değiştirme ..........................................................................................................................265


Dec, Inc (Artırma ve Azaltma) ......................................................................................................................266
Mod (Bölmede Kalan) .................................................................................................................................266
Dizi toplamı ve Ortalama alma .....................................................................................................................267
Sum, SumOfSquares, SumsAndSquares, Mean ........................................................................................267
En büyük ve En küçük değer .......................................................................................................................267
MinValue, MinIntValue, MaxValue, MaxIntValue ........................................................................................267
Yüksek ve Düşük Seviyeli Byte ....................................................................................................................268
Hi, Lo ....................................................................................................................................................268
High, Low (Üst ve Alt Sınırlar) .....................................................................................................................268
Örnek:Eleman indisini bul ........................................................................................................................269
Rasgele Sayı Üretim Fonksiyonları ............................................................................................... 269
Random ....................................................................................................................................................269
Randomize ................................................................................................................................................270
Örnek:Sayı oyunu ...................................................................................................................................270
Tip değiştirme fonksiyonları ......................................................................................................... 271
Sayıları Stringe Çevirme .............................................................................................................................271
IntToStr( Sayı ) .......................................................................................................................................271
IntToHex(Sayi,basamaksayısı) .................................................................................................................271
FloatToStr( Sayı ), CurrToStr( Sayı ) .........................................................................................................271
FloatToStrF(Sayi, Format, Hassasiyet, Ondalik).........................................................................................272
Format...................................................................................................................................................272
FormatFloat(Format, Sayi) .......................................................................................................................272
Örnek:Basamak ayırma ...........................................................................................................................273
Chr(Asciikodu) ........................................................................................................................................273
Stringleri Sayıya Çevirme ............................................................................................................................274
StrToInt (Str) ..........................................................................................................................................274
StrToIntDef (Str, Varsayılan) ....................................................................................................................274
StrToFloat (StrSayi) ................................................................................................................................274
Val(String, Sayi, Durum) ..........................................................................................................................274
Ord(karakter)..........................................................................................................................................275
Örnek:Basılan tuşun ASCII kodunu bul .....................................................................................................275
String İşlemleri ............................................................................................................................. 275
Karakter doldurma ......................................................................................................................................275
FillChar (str, adet, karakter) .....................................................................................................................275
StringOfChar(karakter, adet) ....................................................................................................................276
DupeString(String,Adet) ..........................................................................................................................276
Karşılaştırma .............................................................................................................................................276
AnsiCompareText(s1,s2), AnsiCompareStr(s1,s2) .....................................................................................276
Büyük/küçük harfe çevirme .........................................................................................................................277
AnsiUpperCase (str) ...............................................................................................................................277
AnsiLowerCase (str) ...............................................................................................................................277
Upcase (karakter) ...................................................................................................................................277
Ekleme ......................................................................................................................................................277
AppendStr(s1,s2) ....................................................................................................................................277
Concat (s1[,s2,s3,.....sN]) ........................................................................................................................277
String Parçalama........................................................................................................................................278
Copy(str, baslangıç, adet) ........................................................................................................................278
LeftStr(String,Adet) .................................................................................................................................278
11 İçindekiler

RightStr(String,Adet) ...............................................................................................................................278
MidStr(String,Başlangıç,Adet) ..................................................................................................................278
Örnek:Kayan yazı ...................................................................................................................................278
Ters Çevirme .............................................................................................................................................278
ReverseString(String) ..............................................................................................................................279
Silme ........................................................................................................................................................279
Delete(str, baslangıç, adet) ......................................................................................................................279
Araya Ekleme ............................................................................................................................................279
Insert(str1,str2,baslangıç) ........................................................................................................................279
StuffString(Str1,yer,adet,str2); ..................................................................................................................279
Arama .......................................................................................................................................................279
Pos(str1,str2) .........................................................................................................................................279
Örnek:Büyük-küçük.................................................................................................................................280
AnsiContainsStr(Str1,Str2), AnsiContainsText(Str1,Str2) ............................................................................280
Length (Uzunluğunu Bulma) ........................................................................................................................281
Length(str) .............................................................................................................................................281
Değiştirme .................................................................................................................................................281
AnsiReplaceText, AnsiReplaceStr(Str1,Str2;Str3) ......................................................................................281
Trim, TrimLeft, TrimRight (Boşlukları Atma) ..................................................................................................281
Trim (Str) ...............................................................................................................................................281
TrimLeft (Str) ..........................................................................................................................................281
TrimRight (Str)........................................................................................................................................281
String Formatlama ......................................................................................................................................281
Format(FormatMetni, Parametreler)..........................................................................................................281
Örnek:Formatlı çıkış................................................................................................................................282
Tarih ve Zaman Fonksiyonları ....................................................................................................... 283
Date (Tarih) ...............................................................................................................................................283
Date ......................................................................................................................................................284
Örnek:Tarih ............................................................................................................................................284
Time (Saat) ...............................................................................................................................................284
Time ......................................................................................................................................................284
Örnek:saat ayarla ...................................................................................................................................284
Now (Tarih ve Saat)....................................................................................................................................285
Now ......................................................................................................................................................285
DayOfWeek (Haftanın günü) .......................................................................................................................285
DayOfWeek(DTarih) ...............................................................................................................................285
Örnek:Gün bul ........................................................................................................................................285
Tarih Dönüşümleri ......................................................................................................................................285
DateToStr(DTarih) ..................................................................................................................................286
TimeToStr(DSaat)...................................................................................................................................286
DateTimeToStr(DTarihSaat) ....................................................................................................................286
StrToDate(STarih) ..................................................................................................................................286
StrToTime(SSaat) ...................................................................................................................................286
StrToDateTime(STarihSaat) ....................................................................................................................286
EncodeDate(Yıl, Ay, Gün) .......................................................................................................................286
EncodeTime(Saat, Dakika, Saniye, MiliSaniye) ..........................................................................................286
DecodeDate(DTarih,Yıl, Ay, Gün) .............................................................................................................286
DecodeTime(DSaat,Saat,Dakika, Saniye, MiliSaniye) ................................................................................286
DateTimeToSystemTime(DTarihSaat;var SystemTime:TSystemTime) .........................................................287
ÖRNEK: Tarih-saat ayarı .........................................................................................................................287
Delphi 7…Zeydin PALA 12

IsLeapYear (Artık Yılmı) ..........................................................................................................................287


IncMonth, IncDay (Artırma) ......................................................................................................................288
DaysInAMonth(Yıl, Ay) ............................................................................................................................288
DaysInAYear(Yıl) ....................................................................................................................................289
FormatDateTime (Tarih Formatlama) ...........................................................................................................289
FormatDateTime(Format, DtarihSaat) .......................................................................................................289
Örnek:Tarih farkı ....................................................................................................................................290
Örnek:Tarih karşılaştırma ........................................................................................................................291
Örnek:Zaman farkı ..................................................................................................................................291
Dizin ve Dosya Yönetim Fonksiyonları .......................................................................................... 292
DiskFree(DiskNo) ...................................................................................................................................292
Örnek:Boş disk alanı ...............................................................................................................................292
DiskSize(DiskNo) ....................................................................................................................................293
Örnek:Sürücü bulma ...............................................................................................................................293
Dosya Silme ..............................................................................................................................................294
DeleteFile(dosya) ...................................................................................................................................294
Aktif Dizini Öğrenme ...................................................................................................................................294
Son Disk İşleminin Durumu .........................................................................................................................294
IOResult ................................................................................................................................................294
Yeni Dizin oluşturma ...................................................................................................................................295
MkDir (dizin) ...........................................................................................................................................295
CreateDir (dizin) .....................................................................................................................................295
ForceDirectories(Dizin) ............................................................................................................................295
Dizin Değiştirme .........................................................................................................................................295
ChDir(Dizin) ...........................................................................................................................................295
SetCurrentDir (dizin) ...............................................................................................................................295
RmDir, RemoveDir (Dizin Silme) ..................................................................................................................295
RmDir (dizin) ..........................................................................................................................................295
RemoveDir (dizin) ...................................................................................................................................296
GetCurrentDir (Aktif Dizin) ...........................................................................................................................296
GetCurrentDir .........................................................................................................................................296
DirectoryExists (Dizin Varmı) .......................................................................................................................296
DirectoryExists(Dizin) ..............................................................................................................................296
SelectDirectory (Dizin Seçme) .....................................................................................................................296
FileExists (Dosya Varmı) .............................................................................................................................297
FileExists(dosya) ....................................................................................................................................297
Ölçü Dönüşüm Fonksiyonları ....................................................................................................... 298
Ölçü Dönüşümü .........................................................................................................................................298
Tanımlanmış Mesafe ölçü birimleri ...........................................................................................................298
Örnek: Bir Feet kaç metre ........................................................................................................................298
Tanımlanmış Alan ölçü birimleri................................................................................................................298
Örnek:Bir hektar kaç metre ......................................................................................................................299
Tanımlanmış Hacim ölçü birimleri .............................................................................................................299
Örnek:Bir galon kaç litre ..........................................................................................................................299
Tanımlanmış Ağırlık ölçü birimleri .............................................................................................................300
Örnek:Bir ton kaç pound ..........................................................................................................................300
Tanımlanmış Sıcaklık ölçü birimleri ...........................................................................................................300
Örnek:Bir derece kaç kelvin .....................................................................................................................300
Tanımlanmış Zaman ölçü birimleri ............................................................................................................301
Örnek:Bir gün kaç saniye.........................................................................................................................301
13 İçindekiler

Convert(Deger,OlcuBiriminden1,OlcuBiriminden2,OlcuBirimine1,OlcuBirimine2) ...........................................301
Farklı Ölçü Birimleriyle İşlem Yapma ............................................................................................................301
ConvUnitAdd(Değer1; ÖlçüBirimi; Değer2; ÖlçüBirimi, SonuçBirimi) ............................................................302
ConvUnitDiff(Değer1; ÖlçüBirimi; Değer2; ÖlçüBirimi, SonuçBirimi) .............................................................302
ConvUnitCompareValue(Değer1; ÖlçüBirimi; Değer2; ÖlçüBirimi, SonuçBirimi) ............................................302
Komut Satırı Parametreleri............................................................................................................ 302
ParamCount (Parametre Sayısı) ..................................................................................................................302
ParamCount ...........................................................................................................................................302
ParamStr (Parametre İçeriği) .......................................................................................................................302
ParamStr(ParametreNo) ..........................................................................................................................303
Bölüm Özeti .................................................................................................................................. 304

8.Bölüm
Hata Yakalama ................................................................................................................... 305
try – except ................................................................................................................................................305
Örnek:Hata yakalama .............................................................................................................................306
Örnek:Hata yakalama .............................................................................................................................308
try – finally .................................................................................................................................................308
Örnek:Hata giderme ................................................................................................................................308
OnException(Sender: TObject; E: Exception) ................................................................................................309

TApplicationEvents .............................................................................................................. 310


Olayları .....................................................................................................................................................310
Örnek:Mesaj ekle....................................................................................................................................313
OnActivate, OnDeactivate .......................................................................................................................314
Örnek:Program simge durmunda iken bilgi ver...........................................................................................315
Bölüm Özeti .................................................................................................................................. 315

2.Kısım-9.Bölüm
Mesaj Pencereleri ve Bilgi Giriş kutuları ..................................................................................... 318
Delphi Mesaj Pencereleri .............................................................................................................. 318
ShowMessage ...........................................................................................................................................318
ShowMessagePos......................................................................................................................................319
MessageDlg Fonksiyonu .............................................................................................................................319
Örnek:Çıkarken sor .................................................................................................................................321
Örnek:Eleman ekle .................................................................................................................................321
Windows Mesaj Pencereleri .......................................................................................................... 324
Örnek: Çıkmadan önce sor ......................................................................................................................326
Bilgi Giriş Pencereleri ................................................................................................................... 327
InputBox Fonksiyonu ..................................................................................................................................327
Örnek: Not gir .........................................................................................................................................327
InputQuery Fonksiyonu ..............................................................................................................................328
Örnek:Özel mesaj penceresi ....................................................................................................................329
Delphi 7…Zeydin PALA 14

Bölüm Özeti .................................................................................................................................. 329

10.Bölüm
Formlarla Çalışma ............................................................................................................... 331
SDI Formlar .................................................................................................................................. 332
Form özellikleri...........................................................................................................................................333
Caption ..................................................................................................................................................333
FormStyle ..............................................................................................................................................333
AutoScroll ..............................................................................................................................................333
BorderStyle ............................................................................................................................................333
Örnek:Transparen form ...........................................................................................................................334
AlphaBlend, AlphaBlendValue .................................................................................................................335
TransparentColor, TransparentColorValue ................................................................................................336
BorderIcons ...........................................................................................................................................336
Position .................................................................................................................................................337
WindowState ..........................................................................................................................................337
Örnek:Başlığı kaydır ...............................................................................................................................338
Active ....................................................................................................................................................338
ActiveControl..........................................................................................................................................338
Örnek:Yardım et .....................................................................................................................................338
ClientHeight, ClientWidth, ClientOrigin, ClientRect .....................................................................................338
Örnek:Oynayan top .................................................................................................................................339
Icon .......................................................................................................................................................339
Örnek:İkonları göster...............................................................................................................................339
KeyPreview ............................................................................................................................................340
Örnek:Boyut değiştir ...............................................................................................................................340
PrintScale ..............................................................................................................................................340
ControlCount,Controls[Index] ...................................................................................................................341
Örnek:Kontrolleri pasif yap .......................................................................................................................341
ComponentCount, Components[Index] .....................................................................................................341
Örnek:Kontrolleri test et ...........................................................................................................................341
Canvas ..................................................................................................................................................342
Form metotları ...........................................................................................................................................342
Close.....................................................................................................................................................342
Print ......................................................................................................................................................342
GetFormImage .......................................................................................................................................342
ShowModal ............................................................................................................................................342
ScrollInView ...........................................................................................................................................342
Form Olayları .............................................................................................................................................343
Örnek:OnClose ......................................................................................................................................344
Örnek:Kontrolleri boyutlandır ...................................................................................................................344
Açılış Formu Düzenleme .............................................................................................................................345
MDI Formlar .................................................................................................................................. 348
Örnek:MDI form tasarımı .........................................................................................................................349
MDI form özellikleri .....................................................................................................................................350
MDIChildCount,MDIChildren[Index] ..........................................................................................................350
ActiveMDIChild .......................................................................................................................................351
TileMode................................................................................................................................................352
15 İçindekiler

WindowMenu .........................................................................................................................................352
Metotlar .....................................................................................................................................................353
ArrangeIcons, Tile, Cascade ....................................................................................................................353
Yatay döşe .............................................................................................................................................354
Dikey döşe .............................................................................................................................................354
Basamakla .............................................................................................................................................355
Simgeleri yerleştir ...................................................................................................................................355
Next, Previous ........................................................................................................................................356
MDI form olayları ........................................................................................................................................356
MDI form ve Child form menüleri ..................................................................................................................356
Wizard Kullanarak MDI Form Oluşturmak .....................................................................................................358
Hazır Formlar ................................................................................................................................ 363
Bir formun kopyasını alma ............................................................................................................ 368

TFrame ile form şablonları hazırlama ................................................................................... 369


Diyalog Kutuları .................................................................................................................. 372

TOpenDialog (Dosya Aç Penceresi) ....................................................................................... 373


Özellikleri ..................................................................................................................................................373
FileName ...............................................................................................................................................373
Örnek:Dosya aç......................................................................................................................................373
Files ......................................................................................................................................................374
Örnek:Slayt gösterici ...............................................................................................................................374
Filter ......................................................................................................................................................376
FilterIndex ..............................................................................................................................................377
DefaultExt ..............................................................................................................................................377
FileEditStyle ...........................................................................................................................................377
HistoryList ..............................................................................................................................................377
InitialDir .................................................................................................................................................377
Options ..................................................................................................................................................378
OptionsEx ..............................................................................................................................................379
Title .......................................................................................................................................................379
Metotları ....................................................................................................................................................379
Execute .................................................................................................................................................379

TSaveDialog (Dosya Kaydet Penceresi) ................................................................................. 379


Örnek:Kaydet .........................................................................................................................................380

TOpenPictureDialog(Resim Açma Penceresi) ........................................................................ 381

TSavePictureDialog(Resim Kaydet Penceresi) ........................................................................ 382

TFontDialog(Font Seçme Penceresi) ...................................................................................... 383


Özellikler ...................................................................................................................................................383
Device ...................................................................................................................................................383
Font ......................................................................................................................................................383
MaxFontSize,MinFontSize .......................................................................................................................383
Options ..................................................................................................................................................383
Delphi 7…Zeydin PALA 16

Olaylar ......................................................................................................................................................384
OnApply ................................................................................................................................................384
Örnek:Fontlar .........................................................................................................................................384

TColorDialog (Renk Seçme Penceresi) .................................................................................. 385


Özellikler ...................................................................................................................................................385
Color .....................................................................................................................................................385
Örnek:Renk değiştir ................................................................................................................................386
Options ..................................................................................................................................................386

TPrintDialog (Yazdır Penceresi) ............................................................................................. 386


Özellikler ...................................................................................................................................................387
Collate ...................................................................................................................................................387
Copies ...................................................................................................................................................387
MaxPage ...............................................................................................................................................387
MinPage ................................................................................................................................................387
PrintRange .............................................................................................................................................387
FromPage,ToPage .................................................................................................................................388
Options ..................................................................................................................................................388
Örnek:Listeyi yazdır ................................................................................................................................388

TPrinterSetupDialog (Yazıcı Ayarları Penceresi)..................................................................... 391

TFindDialog (Bul Penceresi) .................................................................................................. 392


Özellikler ...................................................................................................................................................392
FindText ................................................................................................................................................392
Options ..................................................................................................................................................392
Position .................................................................................................................................................393
Metotlar .....................................................................................................................................................393
Execute .................................................................................................................................................393
CloseDialog ...........................................................................................................................................393
Olaylar ......................................................................................................................................................393
Örnek:Metin arama .................................................................................................................................393

TReplaceDialog(Değiştir Penceresi) ...................................................................................... 397


Özellikler ...................................................................................................................................................397
FindText ................................................................................................................................................397
ReplaceText ...........................................................................................................................................397
Options ..................................................................................................................................................397
Olaylar ......................................................................................................................................................397
Örnek:Bulma ve değiştime .......................................................................................................................397
Bölüm Özeti .................................................................................................................................. 402

11.Bölüm
Kontrol Elemanlarına Ait Olaylar.............................................................................................. 403
Özellikler, Metotlar ve olaylar ........................................................................................................ 403
Özellikler(Properties) ..................................................................................................................................403
Metotlar(Methods) ......................................................................................................................................404
17 İçindekiler

Olaylar(Events) ..........................................................................................................................................404
Kullanıcı olayları .....................................................................................................................................404
Sistem olayları........................................................................................................................................404
Uygulama olayları ..................................................................................................................................404
Olaylar nasıl kullanılır ..............................................................................................................................404
Kullanıcı tarafından tetiklenen olaylar ...........................................................................................................405
Örnek:OnClick-OnDblClick ......................................................................................................................405
Örnek:Hangi fare tuşu tıklandı ..................................................................................................................405
Örnek:Bilgi ver........................................................................................................................................406
Örnek: MouseDown,MouseUp .................................................................................................................407
Örnek:Mouse ile şekil çizme ....................................................................................................................408
Program tarafından otomatik olarak tetiklenen olaylar ....................................................................................409
Örnek:Anında hesapla.............................................................................................................................409
Örnek: Birbirini çağıran change olayları .....................................................................................................410
Örnek:Enter,Exit .....................................................................................................................................411
Klavye olayları ...........................................................................................................................................412
Örnek:Sadece rakam girilsin ....................................................................................................................412
Örnek:Edit kutuları arasında Enter tuşu ile dolaşma ...................................................................................413
Örnek:Hangi tuşlar basılı .........................................................................................................................414
Örnek:Ctrl+yön,Alt+yön ...........................................................................................................................414
Örnek:Tuş basılı mı.................................................................................................................................415
Örnek:Olayların meydana geliş sırası .......................................................................................................415
Birden fazla bileşen için ortak kod kullanma ................................................................................. 416
Örnek:Hesap makinesi ............................................................................................................................419
Bölüm Özeti .................................................................................................................................. 421

12.Bölüm
Delphi Kontrol Elemanları ...................................................................................................... 423
Metin Giriş Kontrolleri................................................................................................................... 423

TEdit (Metin Kutusu)............................................................................................................. 423


Özellikler ...................................................................................................................................................424
Text.......................................................................................................................................................424
Örnek:Dört işlem ....................................................................................................................................424
Örnek:Para içinde miktar bul ....................................................................................................................426
CharCase ..............................................................................................................................................427
Font ......................................................................................................................................................428
Örnek:Metin biçimlendir ...........................................................................................................................429
PasswordChar ........................................................................................................................................430
AutoSize ................................................................................................................................................431
Anchors .................................................................................................................................................432
Constraints ............................................................................................................................................432
AutoSelect .............................................................................................................................................433
MaxLength .............................................................................................................................................433
ReadOnly ..............................................................................................................................................433
Örnek:İzinli giriş ......................................................................................................................................434
Modified.................................................................................................................................................436
Delphi 7…Zeydin PALA 18

Örnek:Değişiklikleri algıla ........................................................................................................................436


Left, Top, Width, Height ...........................................................................................................................436
Örnek:Kutunun boyutlarını değiştir............................................................................................................436
Align ......................................................................................................................................................437
Örnek:Kutuyu hizala ................................................................................................................................437
Visible ...................................................................................................................................................438
Showing ................................................................................................................................................438
Enabled .................................................................................................................................................439
BorderStyle ............................................................................................................................................439
Hint, ShowHint .......................................................................................................................................440
Örnek:Hint .............................................................................................................................................440
Örnek:Çok satırlı Hint ..............................................................................................................................441
Name ....................................................................................................................................................441
TabStop .................................................................................................................................................441
TabOrder ...............................................................................................................................................442
TabOrder özelliğini kolay bir şekilde ayarlama ...........................................................................................442
Color .....................................................................................................................................................443
SelStart, SelLength, SelText ....................................................................................................................444
Örnek:Metin seç .....................................................................................................................................445
Örnek:Büyük-küçük harfe dönüştür ...........................................................................................................445
Ctl3D .....................................................................................................................................................446
ComponentIndex ....................................................................................................................................446
Cursor ...................................................................................................................................................446
Örnek:Fare görünümleri ..........................................................................................................................446
DragCursor, DragMode ...........................................................................................................................448
HelpContext ...........................................................................................................................................448
Owner ...................................................................................................................................................448
Parent ...................................................................................................................................................449
Örnek:Parent değiştirme ..........................................................................................................................449
ParentColor............................................................................................................................................450
ParentCtl3D ...........................................................................................................................................450
ParentFont .............................................................................................................................................450
ParentShowHint .....................................................................................................................................450
PopupMenu ...........................................................................................................................................451
Tag .......................................................................................................................................................451
Örnek:başla-durdur .................................................................................................................................451
Metotlar .....................................................................................................................................................452
Show, Hide ............................................................................................................................................452
SetFocus ...............................................................................................................................................452
Örnek:Geçerli ifade gir ............................................................................................................................452
CanFocus ..............................................................................................................................................453
Focused ................................................................................................................................................453
Clear, ClearSelection ..............................................................................................................................453
SelectAll ................................................................................................................................................454
GetTextLen ............................................................................................................................................454
CopyToClipboard, CutToClipboard, PasteFromClipboard ...........................................................................454
Örnek:Kesme, kopyalama, yapıştırma ......................................................................................................454
SetSelTextBuf(Metin:PChar) ....................................................................................................................455
GetSelTextBuf(Buffer: PChar; BufSize: Integer) .........................................................................................455
BringToFront, SendToBack .....................................................................................................................456
Örnek:Nesneyi öne yada arkaya alma ......................................................................................................456
19 İçindekiler

SetBounds(Sol, Üst, Genişlik, Yükseklik) ..................................................................................................457


ClientToScreen(Koordinat: TPoint) ...........................................................................................................457
Örnek:Form koordinatları .........................................................................................................................457
ScaleBy(Çarpan, Bölen) ..........................................................................................................................458
Örnek:Nesneleri büyütüp-küçültme ...........................................................................................................458
Örnek:Ekran çözünürlüğüne göre boyutlandır ............................................................................................459
FindComponent(ComponentAdi) ..............................................................................................................460
RemoveComponent(ComponentAdi: TComponent) ....................................................................................460
Free ......................................................................................................................................................460
Refresh..................................................................................................................................................460
Örnek:Refresh ........................................................................................................................................460
Repaint ..................................................................................................................................................461
Update ..................................................................................................................................................461
Perform .................................................................................................................................................461
Örnek:Değişikliği geri al ...........................................................................................................................461

TLabeledEdit (Etiketi Olan Edit) ........................................................................................... 461


Özellikler ...................................................................................................................................................462
LabelPosition .........................................................................................................................................462
LabelSpacing .........................................................................................................................................462
Text.......................................................................................................................................................462
EditLabel ...............................................................................................................................................462

TMemo (Çok satırlı bilgi giriş kutusu) .................................................................................... 463


Özellikler ...................................................................................................................................................463
Alignment ..............................................................................................................................................463
Örnek:Metni hizala ..................................................................................................................................463
Lines .....................................................................................................................................................464
Lines.Count............................................................................................................................................464
Lines.Strings[SatirNo] .............................................................................................................................464
Lines.Add(Satır) .....................................................................................................................................464
Insert(SatirNo,Satir) ................................................................................................................................464
Lines.Assign(TStrings) ............................................................................................................................464
Lines.Values[Anahtar] .............................................................................................................................465
Lines.ExChange(Satir1,Satir2) .................................................................................................................465
Lines.Move(Index,YeniIndex) ...................................................................................................................465
Lines.IndexOf(Satır) ................................................................................................................................465
Lines.LoadFromFile(DosyaAdı) ................................................................................................................466
Lines.SaveToFile(DosyaAdı) ...................................................................................................................466
Örnek: Dosya içeriklerini oku ...................................................................................................................466
WantReturns ..........................................................................................................................................468
WantTabs ..............................................................................................................................................469
WordWrap .............................................................................................................................................469
ScrollBars ..............................................................................................................................................469
Metotlar .....................................................................................................................................................469
ScrollBy(DeltaX, DeltaY) .........................................................................................................................469

TRichEdit ............................................................................................................................... 470


Özellikler ...................................................................................................................................................470
Delphi 7…Zeydin PALA 20

Lines .....................................................................................................................................................470
PlainText ...............................................................................................................................................470
SelAttributes ..........................................................................................................................................470
PageRect ...............................................................................................................................................470
Paragraph ..............................................................................................................................................470
Paragraph.Alignment ..............................................................................................................................470
Paragraph.FirstIndent, Paragraph.LeftIndent, Paragraph.RightIndent ..........................................................471
Paragraph.Numbering .............................................................................................................................471
HideScrollBars .......................................................................................................................................471
Metotlar .....................................................................................................................................................472
Print(Başlık) ...........................................................................................................................................472
FindText(Aranan, Baslangıç, Uzunluk, Options) .........................................................................................472
Örnek:Seçili bölgede metin arama ............................................................................................................472
Örnek:RichEdit ile Editör tasarlama ..........................................................................................................472

TMaskEdit(Formatlı bilgi giriş kutusu) .................................................................................. 477


Özellikler ...................................................................................................................................................477
EditMask................................................................................................................................................477
IsMasked ...............................................................................................................................................479
EditText, Text .........................................................................................................................................479
Etiketler ........................................................................................................................................ 479

TLabel (Etiket) ...................................................................................................................... 479


Özellikler ...................................................................................................................................................479
Caption ..................................................................................................................................................479
ShowAccelChar ......................................................................................................................................480
FocusControl..........................................................................................................................................480
AutoSize ................................................................................................................................................480
Alignment ..............................................................................................................................................481
Layout ...................................................................................................................................................481
WordWrap .............................................................................................................................................482
Transparent ...........................................................................................................................................482
Özel Bilgi Giriş Kontrolleri ............................................................................................................ 482

TScrollBar (Kaydırma Çubuğu) .............................................................................................. 482


Özellikler ...................................................................................................................................................483
Kind ......................................................................................................................................................483
Min,Max.................................................................................................................................................483
Position .................................................................................................................................................483
LargeChange .........................................................................................................................................484
SmallChange .........................................................................................................................................484
Metotlar .....................................................................................................................................................484
SetParams(APosition, AMin, AMax):.........................................................................................................484
Olaylar ......................................................................................................................................................485
Örnek:Renk değiştir ................................................................................................................................485

TTrackBar ........................................................................................................................... 486


21 İçindekiler

Özellikler ...................................................................................................................................................486
Orientation .............................................................................................................................................486
Max,Min.................................................................................................................................................487
PageSize ...............................................................................................................................................487
LineSize ................................................................................................................................................487
Position .................................................................................................................................................487
SelStart .................................................................................................................................................487
SelEnd ..................................................................................................................................................487
TickMarks ..............................................................................................................................................487
TickStyle ................................................................................................................................................487
Olaylar ......................................................................................................................................................488
Örnek:TrackBar ile form boyutlandırma .....................................................................................................488
Örnek:TrackBar ile resim büyütme ve küçültme .........................................................................................489

TUpDown.............................................................................................................................. 490
Özellikler ...................................................................................................................................................490
Min,Max.................................................................................................................................................490
Orientation .............................................................................................................................................490
Position .................................................................................................................................................490
Örnek:Updown .......................................................................................................................................490

THotKey(Kısayol Giriş Kutusu) ............................................................................................. 491


Özellikler ...................................................................................................................................................492
Modifiers ................................................................................................................................................492
InvalidKeys ............................................................................................................................................492
HotKey ..................................................................................................................................................492
Örnek:Kısayol ayarlama ..........................................................................................................................492

TSpinEdit ............................................................................................................................. 494


Özellikler ...................................................................................................................................................494
EditorEnabled ........................................................................................................................................494
Increment ..............................................................................................................................................494
MaxValue, MinValue ...............................................................................................................................494
MaxLength .............................................................................................................................................494
ReadOnly ..............................................................................................................................................494
Value.....................................................................................................................................................494
Olaylar ......................................................................................................................................................494
Örnek:SpinEdit .......................................................................................................................................494

TSpinButton ............................................................................................................................. 495


Özellikler ...................................................................................................................................................495
DownGlyph, UpGlyph ..............................................................................................................................495
FocusControl..........................................................................................................................................495
Olaylar ......................................................................................................................................................495
Örnek:SpinButton ...................................................................................................................................495
Buttonlar ve benzer kontroller ...................................................................................................... 496

TButton (Komut Düğmesi) ................................................................................................... 497


Delphi 7…Zeydin PALA 22

Özellikler ...................................................................................................................................................497
Enabled .................................................................................................................................................497
Cancel ...................................................................................................................................................498
Default...................................................................................................................................................498
Örnek:Düğme yerine Enter kullanma ........................................................................................................498
ModalResult ...........................................................................................................................................499
Örnek:ModalResult .................................................................................................................................499
Olaylar ......................................................................................................................................................501

TBitBtn (Resimli Komut Düğmesi) ........................................................................................ 501


Özellikler ...................................................................................................................................................501
Kind ......................................................................................................................................................501
Glyph ....................................................................................................................................................502
NumGlyph..............................................................................................................................................502
Layout ...................................................................................................................................................503
Spacing .................................................................................................................................................503
Margin ...................................................................................................................................................503

TSpeedButton ...................................................................................................................... 503


Özellikler ...................................................................................................................................................503
GroupIndex ............................................................................................................................................503
AllowAllUp .............................................................................................................................................504
Down.....................................................................................................................................................504
Flat .......................................................................................................................................................504
Örnek:Kelime işlemci ..............................................................................................................................504

TRadioButton (Seçenek Kutusu) ........................................................................................... 507


Özellikler ...................................................................................................................................................508
Checked ................................................................................................................................................508
Örnek:Metni hizalayın .............................................................................................................................508
Örnek:RadiButton ...................................................................................................................................509

TCheckBox (İşaret Kutusu) ................................................................................................... 510


Özellikler ...................................................................................................................................................510
Checked ................................................................................................................................................510
State .....................................................................................................................................................511
AllowGrayed ..........................................................................................................................................511
Alignment ..............................................................................................................................................511
Olaylar ......................................................................................................................................................511
Örnek:CheckBox ....................................................................................................................................511
Örnek:KDV hesapla ................................................................................................................................513
Liste Kontrolleri ............................................................................................................................ 513

TListBox (Liste Kutusu) ........................................................................................................ 514


Özellikler ...................................................................................................................................................514
Items .....................................................................................................................................................514
Items.Add(Eleman) .................................................................................................................................515
23 İçindekiler

Items.Insert(SatirNo,Eleman) ...................................................................................................................515
Items.Count ...........................................................................................................................................516
Items.Delete(Index).................................................................................................................................516
Items.Strings[ElemanNo] .........................................................................................................................516
Items.ExChange(Eleman1,Eleman2) ........................................................................................................516
Items.Move(Index,YeniIndex) ...................................................................................................................517
Örnek:Eleman taşı ..................................................................................................................................517
Items.IndexOf(Eleman) ...........................................................................................................................518
Örnek:Eleman listede mi? ........................................................................................................................518
Items.SaveToFile(DosyaAdı) ...................................................................................................................519
Items.LoadFromFile(DosyaAdı) ................................................................................................................519
Items.ItemIndex ......................................................................................................................................519
Örnek: Listelerin kullanımı .......................................................................................................................519
TopIndex ...............................................................................................................................................523
Örnek:Borç-alacak-bakiye .......................................................................................................................524
Sorted ...................................................................................................................................................525
Örnek:Sayı sıralama ...............................................................................................................................526
Columns ................................................................................................................................................527
MultiSelect .............................................................................................................................................528
SelCount,Selected[Index] ........................................................................................................................528
ExtendedSelect ......................................................................................................................................528
Style ......................................................................................................................................................528
ItemHeight .............................................................................................................................................528
ScrollWidth ............................................................................................................................................528
Metotlar .....................................................................................................................................................529
Clear .....................................................................................................................................................529
ItemAtPos(Pos: TPoint; Existing: Boolean) ................................................................................................529
Örnek:Ortadaki elemanı bul .....................................................................................................................529

TComboBox (Aşağı Doğru Açılan Liste) ................................................................................ 529


Özellikler ...................................................................................................................................................529
Style ......................................................................................................................................................529
DropDownCount .....................................................................................................................................530
MaxLength .............................................................................................................................................530
Text.......................................................................................................................................................530
Olaylar ......................................................................................................................................................531
Örnek:ComboBox ...................................................................................................................................531
Örnek:Kutuları otomatik olarak açma ........................................................................................................532
Örnek:Renkli ComboBox .........................................................................................................................532

TComboBoxEx ..................................................................................................................... 533


Özellikler ...................................................................................................................................................534
ItemsEx .................................................................................................................................................534

TCheckListBox ..................................................................................................................... 536


Özellikler ...................................................................................................................................................537
Checked[Index] ......................................................................................................................................537
State[Index]............................................................................................................................................537
Örnek:İşaretli elemanları aktar .................................................................................................................537
Delphi 7…Zeydin PALA 24

Selected[Index] ......................................................................................................................................538
Örnek:Seçilen ürünlerin fiyatlarını hesapla.................................................................................................538

ValueListEditor ..................................................................................................................... 541

TListView .............................................................................................................................. 542


Özellikler ...................................................................................................................................................543
LargeImages, SmallImages .....................................................................................................................543
ViewStyle ...............................................................................................................................................543
Columns ................................................................................................................................................544
Columns.Add .........................................................................................................................................545
Columns.Items[index].Caption .................................................................................................................545
Columns.Items[index].Width ....................................................................................................................545
Columns.Items[index].Alignment ..............................................................................................................545
Items .....................................................................................................................................................545
Items.Add, Item[index].SubItems.Add .......................................................................................................546
Items.Delete(Index).................................................................................................................................547
Items.Clear ............................................................................................................................................547
Checkboxes ...........................................................................................................................................547
Örnek:işaretle .........................................................................................................................................547
ColumnClick ...........................................................................................................................................547
GridLines ...............................................................................................................................................548
HotTrack ................................................................................................................................................548
HotTrackStyles .......................................................................................................................................548
Örnek:Hottrack .......................................................................................................................................548
Metotlar .....................................................................................................................................................550
AlphaSort ...............................................................................................................................................550
EditCaption ............................................................................................................................................550
Örnek:Aktif başlığı değiştir .......................................................................................................................550
Örnek:Satış takip ....................................................................................................................................550

TTreeView ............................................................................................................................ 554


Özellikler ...................................................................................................................................................556
ReadOnly ..............................................................................................................................................556
Indent ....................................................................................................................................................556
ShowButtons ..........................................................................................................................................556
ShowLines .............................................................................................................................................556
ShowRoot ..............................................................................................................................................557
TopItem .................................................................................................................................................557
Selected ................................................................................................................................................557
Items .....................................................................................................................................................557
Örnek:Add, AddChild ..............................................................................................................................558
Items.GetFirstNode .................................................................................................................................559
Metotlar .....................................................................................................................................................559
FullCollapse ...........................................................................................................................................559
FullExpand .............................................................................................................................................559
AlphaSort ...............................................................................................................................................559
SaveToFile(DosyaAdi) ............................................................................................................................559
LoadFromFile(DosyaAdi) .........................................................................................................................559
Olaylar ......................................................................................................................................................560
25 İçindekiler

Örnek:Sayının Çarpanlarını bul ................................................................................................................560

TDateTimePicker (Tarih seçme kutusu) ................................................................................. 561


Özellikler ...................................................................................................................................................561
Kind ......................................................................................................................................................561
DateMode ..............................................................................................................................................562
Date, Time .............................................................................................................................................562
DateFormat ............................................................................................................................................563
MinDate, MaxDate ..................................................................................................................................563
ShowCheckbox, Checked ........................................................................................................................563

TMonthCalendar(Takvim)..................................................................................................... 563
Özellikler ...................................................................................................................................................565
Date ......................................................................................................................................................565
MinDate, MaxDate ..................................................................................................................................565
WeekNumbers .......................................................................................................................................565
FirstDayOfWeek .....................................................................................................................................566
MultiSelectEndDate ................................................................................................................................566
Olaylar ......................................................................................................................................................566

TCalendar ............................................................................................................................... 566


Özellikler ...................................................................................................................................................566
Day .......................................................................................................................................................567
Month ....................................................................................................................................................567
Year ......................................................................................................................................................567
StartOfWeek ..........................................................................................................................................567
UseCurrentDate .....................................................................................................................................567
Örnek:Takvim .........................................................................................................................................567
Metotlar .....................................................................................................................................................569
PrevYear,NextYear .................................................................................................................................569
PrevMonth,NextMonth.............................................................................................................................569
CalendarDate .........................................................................................................................................569
Örnek:Takvim .........................................................................................................................................570

TDirectoryOutline .................................................................................................................. 571


Özellikler ...................................................................................................................................................571
Options ..................................................................................................................................................571
Style ......................................................................................................................................................571
PictureClosed, PictureLeaf, PictureOpen ..................................................................................................572
TextCase ...............................................................................................................................................572
Directory ................................................................................................................................................572
Items[index].FullPath...............................................................................................................................572
Metotlar .....................................................................................................................................................572
GetItem(X, Y) .........................................................................................................................................572
Olaylar ......................................................................................................................................................572
Örnek: Dosya taşı ...................................................................................................................................572

ShellTreeView, ShellComboBox, ShellListView ..................................................... 574


ShellTreeView ...........................................................................................................................................574
Delphi 7…Zeydin PALA 26

ShellComboBox .........................................................................................................................................575
ShellListView .............................................................................................................................................575
Örnek: ShellComboBox, ShellListView, ShellTreeView ...............................................................................576
Gruplandırma kontrolleri............................................................................................................... 577

TRadioGroup ........................................................................................................................ 578


Özellikler ...................................................................................................................................................578
Items .....................................................................................................................................................578
ItemIndex...............................................................................................................................................578
Columns ................................................................................................................................................578
Olaylar ......................................................................................................................................................579
Örnek:Düğme ekle-sil ..............................................................................................................................579

TGroupBox(Gruplama Kutusu) ............................................................................................. 580


Örnek:Eleman gruplandırma ...................................................................................................................581

TPanel Kontrolü ..................................................................................................................... 582


Özellikler ...................................................................................................................................................583
BevelInner, BevelOuter ...........................................................................................................................583
BevelWidth, BorderWidth .........................................................................................................................583
Caption ..................................................................................................................................................583

TScrollBox ........................................................................................................................... 583


Özellikler ...................................................................................................................................................584
HorzScrollBar,VertScrollBar .....................................................................................................................584
Range ...................................................................................................................................................584
Margin ...................................................................................................................................................584
Position .................................................................................................................................................584
Incremet ................................................................................................................................................584
Visible ...................................................................................................................................................584
Metotlar .....................................................................................................................................................585
ScrollInView(KontrolAdi: TControl)............................................................................................................585

TPageControl......................................................................................................................... 585
Özellikler ...................................................................................................................................................586
ActivePage ............................................................................................................................................586
MultiLine ................................................................................................................................................586
TabPosition ............................................................................................................................................587
Olaylar ......................................................................................................................................................587

TTabControl .......................................................................................................................... 587


Özellikler ...................................................................................................................................................588
Multiline .................................................................................................................................................588
TabHeight ..............................................................................................................................................588
TabIndex ...............................................................................................................................................588
Tabs ......................................................................................................................................................588
Örnek:TabControl ...................................................................................................................................588
27 İçindekiler

TabWidth ...............................................................................................................................................589
Olaylar ......................................................................................................................................................590
Örnek:Dosyaları oku ...............................................................................................................................590

THeaderControl .................................................................................................................... 592


Özellikler ...................................................................................................................................................593
Sections ................................................................................................................................................593
Canvas ..................................................................................................................................................594
Olaylar ......................................................................................................................................................594
Örnek:HeaderControl ..............................................................................................................................594

Splitter .................................................................................................................................. 596

TPageScroller ...................................................................................................................... 597


Görüntü Kontrolleri....................................................................................................................... 598

TStatusBar (Durum Çubuğu) ................................................................................................ 598


Özellikler ...................................................................................................................................................600
SimplePanel ...........................................................................................................................................600
Panels ...................................................................................................................................................601
Panels.Add ............................................................................................................................................601
Panels.Clear ..........................................................................................................................................601
Panels.Count .........................................................................................................................................601
Panels.Items[index].Style ........................................................................................................................601
Panels.Items[index].Bevel .......................................................................................................................601
Panels.Items[index].Width .......................................................................................................................602
Panels.Items[index].Text .........................................................................................................................602
Örnek:Durum çubuğu ..............................................................................................................................602

TProgressBar ....................................................................................................................... 604


Özellikler ...................................................................................................................................................604
Max, Min ................................................................................................................................................604
Position .................................................................................................................................................605
Step ......................................................................................................................................................605
Metotlar .....................................................................................................................................................605
StepBy(Delta) .........................................................................................................................................605
StepIt ....................................................................................................................................................605
Örnek:ProgressBar .................................................................................................................................605
Örnek:Kelime ara....................................................................................................................................606
Örnek:Asal sayıları bul ............................................................................................................................608

TGauge ................................................................................................................................. 610


Özellikler ...................................................................................................................................................610
Kind ......................................................................................................................................................610
MaxValue, MinValue ...............................................................................................................................611
Progress ................................................................................................................................................611
ShowText ..............................................................................................................................................611
Örnek:Kronometre ..................................................................................................................................611
Örnek:Gauge .........................................................................................................................................613
Delphi 7…Zeydin PALA 28

Gridler .......................................................................................................................................... 613

TStringGrid(Izgara Kontrol Elemanı) ................................................................................... 614


Özellikler ...................................................................................................................................................614
ColCount, RowCount ..............................................................................................................................614
DefaultRowHeight, DefaultColWidth .........................................................................................................614
FixedCols,FixedRows .............................................................................................................................614
Options ..................................................................................................................................................615
Cells[sutun,satır] .....................................................................................................................................615
ColWidths[SutunNo], RowHeights[SatırNo] ...............................................................................................615
Örnek:StringGrid ....................................................................................................................................615
GridLineWidth ........................................................................................................................................616
Cols[SütunNo],Rows[SatırNo] ..................................................................................................................616
Row, Col ................................................................................................................................................617
LeftCol,TopRow......................................................................................................................................617
FixedColor .............................................................................................................................................617
Selection................................................................................................................................................617
Metotlar .....................................................................................................................................................617
CellRect(Sütun,Satır) ..............................................................................................................................617
MouseToCell(X, Y, Sütun, Satır) ..............................................................................................................617
Olaylar ......................................................................................................................................................618
Örnek:StringGrid ile işlem yapma .............................................................................................................618
Örnek:Maskeli giriş .................................................................................................................................620
Örnek:StringGrid içeriğini bir dosyaya kaydetme ........................................................................................621

TDrawGrid ........................................................................................................................... 622


Örnek:DrawGrid .....................................................................................................................................623
Örnek:İkon göster ...................................................................................................................................623
Örnek:DrawGrid .....................................................................................................................................625
Grafik kontrolleri .......................................................................................................................... 628

TImage (Resim Kontrolü) ..................................................................................................... 629


Özellikler ...................................................................................................................................................629
Picture ...................................................................................................................................................629
Stretch,Proportional ................................................................................................................................631
AutoSize ................................................................................................................................................631
Center ...................................................................................................................................................631
Canvas ..................................................................................................................................................631
Örnek:Resim Göster ...............................................................................................................................631

TShape(Geometrik Şekil Gösterme elemanı)......................................................................... 633


Özellikler ...................................................................................................................................................633
Shape ...................................................................................................................................................633
Brush ....................................................................................................................................................634
Örnek:Shape ..........................................................................................................................................634

TBevel.................................................................................................................................. 635
29 İçindekiler

Özellikler ...................................................................................................................................................636
Style ......................................................................................................................................................636
Shape ...................................................................................................................................................636

TPaintBox ............................................................................................................................. 636


Örnek:Çizim ...........................................................................................................................................636

TAnimate(Animasyon Kontrolü) ............................................................................................. 638


Özellikler ...................................................................................................................................................638
Örnek:Animate .......................................................................................................................................638
Center ...................................................................................................................................................639
FileName ...............................................................................................................................................639
Örnek:Animate .......................................................................................................................................639
CommonAVI ..........................................................................................................................................640
FrameCount ...........................................................................................................................................641
FrameHeight, FrameWidth.......................................................................................................................641
Open .....................................................................................................................................................641
Repetitions .............................................................................................................................................641
ResName ..............................................................................................................................................641
StartFrame.............................................................................................................................................641
StopFrame .............................................................................................................................................642
Timers ...................................................................................................................................................642
Transparent ...........................................................................................................................................642
Metotlar .....................................................................................................................................................642
Play(BaşlangıçÇerçeve, BitişÇerçeve: Word; Adet: Integer) ........................................................................642
Seek(Çerçeve: SmallInt) ..........................................................................................................................642
Stop ......................................................................................................................................................642
Olaylar ......................................................................................................................................................642

TImageList............................................................................................................................ 642
Özellikler ...................................................................................................................................................643
Height,Width ..........................................................................................................................................643
AllocBy ..................................................................................................................................................643
BkColor .................................................................................................................................................643
BlendColor .............................................................................................................................................643
Count ....................................................................................................................................................643

TColorBox (Renk Seçme Kutusu) .......................................................................................... 644

TColorGrid(Renk seçme kontrolü) .......................................................................................... 645


Özellikler ...................................................................................................................................................645
ForegroundColor, BackgroundColor .........................................................................................................645
GridOrdering ..........................................................................................................................................645
BackGroundIndex, ForegroundIndex ........................................................................................................645
Örnek:Renk değiştirme ............................................................................................................................645

TChart ................................................................................................................................... 646


Wizard ile TChart Oluşturma .......................................................................................................................646
TChart ile verileri grafiksel olarak gösterme ...................................................................................................649
Delphi 7…Zeydin PALA 30

Bir seriye değer aktarma .............................................................................................................................653


Tıklanan seriyi tespit etme ...........................................................................................................................654
Seçili alanı büyütme ...................................................................................................................................654
Örnek:Veri grafiği çizme ..........................................................................................................................655
System Kontrolleri ........................................................................................................................ 657

TTimer ................................................................................................................................... 657


Özellikler ...................................................................................................................................................657
Interval ..................................................................................................................................................657
Enabled .................................................................................................................................................658
Olaylar ......................................................................................................................................................658
Örnek: Timer ile saat ...............................................................................................................................658
Örnek: Kayan başlık ................................................................................................................................658
Örnek: zıplayan top .................................................................................................................................658
Örnek: Aktif nesneyi hareket ettir ..............................................................................................................659
Örnek:Yanıp sönme efekti .......................................................................................................................660
Örnek:Animasyon destekli yazım..............................................................................................................660
Zaman Gecikmesi Oluşturma ...................................................................................................................661

TMediaPlayer(Multimedya kontrolü) ..................................................................................... 661


Özellikler ...................................................................................................................................................662
FileName ...............................................................................................................................................662
DeviceType ............................................................................................................................................662
Shareable ..............................................................................................................................................663
Wait ......................................................................................................................................................663
AutoOpen ..............................................................................................................................................663
AutoRewind ...........................................................................................................................................663
AutoEnable ............................................................................................................................................663
EnabledButtons ......................................................................................................................................663
VisibleButtons ........................................................................................................................................663
Display ..................................................................................................................................................664
DisplayRect............................................................................................................................................664
Örnek:Tam ekran film oynatma ................................................................................................................664
Error ......................................................................................................................................................665
ErrorMessage ........................................................................................................................................665
Mode .....................................................................................................................................................665
TimeFormat ...........................................................................................................................................666
Length ...................................................................................................................................................666
StartPos, EndPos ...................................................................................................................................666
Position .................................................................................................................................................666
Start ......................................................................................................................................................667
DeviceID ................................................................................................................................................667
Tracks ...................................................................................................................................................667
TrackLength[TrackNo] .............................................................................................................................667
TrackPosition[TrackNo] ...........................................................................................................................667
Notify.....................................................................................................................................................667
NotifyValue ............................................................................................................................................667
Capabilities ............................................................................................................................................668
Metotlar .....................................................................................................................................................668
Open .....................................................................................................................................................668
31 İçindekiler

Close.....................................................................................................................................................668
Save .....................................................................................................................................................669
Play, Pause, Stop, Next, Previous ,Step, Back, Eject, StartRecording ..........................................................669
PauseOnly .............................................................................................................................................669
Resume .................................................................................................................................................669
Rewind ..................................................................................................................................................669
Olaylar ......................................................................................................................................................669
Örnek:Ses ve film dosyalarını çalma .........................................................................................................670
Örnek:Geçen süreyi göster ......................................................................................................................674
Örnek:AVI,MID,WAV çal ..........................................................................................................................674
Örnek: mp3 dosyası çalma ......................................................................................................................676

OLE ...................................................................................................................................... 679


OLE Nedir? ...............................................................................................................................................679
OLE 2.0.....................................................................................................................................................679
Tasarım Zamanın OLE nesnesi oluşturmak ..................................................................................................679
Özellikler ...................................................................................................................................................680
AutoActivate ...........................................................................................................................................680
AllowInPlace ..........................................................................................................................................681
Modified.................................................................................................................................................681
SourceDoc .............................................................................................................................................681
Metotlar .....................................................................................................................................................681
InsertObjectDialog ..................................................................................................................................681
Copy .....................................................................................................................................................681
Paste() ..................................................................................................................................................681
PasteSpecialDialog .................................................................................................................................683
LoadFromFile(DosyaAdı).........................................................................................................................683
SaveToFile(DosyaAdı) ............................................................................................................................683
ChangeIconDialog() ................................................................................................................................683
ObjectPropertiesDialog() .........................................................................................................................684
Örnek:OLE .............................................................................................................................................685
Örnek:OLE .............................................................................................................................................687
OLE Nesnesi Kullanmadan OLE Uygulamalarını Çalıştırma ...........................................................................688
Örnek:Excel programını çalıştırma............................................................................................................688
Örnek:Excel hücrelerine veri göndermek ...................................................................................................689
Örnek:Tablo içeriğini Excel ortamına aktarma ............................................................................................690
Örnek: Word uygulaması çalıştırma ..........................................................................................................692
Win 3.1 Kontrolleri ........................................................................................................................ 692

TDriveComboBox(Sürücü listeleme kutusu).......................................................................... 693


Özellikler ...................................................................................................................................................693
Drive .....................................................................................................................................................693
DirList ....................................................................................................................................................693
TextCase ...............................................................................................................................................694
Olaylar ......................................................................................................................................................694
Örnek:Win31 kontrolleri ...........................................................................................................................694

TDirectoryListBox(Dizin listeleme kutusu) ............................................................................. 694


Özellikler ...................................................................................................................................................694
Directory ................................................................................................................................................694
Delphi 7…Zeydin PALA 32

DirLabel .................................................................................................................................................695
FileList...................................................................................................................................................695
ItemHeight .............................................................................................................................................695
IntegralHeight .........................................................................................................................................695
Metotlar .....................................................................................................................................................695
GetItemPath[Index] .................................................................................................................................695
Update ..................................................................................................................................................695
Olaylar ......................................................................................................................................................695
OnChange(Sender: TObject) ...................................................................................................................695

TFileListBox (Dosya listeleme kutusu) .................................................................................. 695


Özellikler ...................................................................................................................................................696
Directory ................................................................................................................................................696
ShowGlyphs ...........................................................................................................................................696
FileEdit ..................................................................................................................................................696
Mask .....................................................................................................................................................696
MultiSelect .............................................................................................................................................696
FileType ................................................................................................................................................696
FileName ...............................................................................................................................................697
Metotlar .....................................................................................................................................................697
Update ..................................................................................................................................................697

TFilterComboBox .................................................................................................................. 697


Özellikler ...................................................................................................................................................697
Filter ......................................................................................................................................................697
Mask .....................................................................................................................................................697
FileList...................................................................................................................................................697
Örnek:Dosya göster ................................................................................................................................697
Örnek:Kod kullanmayan bir örnek .............................................................................................................699
Bölüm Özeti .................................................................................................................................. 700

13.Bölüm
Menü ve Araç Çubuğu Kontrolleri ............................................................................................ 701

TMainMenu (Menü) .............................................................................................................. 702


Menüleri Daha Sonra da Kullanabilmek İçin Kaydetme ...............................................................................706
İki Sütunlu Menü Oluşturma .....................................................................................................................707
Özellikler ...................................................................................................................................................709
Caption ..................................................................................................................................................709
Checked, AutoCheck ..............................................................................................................................709
Örnek:MainMenu ....................................................................................................................................709
RadioItem ..............................................................................................................................................710
Örnek:Menü kullanımı .............................................................................................................................711
Enabled .................................................................................................................................................712
Visible ...................................................................................................................................................712
Hint .......................................................................................................................................................712
Örnek:Menü Hint ....................................................................................................................................712
Default...................................................................................................................................................714
33 İçindekiler

Images ..................................................................................................................................................714
Örnek:Resimli menüler ............................................................................................................................715
TImageList bileşeni ile menülere resim ekleme .........................................................................................715
Örnek: Grafik menüler oluşturma ..............................................................................................................717

TPopupMenu........................................................................................................................ 722
Örnek:Popup menü .................................................................................................................................723
Örnek:Açılan menü .................................................................................................................................724

TActionList .......................................................................................................................... 725


Örnek:ActionList kullanımı .......................................................................................................................725

TToolBar(Araç Çubuğu) ....................................................................................................... 728


Özellikler ...................................................................................................................................................730
ButtonHeight, ButtonWidth .......................................................................................................................730
Indent ....................................................................................................................................................730
Wrapable, AutoSize ................................................................................................................................730
Images, DisabledImages, HotImages........................................................................................................731
ShowCaptions ........................................................................................................................................731
List ........................................................................................................................................................732
Flat .......................................................................................................................................................732
RowCount ..............................................................................................................................................732
ButtonCount ...........................................................................................................................................733
Buttons[Index] ........................................................................................................................................733
ToolButton ................................................................................................................................... 733
Özellikler ...................................................................................................................................................733
Caption ..................................................................................................................................................733
ImageIndex ............................................................................................................................................733
Style ......................................................................................................................................................733
Grouped, AllowAllUp ...............................................................................................................................733
DropDownMenu .....................................................................................................................................734
Örnek:Kelime işlem .................................................................................................................................734

TCoolBar ............................................................................................................................. 745


Özellikler ...................................................................................................................................................746
Align ......................................................................................................................................................746
AutoSize ................................................................................................................................................746
Bands ....................................................................................................................................................746
Bitmap ...................................................................................................................................................746
FixedOrder .............................................................................................................................................747
ShowText ..............................................................................................................................................747
Vertical ..................................................................................................................................................747

ActionManager,ActionMainMenuBar,ActionToolBar ..................................................... 747

CustomizeDlg ....................................................................................................................... 756


Delphi 7…Zeydin PALA 34

Bölüm Özeti .................................................................................................................................. 756

14.Bölüm
Delphi ile Grafik Programlama ................................................................................................ 757
Canvas ..................................................................................................................................................758
Şekil Çizme................................................................................................................................... 758
Canvas.MoveTo(X, Y) .............................................................................................................................758
Canvas.LineTo(X, Y) ...............................................................................................................................758
Örnek:Fareyle Çizgi çizme .......................................................................................................................758
Canvas.Rectangle(X1, Y1, X2, Y2) ...........................................................................................................759
Örnek:İçi dolu dikdörtgen çizme ...............................................................................................................760
Canvas.RoundRect(X1, Y1, X2, Y2, X3, Y3) ..............................................................................................760
Canvas.FrameRect(Rect: TRect)..............................................................................................................760
Canvas.PolyLine(Points: array of TPoint) ..................................................................................................761
Örnek:Dikdörtgen çizme ..........................................................................................................................761
Canvas.Polygon(Points: array of TPoint) ...................................................................................................763
Canvas.Ellipse(X1, Y1, X2, Y2) ................................................................................................................764
Örnek:İçi dolu Elips çizme .......................................................................................................................764
Örnek:İçi taranmış elips çizme .................................................................................................................764
Örnek:Elips içinde resim ..........................................................................................................................765
Örnek:Elips ve dikdörtgen ........................................................................................................................766
Örnek:Fare ile çizim yapma .....................................................................................................................766
Canvas.Pie(X1, Y1, X2, Y2,X3,Y3,X4,Y4) .................................................................................................769
Canvas.Arc(X1, Y1, X2, Y2,X3,Y3,X4,Y4) .................................................................................................769
Canvas.Chord(X1,Y1,X2,Y2,X3,Y3,X4,Y4) ................................................................................................769
Canvas.Pixels[X, Y] ................................................................................................................................770
Örnek:Tıklanan yere nokta koy .................................................................................................................770
Örnek:Matamatiksel grafik çizme ..............................................................................................................770
Örnek:Pixel ............................................................................................................................................771
Resim Döndürme .......................................................................................................................................772
Örnek:Resim dönder ...............................................................................................................................773
Örnek:Sürekli dönder ..............................................................................................................................774
Örnek:Hızlı çevir .....................................................................................................................................775
Örnek:İstenilen büyüklükte dikdörtgen çizme .............................................................................................776
Yazı Yazma ................................................................................................................................... 777
Canvas.Font ..........................................................................................................................................777
Canvas.TextOut(X, Y, Text) .....................................................................................................................777
Örnek:Form üzerine grafik yazı yazma ......................................................................................................777
Örnek:Spiral yazı yazma .........................................................................................................................778
Canvas.TextHeight,TextWidth(Text) .........................................................................................................779
Örnek:Satır çizme ...................................................................................................................................779
Canvas.TextRect(Rect: TRect; X, Y, Text).................................................................................................780
Örnek:Alan içinde yazma .........................................................................................................................780
Örnek:Transparen yazı yazma .................................................................................................................780
Örnek:Dikdörtgen içinde yazı yazma .........................................................................................................781
Örnek:Çok satırlı yazı yazma ...................................................................................................................782
Örnek:Açılı yazı yazma ...........................................................................................................................782
Örnek:Dikey yazı yazma ..........................................................................................................................783
35 İçindekiler

Boyama.....................................................................................................................................................784
Canvas.FillRect(Rect: TRect) ...................................................................................................................784
Örnek: silme ...........................................................................................................................................784
Örnek:İçi dolu dikdörtgen çizme ...............................................................................................................784
Canvas.FloodFill(X, Y, Renk; FillStyle: TFillStyle).......................................................................................785
Çizim Şeklini Belirleme ...............................................................................................................................785
Canvas.Pen.Color:..................................................................................................................................785
Örnek:Renk geçişi ..................................................................................................................................785
Canvas.Pen.Width ..................................................................................................................................786
Canvas.Pen.Style ...................................................................................................................................786
Canvas.Pen.Mode ..................................................................................................................................786
Örnek:Üç boyutlu metin yaz .....................................................................................................................787
Boyama Şeklini Belirleme ............................................................................................................. 788
Canvas.Brush.Color ................................................................................................................................788
Canvas.Brush.Style: ...............................................................................................................................788
Örnek:Transparent resim çizme ...............................................................................................................788
Kopyalama, Büyültme, Küçültme, Negatifini Alma ........................................................................ 788
Canvas.Draw(X, Y, Graphic: TGraphic) .....................................................................................................789
Örnek: Resim döşeme.............................................................................................................................789
Örnek:Resim birleştirme ..........................................................................................................................791
Canvas.StretchDraw(Rect: TRect; Graphic: TGraphic) ...............................................................................792
Örnek:Form üzerine resim aktarma ..........................................................................................................793
Örnek:Ekranın fotoğrafını çek ..................................................................................................................793
Örnek:Form üzerine resim döşeme ...........................................................................................................793
Örnek:Metefile kaydetmek .......................................................................................................................793
Canvas.CopyRect(Hedef: TRect; Canvas: TCanvas; Kaynak: TRect)...........................................................794
Örnek:Resim büyütme yada küçültme .......................................................................................................794
Canvas.CopyMode .................................................................................................................................795
Canvas.BrushCopy(Hedef: TRect; Resim: TBitmap; const Kaynak: TRect; Renk: TColor); .............................796
Fare ile Seçme .............................................................................................................................. 796
Canvas.DrawFocusRect(Rect: TRect) ......................................................................................................796
Resource(*.res) Dosyalarından Resim Yükleme ........................................................................... 798
Bitmap resim yüklemek ...............................................................................................................................798
Kullanıcı tanımlı cursor yükleme ..................................................................................................................799
Örnek:Özel kürsor ..................................................................................................................................800
Bölüm Özeti .................................................................................................................................. 801

3.Kısım-15.Bölüm
Drag & Drop (Sürükle-Bırak) ................................................................................................... 804
Özellikler ...................................................................................................................................................805
DragCursor ............................................................................................................................................805
DragMode ..............................................................................................................................................805
Metotlar .....................................................................................................................................................805
BeginDrag( Immediate ) ..........................................................................................................................805
Dragging ................................................................................................................................................805
Örnek:Sürükle ........................................................................................................................................805
Delphi 7…Zeydin PALA 36

EndDrag(Drop) .......................................................................................................................................806
Olaylar ......................................................................................................................................................806
Örnek:Listeye eleman ekleme ve silme .....................................................................................................806
Örnek:Dosyaları sürükle ve bırak..............................................................................................................808
Drag & Dock ...................................................................................................................... 811
Örnek:Drag & Dock .................................................................................................................................812
Özellikler ...................................................................................................................................................813
Floating .................................................................................................................................................813
UseDockManager ...................................................................................................................................813
UndockHeight,UndockWidth ....................................................................................................................813
TBDockHeight, LRDockWidth ..................................................................................................................813
DockClientCount ....................................................................................................................................813
DockClients[Index] ..................................................................................................................................814

ControlBar ........................................................................................................................... 814


Örnek:CoolBar .......................................................................................................................................815
Bölüm Özeti .................................................................................................................................. 816

16.Bölüm
DDE & Link........................................................................................................................ 817

DDEClientConv ..................................................................................................................... 817


Özellikler ...................................................................................................................................................818
ConnectMode .........................................................................................................................................818
DdeService ............................................................................................................................................818
DDETopic ..............................................................................................................................................818
DDEService ve DDETopic özelliklerini Otomatik Olarak Belirleme ...............................................................818
Metotlar .....................................................................................................................................................819
SetLink(Service: string; Topic: string) ........................................................................................................819
OpenLink, CloseLink ...............................................................................................................................819
ExecuteMacro(Cmd: PChar; WaitFlg: Boolean) .........................................................................................820
Örnek: Manual olarak bir program grubu oluşturma ....................................................................................820
Örnek:Automatic olarak bir program grubu oluşturma .................................................................................820
Örnek:Grup oluşturma .............................................................................................................................821
ExecuteMacroLines(Cmd: TStrings; WaitFlg: Boolean) ...............................................................................821
Örnek:Grup oluşturma .............................................................................................................................821
Örnek:Grup oluşturma .............................................................................................................................823
PokeData(Item: string; Data: PChar) .........................................................................................................825
RequestData(const Item: string): PChar; ...................................................................................................825

DDEServerConv ................................................................................................................... 825


Özellikler ...................................................................................................................................................825
Name ....................................................................................................................................................825
Olaylar ......................................................................................................................................................825
Örnek: DDEServerConv ..........................................................................................................................826
Örnek: DDEClientConv ...........................................................................................................................827
37 İçindekiler

Bölüm Özeti .................................................................................................................................. 828

17.Bölüm
DLL Dosyası Yazma ............................................................................................................. 829
DLL Nasıl Yazılır ........................................................................................................................................829
Örnek: DLL 1..........................................................................................................................................831
Örnek:DLL 2 ..........................................................................................................................................832
Örnek:DLL 3 ..........................................................................................................................................833
DLL Dosyasında Form Kullanma .................................................................................................................834
Örnek: Form kullanan dll .........................................................................................................................834
DLL Dosyasında Debug ..............................................................................................................................836
Bölüm Özeti .................................................................................................................................. 837

18.Bölüm
Denetim Masası Uygulamaları Yazma ........................................................................................ 839
Denetim Masası Uygulamalarını Programdan Çalıştırma ................................................................................842
Örnek:Denetim masası uygulaması ..........................................................................................................843
Bölüm Özeti .................................................................................................................................. 843

19.Bölüm
API'LER ............................................................................................................................ 845
API Tanımı ................................................................................................................................................846
Apiler Hakkında Yardım Alma ......................................................................................................................847
Boş bellek miktarını öğrenme ......................................................................................................................849
Örnek:Bellek bilgileri ...............................................................................................................................849
Mikroişlemci tipini ve sayısını öğrenme .........................................................................................................850
Windows versiyonunu ve ortamını öğrenme ..................................................................................................850
Windowsu Kapatma....................................................................................................................................851
Windows “Hakkında” Penceresi ...................................................................................................................852
Örnek:ShellAbout ...................................................................................................................................852
Kontrolleri Taşıma ......................................................................................................................................852
Çalışan uygulamayı görev çubuğundan gizleme ............................................................................................852
Görev çubuğunu gizle .................................................................................................................................853
Örnek:Görev çubuğunu gizleme ve gösterme ............................................................................................853
Örnek:masa üstü simgelerini gizleme........................................................................................................853
CD-Kapağını Açıp Kapatma ........................................................................................................................854
Windows Seslerini Çalma ............................................................................................................................854
Örnek: MessageBeep ile sistem seslerini çalma.........................................................................................854
Flaş başlık .................................................................................................................................................855
Örnek:Yanıp sönen başlık .......................................................................................................................855
Program ve Belge Çalıştırma ........................................................................................................ 855
Örnek:Belge Çalıştırma ...........................................................................................................................856
Örnek: Web sayfasını açın 1 ....................................................................................................................856
Örnek:Bir web sayfasını açın 2 .................................................................................................................856
Örnek:E-mail programını çalıştırma ..........................................................................................................856
Delphi 7…Zeydin PALA 38

Örnek:Yazıcı kur .....................................................................................................................................856


Sürücü Formatlama ....................................................................................................................................857
Örnek:Disket formatlama .........................................................................................................................857
Num Lock, Caps Lock, Scroll Lock ışıkları ....................................................................................................859
Örnek:Yanıp sönen ışıklar .......................................................................................................................859
Örnek:Klavye ışıkları ...............................................................................................................................860
Formlara Şekil Verme .................................................................................................................................860
Örnek:Elips form .....................................................................................................................................861
Örnek:Geometrik form .............................................................................................................................861
Örnek:Yıldız form ....................................................................................................................................862
Örnek:Form şekilleri ................................................................................................................................862
Örnek:Form animasyonu .........................................................................................................................864
RAS Apileri ile Çevirmeli Ağlar ..................................................................................................... 864
Çevirmeli Ağ Bağlantılarını Listeleme ...........................................................................................................865
Örnek:Çevirmeli ağ bağlantıları ................................................................................................................865
Bağlantı Bilgilerini Okuma ...........................................................................................................................866
Örnek:Bağlantıya ait bilgileri göster ..........................................................................................................868
Bağlantıları Arama......................................................................................................................................871
Örnek:Bağlatıyı çevir ve kes ....................................................................................................................873
Yeni Bağlantılar Oluşturma ..........................................................................................................................878
Örnek:Yeni bağlantı oluştur .....................................................................................................................878
Bağlantıları Değiştirme................................................................................................................................879
Örnek:Bağlantı adını değiştir ....................................................................................................................879
Örnek:Bağlantıya ait özellikler ..................................................................................................................879
Bağlantıları Silme .......................................................................................................................................880
Örnek:Aktif bağlantıyı sil ..........................................................................................................................880
Örnek:Numara çevir ve konuş.....................................................................................................................881
Bölüm Özeti .................................................................................................................................. 881

20.Bölüm
System Tray Uygulamaları ..................................................................................................... 883
dwMessage............................................................................................................................................883
lpData ...................................................................................................................................................883
Örnek System Tray Uygulaması ..................................................................................................................886
Örnek:Grafik modları ...............................................................................................................................890
Örnek:Fare hareketleri ............................................................................................................................894
Bölüm Özeti .................................................................................................................................. 895

4.Kısım-21.Bölüm
Veritabanı Kavramları ve Veritabanına bağlanma .......................................................................... 898
İlişkisel Veritabanı Modeli ............................................................................................................. 898
Veritabanı kavramları .................................................................................................................... 900
Database-Veritabanı ...............................................................................................................................900
Alias-Takma Ad ......................................................................................................................................900
Table-Tablo............................................................................................................................................900
39 İçindekiler

View-Görünüm .......................................................................................................................................900
Field-Alan ..............................................................................................................................................900
Record-Kayıt ..........................................................................................................................................901
SQL-Yapısal Sorgulama dili .....................................................................................................................901
Persistent Field ......................................................................................................................................901
Calculated Field-Hesaplanmış alan ..........................................................................................................901
Lookup Field-Arama alanı ........................................................................................................................901
Index-Dizin .............................................................................................................................................901
Key-Anahtar ...........................................................................................................................................901
Secondary Index –İkincil dizin ..................................................................................................................901
Cursor-Kayıt göstergesi ...........................................................................................................................901
Datasource-Veri kaynağı .........................................................................................................................901
Data Aware Components-Veri bağlantılı bileşenler .....................................................................................902
BDE -Veritabanı Motoru ..........................................................................................................................902
Transactions-Muameleler ........................................................................................................................902
Data Dictionary-Veri sözlüğü ....................................................................................................................902
Client/Server-İstemci/Sunucu ...................................................................................................................902
Veritabanına bağlanma ................................................................................................................. 903
Bölüm Özeti .................................................................................................................................. 906

22.Bölüm
DataBase / SQLExplorer ........................................................................................................ 907
Alias tanımlama ............................................................................................................................ 908
BDE Administrator ile Alias Tanımı...............................................................................................................910
Database Desktop ile Alias Tanımı...............................................................................................................910
Delphi Ortamında Alias’la erişim ..................................................................................................................911
Program Kodu ile Alias Tanımlama ..............................................................................................................911
Örnek:Alias tanımı ..................................................................................................................................911
Bölüm Özeti .................................................................................................................................. 912

23.Bölüm
Data Controls Elemanları ile Çalışma ........................................................................................ 913

DBImage Nesnesine Resim Yükleme..................................................................................... 914


Resimleri Dosyadan Alma ...........................................................................................................................915

DBNavigator Kontrolünün Ayarları......................................................................................... 917


Bazı Düğmeleri Gizleme .............................................................................................................................918
Hint Özelliklerini Ayarlama ..........................................................................................................................918
Navigator’ün Görevlerini Kodla Yapma .........................................................................................................919
Örnek:Kayıt gezintisi ...............................................................................................................................919

DBRadioGroup ile Hazır Seçenekler Sunma ........................................................................... 921


Delphi 7…Zeydin PALA 40

DBComboBox ile Hazır Değerler Bulundurma ......................................................................... 922

DBGrid ile Verileri Görüntüleme ............................................................................................. 923


Örnek:DBGrid kullanma...........................................................................................................................923
DBGrid ile Alanları Özelleştirmek .................................................................................................................924
Örnek:DBGridi özelleştirme .....................................................................................................................925
Grid İçerisinde Açılan Kutu Kullanma ...........................................................................................................928
DBGrid içindeki hücreleri şarta bağlı olarak renklendirme ...............................................................................929
Örnek:Grid içinde renkli alanlar ................................................................................................................930
DBGrid hücrelerinin yazı rengini değiştirme ...................................................................................................930
Örnek:Şarta bağlı olarak hücre renklendirme .............................................................................................931
Alanlara CheckBox Ekleme .........................................................................................................................931
Örnek:CheckBox kullanımı ......................................................................................................................931
Tarihleri Takvimde Gösterme.......................................................................................................................933
Örnek:Tarih alanı için takvim kullanma ......................................................................................................933
Option Özelliği ile Gride Ait Özellikleri Ayarlama ............................................................................................934
DBGrid içerisinde Enter ile dolaşma .............................................................................................................936
Çalışma zamanında DBGrid bileşenine sütun ekleme ve silme .......................................................................936
Genel Toplamları Bulma .............................................................................................................................936
Örnek:alan toplamını hesapla ..................................................................................................................936
DBGrid bileşenine ait olaylar .......................................................................................................................938

DBCtrlGrid ile birden fazla kayıt gösterme ........................................................................... 938


Örnek:DBCtrlGrid kullanma .....................................................................................................................938
DBCtrlGrid Kontrolüne Ait Özellikler .............................................................................................................940

DBLookupComboBox (Değerleri farklı tablodan alma)........................................................... 941


Örnek:Alan içeriğini farklı tablodan alma ...................................................................................................941
Lookup Alanlardaki Bilgileri Listeleme...........................................................................................................943
Örnek:DBLookupCombobox ....................................................................................................................943
İlişkisel Veritabanı ........................................................................................................................ 947
Örnek:ilişkisel veritabanı ..........................................................................................................................947
Master-Detail Form oluşturma .....................................................................................................................948
Database Desktop ile Index Tanımlama .......................................................................................................948
Wizard Kullanarak Master-Detail Form Oluşturma .........................................................................................952
İlişkili Üç Tablo ...........................................................................................................................................957
Örnek:ilişkili üç tablo ...............................................................................................................................957
Master Detail Tablolarda Kayıt Silme ............................................................................................................960
Örnek:Master-Detail tablolarda kayıt silme ................................................................................................960
Bölüm Özeti .................................................................................................................................. 960

24.Bölüm
TFields-Alan Bileşenleri ile Çalışma.......................................................................................... 961
Alan Türleri ................................................................................................................................................961
Dinamik Veri Alanları ..................................................................................................................................962
Statik Veri Alanları ..................................................................................................................................962
41 İçindekiler

Statik Alan Bileşenleri Oluşturma..............................................................................................................963


ÖRNEK:Statik alan oluşturma ..................................................................................................................963
Yeni Alanlar Tanımlama ..........................................................................................................................964
Data Veri Alanları ...................................................................................................................................965
Calculated (Hesap) Veri Alanları ..............................................................................................................966
Örnek:alanlar arasında otomatik hesap yapma ..........................................................................................966
Calculated Alan İçin Kod Yazma ..............................................................................................................968
Lookup Veri Alanları................................................................................................................................970
Alanlara Ait Özellikler (Properties) ............................................................................................................970
Alignment ..............................................................................................................................................971
CustomConstraint, ConstraintErrorMessage ..............................................................................................971
ImportedConstraint .................................................................................................................................972
HasConstraints .......................................................................................................................................972
Currency ................................................................................................................................................972
DisplayFormat ........................................................................................................................................972
Örnek:Sayısal alan içeriğini üçer basamak ayırma .....................................................................................972
EditFormat .............................................................................................................................................973
DisplayLabel ..........................................................................................................................................973
DisplayWidth ..........................................................................................................................................973
EditMask................................................................................................................................................973
FieldKind ...............................................................................................................................................973
FieldName .............................................................................................................................................973
MaxValue, MinValue ...............................................................................................................................973
Index .....................................................................................................................................................973
LookupDataSet, LookupKeyFields, LookupResultField ...............................................................................974
Name ....................................................................................................................................................974
Precision................................................................................................................................................974
ReadOnly ..............................................................................................................................................974
Size.......................................................................................................................................................975
Visible ...................................................................................................................................................975
Veri alanlarında tip dönüşümü ...................................................................................................... 975
Örnek:Alan tipi değiştirme ........................................................................................................................975
Alandaki Bilgileri Öğrenme ve Değiştirme Yolları .......................................................................... 975
Statik Alanlardaki Bilgiler .............................................................................................................................975
Örnek:Statik alanlar ile işlem yapma .........................................................................................................976
FieldValues Özelliği ....................................................................................................................................976
Fields Özelliği ............................................................................................................................................976
FieldByName Özelliği .................................................................................................................................977
Örnek:Alan içeriği okuma.........................................................................................................................977
Bölüm özeti .................................................................................................................................. 977

25.Bölüm
BDE Bileşenleri ile çalışma .................................................................................................... 979

DataSource Nesnesi ile Çalışma ........................................................................................... 979


DataSource Nesnesinin Özellikleri ...............................................................................................................979
DataSet .................................................................................................................................................979
Delphi 7…Zeydin PALA 42

AutoEdit .................................................................................................................................................979
State .....................................................................................................................................................979
DataSource olayları ....................................................................................................................................980
Örnek:İçerik değişimini bildir ....................................................................................................................980

TTable Nesnesi ile Çalışma .................................................................................................... 981


Table bileşenin bağlantı kuracağı Veritabanını belirleme ................................................................................981
Şifreli Tabloları açma ..................................................................................................................................981
Table Nesnesinin Özellikleri ........................................................................................................................982
DatabaseName ......................................................................................................................................982
TableName ............................................................................................................................................982
TTableType............................................................................................................................................982
Active ....................................................................................................................................................983
ReadOnly ..............................................................................................................................................983
Exclusive ...............................................................................................................................................983
CanModify .............................................................................................................................................984
Exists ....................................................................................................................................................984
Örnek:Tablo yoksa yeniden oluştur ...........................................................................................................984
CachedUpdates......................................................................................................................................984
IndexName ............................................................................................................................................985
Örnek:İndexi aktif yap .............................................................................................................................985
IndexFieldName .....................................................................................................................................985
DefaultIndex ...........................................................................................................................................985
RecordCount ..........................................................................................................................................985
Örnek:Kayıt sayısını bul ..........................................................................................................................985
RecNo ...................................................................................................................................................985
RecordSize ............................................................................................................................................985
FieldCount .............................................................................................................................................985
Örnek:Alan sayısını bul ...........................................................................................................................986
Bof,Eof ..................................................................................................................................................986
Örnek:Tablo başı ve tablo sonunu kontrol et ..............................................................................................986
BookMark ..................................................................................................................................................986
Örnek:İşlem bittikten sonra eski konuma dön .............................................................................................986
Örnek:Bookmark nasıl çalışır? .................................................................................................................986
Kodla Tablo oluşturma ................................................................................................................. 988
Tablo ve Kayıt Silme ..................................................................................................................... 989
Kayıt Silme ................................................................................................................................................989
Tablo içeriğini Silme ...................................................................................................................................990
Tabloyu silme ............................................................................................................................................990
Tablonun adını değiştirme ...........................................................................................................................990
Silinmiş Kayıtları Tablodan Atma .................................................................................................................990
Veritabanındaki Tablo İsimlerini Alma ........................................................................................... 991
Örnek:Veritabanındaki tabloları bul ...........................................................................................................991
Tablolar Arasında Veri Aktarma (BatchMove)................................................................................ 993
Table Nesnesi ile BatchMove ........................................................................................................ 993

TBatchMove ......................................................................................................................... 994


43 İçindekiler

Özellikler ...................................................................................................................................................994
Mode .....................................................................................................................................................994
Transaction Kullanma ................................................................................................................... 995
Örnek:Transaction ..................................................................................................................................995
Sınırlamalar ...............................................................................................................................................998
Kayıt Arama İşlemleri ........................................................................................................... 998
Locate ve Lookup metodları ile arama ..........................................................................................................998
Locate ...................................................................................................................................................998
Örnek:kayıt ara .......................................................................................................................................998
Örnek:Birden Fazla Alan Üzerinde Arama .................................................................................................999
Lookup ................................................................................................................................................1000
Örnek:Lookup ile kayıt ara .....................................................................................................................1000
Goto ve Find Metodlarıyla Arama ...............................................................................................................1000
SetKey() ..............................................................................................................................................1000
EditKey()..............................................................................................................................................1001
GotoKey() ............................................................................................................................................1001
GotoNearest() ......................................................................................................................................1001
Örnek:Benzer kayıtları ara .....................................................................................................................1001
FindKey (aranan) ..................................................................................................................................1001
FindNearest (aranan) ............................................................................................................................1002
Örnek:Bir harf ile başlayan kayıtları ara ...................................................................................................1002
Örnek:Kayıt ara ....................................................................................................................................1002
Dataset içerisinde veri parçası alma ...........................................................................................................1004
Range metodlarıyla veri aralığını ayarlama .................................................................................................1004
Örnek:Bir bölgede kayıt ara ...................................................................................................................1005
Filter Metodu ile veri aralığını ayarlama ......................................................................................................1006
Örnek:Sözlük programı .........................................................................................................................1007
Örnek:Veri filtrele ..................................................................................................................................1009
FilterOptions ........................................................................................................................................1010
Örnek:Şarta bağlı olarak listele .............................................................................................................1010
Örnek:OnFilterRecord ile Filtreleme ........................................................................................................1010
Filtrelenmiş kayıtlar arasında gezinme ........................................................................................................1012
FindFirst ..............................................................................................................................................1012
FindLast ..............................................................................................................................................1012
FindNext ..............................................................................................................................................1012
FindPrior ..............................................................................................................................................1012
Bölüm özeti ................................................................................................................................ 1012

26.Bölüm
ADO bileşenleri ile çalışma .................................................................................................. 1013
Ado İçin Neler Gerekli ...............................................................................................................................1014

TADOTable ile veritabanına bağlanma .................................................................................. 1014


Tasarım zamanında ADO veri kaynaklarını kullanma ...................................................................................1014
TAdoConnection ile Veri Tabanına Bağlantı ................................................................................ 1018
Örnek:Ado ile iletişim ............................................................................................................................1019
Aç .......................................................................................................................................................1022
Delphi 7…Zeydin PALA 44

Kayıt Gir ..............................................................................................................................................1023


Araya Ekle ...........................................................................................................................................1023
Kayıt Sil ...............................................................................................................................................1023
Değiştir ................................................................................................................................................1023
Güncelle ..............................................................................................................................................1023
Yazdır .................................................................................................................................................1024
İlk Kayıt ...............................................................................................................................................1025
Son Kayıt .............................................................................................................................................1025
Önceki Kayıt ........................................................................................................................................1025
Sonraki Kayıt........................................................................................................................................1025
Kapat ..................................................................................................................................................1025
Veri Ara ...............................................................................................................................................1026
Otomatik hesap yapma .........................................................................................................................1026
ADOConnection bileşenini aktif yada pasif hale getirme ...............................................................................1027
ADOConnection bileşeni üzerinde birden fazla tablo ile bağlantı sağlama ......................................................1027
Örnek:İlişkili tablolar ..............................................................................................................................1028
ADOConnection bileşenine bağlı dataset’lere erişmek .................................................................................1034
Örnek:Datasetleri aktif yap .....................................................................................................................1034
Örnek:Dataset isimlerini bul ...................................................................................................................1034
Örnek:Sorgulama .................................................................................................................................1034

ADOQuery bileşeniyle veri sorgulama .................................................................................. 1035


Örnek:Ado ile veri sorgulama .................................................................................................................1035
ADOQuery ile Çalışma zamanında veri sorgulama ......................................................................................1036
ADOQuery bileşeni ile Parametreye dayalı veri sorgulama ...........................................................................1036
Örnek:Kayıt bul ....................................................................................................................................1036
ADOQuery ile SQL komutlarını çalıştırmak .................................................................................................1037

ADOTable bileşeni ile çalışma ............................................................................................... 1038


Örnek:Veritabanı içindeki tabloları al .......................................................................................................1038
Bölüm Özeti ................................................................................................................................ 1039

27.Bölüm
Veri Sorgulama ................................................................................................................. 1041
TQuery Kullanımı ........................................................................................................................ 1041
İlk Sorgu ..................................................................................................................................................1042
RequestLive ile bilgileri değiştirin ...............................................................................................................1043
UpdateSQL ..........................................................................................................................................1044
SQL(Structured Query Language) ..............................................................................................................1044
Sorgulanacak Tabloyu Belirleme ................................................................................................................1045
Kullanılacak Alanları Belirleme...................................................................................................................1045
Örnek:Tüm alanları sorgula ...................................................................................................................1045
Örnek:İstenilen alanları sorgula ..............................................................................................................1046
Örnek:Tekrarlı kayıtları bir kere listeleme ................................................................................................1046
Sıralama .................................................................................................................................................1047
Örnek:Verileri A-Z olarak sırala ..............................................................................................................1047
Örnek:Verileri Z-A olarak sırala ..............................................................................................................1048
Örnek:Birden fazla alan üzerinde sıralama ..............................................................................................1048
45 İçindekiler

Where ile şartlı sorgulama .........................................................................................................................1049


Sorgu cümlelerinde operatör kullanımı .......................................................................................................1049
Örnek:1.1.1980 den önce doğanlar.........................................................................................................1049
Sorgu cümlelerinde AND,OR ve NOT kullanımı ...........................................................................................1050
Örnek:İki şartı aynı anda sağlama ..........................................................................................................1050
Sorgu cümlelerinde Between kullanımı .......................................................................................................1050
Örnek:İki tarih arasında sorgulama .........................................................................................................1050
Sorgu cümlelerinde IN kullanımı ................................................................................................................1051
Sorgu cümlelerinde LIKE kullanımı.............................................................................................................1051
Örnek:Bir harf ile başlayan kayıtları sorgulama ........................................................................................1051
Sorgu cümlelerinde IS NULL kullanımı .......................................................................................................1052
İstatistiksel İşlemler Yapma ........................................................................................................ 1052
Sorgu cümlelerinde MAX kullanımı.............................................................................................................1052
Sorgu cümlelerinde MIN kullanımı ..............................................................................................................1053
Sorgu cümlelerinde AVG kullanımı .............................................................................................................1053
Sorgu cümlelerinde SUM kullanımı ............................................................................................................1054
Sorgu cümlelerinde COUNT kullanımı ........................................................................................................1054
Gün-ay ve yılı bulmak ...............................................................................................................................1055
GROUP BY ile verileri Gruplandırma ..........................................................................................................1055
Sorgu cümlelerinde HAVING kullanımı .......................................................................................................1056
Alanlar Üzerinde İşlem Yapma...................................................................................................................1057
INSERT ile tabloya veri ekleme .................................................................................................................1058
UPDATE ile tabloyu Güncelleme ...............................................................................................................1058
DELETE ile tablodaki kayıtları silme ...........................................................................................................1058
Tablo birleştirme tipleri ..............................................................................................................................1059
Equi join-Eş birleşim .............................................................................................................................1059
Inner Join(iç birleşme) ..............................................................................................................................1059
Outer Join-Dış birleşim ..........................................................................................................................1059
Cartesian Join-Kartezyen birleşim ..........................................................................................................1060
Union join-Peş peşe birleşim ..................................................................................................................1060
Heterogeneous Join-Heterojen birleşim ..................................................................................................1061
İki tabloda ortak alanlı kayıtları listeleme .....................................................................................................1061
Örnek:Yeni tablo oluştur ........................................................................................................................1061
Master/Detail(ana/alt) Tabloları Sorgulama.................................................................................. 1062
Örnek:Ana-Alt Tablo sorgulama 1 ...........................................................................................................1063
Örnek:Ana-Alt tablo sorgulama 2 ............................................................................................................1065
Çalışma Zamanında Veri Sorgulama ........................................................................................... 1068
Örnek:Çalışma zamanında veri sorgulama ..............................................................................................1069
Ekleme Sorgusu oluşturma .......................................................................................................................1069
Güncelleme sorgusu oluşturma .................................................................................................................1070
Silme Sorgusu oluşturma ..........................................................................................................................1070
Çalışma Zamanında Parametreli Veri Sorgulama......................................................................... 1070
Örnek:Alfabetik harflerle başlayan kayıtları listele.....................................................................................1071
Örnek:Klavyeden basılan karakterle başlayan kayıtları sorgulama .............................................................1072
Örnek:İki değer arasında veri sorgulama .................................................................................................1073
Örnek:İki tarih arasında parametreli veri sorgulama ..................................................................................1074
Örnek:Parametre kullanmadan Edit kutuları ile sorgulama ........................................................................1076
Örnek:Dosyadan SQL Komutları Okutarak Veri Sorgulamak .....................................................................1076
Delphi 7…Zeydin PALA 46

Örnek:Özel filtreleme ............................................................................................................................1077


TUpdateSQL nesnesi ile veri güncelleme .................................................................................... 1079
ÖRNEK:Güncelleme sorgusu .................................................................................................................1079
Bölüm Özeti ................................................................................................................................ 1081

28.Bölüm
QReport Bileşenleri ile Rapor Hazırlama .................................................................................. 1083
Qreport kurulumu ....................................................................................................................... 1083
ilk Rapor ..................................................................................................................................................1083
Raporla ilgili ayarlar ..................................................................................................................................1086
Çalışma zamanında rapor önizleme ...........................................................................................................1087
Sihirbaz kullanılarak Rapor hazırlama ......................................................................................... 1088
Raporu veritabanı dosyalarına bağlama ...................................................................................... 1090
Veri süzmek ve sıralamak ........................................................................................................... 1091
Rapora metin ve veri alanları ekleme .......................................................................................... 1092
Izgara, büyütme oranı ve Units özelliği .......................................................................................................1092
Ana/Alt (Master/ Detail) raporlar oluşturmak .............................................................................. 1093
Örnek: Rapor oluşturma ........................................................................................................................1093
Alt rapor ...............................................................................................................................................1096
Bölüm Özeti ................................................................................................................................ 1100

29.Bölüm
Rave Bileşenleri ile Rapor Oluşturma ..................................................................................... 1101
Rave ile ilk rapor......................................................................................................................... 1101
Rave Visual Designer’a genel bakış ............................................................................................ 1109
Rave Bileşenleri.......................................................................................................................... 1109
Rave Project bileşeni ................................................................................................................................1110
Engine bileşenleri .....................................................................................................................................1110
Render bileşenleri ....................................................................................................................................1110
Data Connection bileşenleri .......................................................................................................................1110
Rave Visual Designer ile rapor tasarımı ...................................................................................... 1111
Rave Visual Designeri başlatın ...............................................................................................................1111
Veritabanı bağlantısı oluşturun ..............................................................................................................1111
Driver Data View bağlantısı oluşturun ....................................................................................................1112
Rapor Sihirbazını başlatın .....................................................................................................................1113
Sayısal alanların toplamını alma ................................................................................................................1114
Çalışma zamanında rapor oluşturma .......................................................................................... 1116
Bölüm Özeti ................................................................................................................................ 1119
47 İçindekiler

5.Kısım-30.Bölüm
Web Server Uygulamaları Yazma ........................................................................................... 1122
CGI Uygulamaları Yazma ............................................................................................................ 1123
Örnek:Console uygulaması ....................................................................................................................1123
Örnek:Web sayacı ................................................................................................................................1125
Web Module................................................................................................................................ 1126
Web Actionları ............................................................................................................................ 1128
Özellikler .................................................................................................................................................1128
PathInfo ...............................................................................................................................................1129
Default.................................................................................................................................................1129
Olaylar ....................................................................................................................................................1129
Response.Content ................................................................................................................................1130
Örnek:Web modül aksiyonları ................................................................................................................1130
Request.ScriptName .............................................................................................................................1131
Formdan Gelen Verileri Alma.....................................................................................................................1132
Request.QueryFields ............................................................................................................................1132
Örnek:Web formu .................................................................................................................................1133
Veri tabanından bilgi gönderme .................................................................................................................1135
Örnek:Veritabanından notları oku ...........................................................................................................1135
Response.ContentType .........................................................................................................................1137
Response.ContentStream .....................................................................................................................1138
Örnek:Kurları resim olarak gönder ..........................................................................................................1138
Veritabanına bilgi girme ............................................................................................................................1141
Başka Sitelerden Gelen İstekleri Reddetme ................................................................................................1144
Request.Referer ...................................................................................................................................1144
Post Metoduyla Gelen Verileri Alma ...........................................................................................................1145
Request.ContentFields ..........................................................................................................................1145
Request.Method ...................................................................................................................................1147
Kullanıcı Bilgilerini Alma ............................................................................................................................1147
Request.RemoteAddr, Request.RemoteHost ...........................................................................................1147
Request.UserAgent...............................................................................................................................1148
Cookie Kullanma ........................................................................................................................ 1148
SetCookieField(Values: TStrings; const ADomain, APath: string; AExpires: TDateTime; ASecure: Boolean) ..1149
Örnek:Cookie kullanımı .........................................................................................................................1149
Web sayfalarını PageProducer ile Oluşturma .............................................................................. 1151
Web Server Uygulamalarını DLL Olarak Yazma ........................................................................... 1153
Örnek:DLL ...........................................................................................................................................1154
Bölüm Özeti ................................................................................................................................ 1155

31.Bölüm
Indy Server –Indy Clients Kontrolleri ...................................................................................... 1157
TCP Server-TCP Client................................................................................................................ 1158
Delphi 7…Zeydin PALA 48

TIdTCPServer .................................................................................................................................1158
Özellikler .................................................................................................................................................1158
DefautlPort ...........................................................................................................................................1158
Active ..................................................................................................................................................1159
Olaylar ....................................................................................................................................................1159
Örnek:TIdTCPserver ile port dinle ..........................................................................................................1159

TIdTCPClient ...................................................................................................................................1161
Özellikler .................................................................................................................................................1161
Host ....................................................................................................................................................1161
Port .....................................................................................................................................................1161
Metotlar ...................................................................................................................................................1162
Connect ...............................................................................................................................................1162
Disconnect ...........................................................................................................................................1162
WriteLn ................................................................................................................................................1162
ReadLn................................................................................................................................................1162
Örnek:Sunucu-İstemci programı .............................................................................................................1162
Sunucu Programı ..................................................................................................................................1162
İstemci programı ...................................................................................................................................1171
UDP Server-UDP Client ............................................................................................................... 1175
TIdUDPServer ................................................................................................................................1175
Özellikler .................................................................................................................................................1175
Host ....................................................................................................................................................1175
DefaultPort ...........................................................................................................................................1175
Active ..................................................................................................................................................1176
BroadcastEnable ..................................................................................................................................1176
Metotlar ...................................................................................................................................................1176
Send(Host,Port,Mesaj) ..........................................................................................................................1176
Olaylar ....................................................................................................................................................1176

TIdUDPClient ..................................................................................................................................1176
Özellikler .................................................................................................................................................1177
Host ....................................................................................................................................................1177
Port .....................................................................................................................................................1177
BroadcastEnable ..................................................................................................................................1177
Metotlar ...................................................................................................................................................1177
Send(Mesaj) ........................................................................................................................................1177
ReceiveString .......................................................................................................................................1178
Time Server-Time Client ............................................................................................................. 1178

TIdTimeServer .................................................................................................................................1178
Özellikler .................................................................................................................................................1178
DefaultPort ...........................................................................................................................................1178
Active ..................................................................................................................................................1178
BaseDate .............................................................................................................................................1178
Olaylar ....................................................................................................................................................1179
Örnek:Time Server ...............................................................................................................................1179
49 İçindekiler

TIdTime ..........................................................................................................................................1181
Özellikler .................................................................................................................................................1181
Host ....................................................................................................................................................1181
DateTime .............................................................................................................................................1181
BaseDate .............................................................................................................................................1182
Örnek:Dünya Saatleri ............................................................................................................................1182
Örnek:Saat ayarla .................................................................................................................................1183
DayTime Server-DayTime Client ................................................................................................. 1183

TIdDayTimeServer ...........................................................................................................................1183
Özellikler .................................................................................................................................................1183
DefaultPort ...........................................................................................................................................1183
TimeZone ............................................................................................................................................1183
Active ..................................................................................................................................................1184

TIdDayTime .....................................................................................................................................1184
Özellikler .................................................................................................................................................1184
Host ....................................................................................................................................................1184
DayTimeStr ..........................................................................................................................................1184
Örnek:Server tarihi................................................................................................................................1184
Finger Server-Finger Client ......................................................................................................... 1185

TIdFingerServer ..............................................................................................................................1185
Özellikler .................................................................................................................................................1185
Port .....................................................................................................................................................1185
Olaylar ....................................................................................................................................................1185

TIdFinger ........................................................................................................................................1185
Özellikler .................................................................................................................................................1186
Host ....................................................................................................................................................1186
Query ..................................................................................................................................................1186
CompleteQuery ....................................................................................................................................1186
Finger ..................................................................................................................................................1186
VerboseOutput .....................................................................................................................................1186
Örnek:Finger Server .............................................................................................................................1186
Örnek:Finger Client ...............................................................................................................................1192
Telnet Server-Telnet Client ......................................................................................................... 1193
TIdTelnetServer ...............................................................................................................................1193
Özellikler .................................................................................................................................................1193
DefaultPort ...........................................................................................................................................1193
Active ..................................................................................................................................................1193
LoginMessage ......................................................................................................................................1193
LoginAttempts ......................................................................................................................................1194
Olaylar ....................................................................................................................................................1194
TIdTelnet ........................................................................................................................................1194
Özellikler .................................................................................................................................................1194
Host ....................................................................................................................................................1194
Delphi 7…Zeydin PALA 50

Port .....................................................................................................................................................1194
Metotlar ...................................................................................................................................................1194
SendCh(Karakter) .................................................................................................................................1194
Olaylar ....................................................................................................................................................1195
Örnek:Telnet Sunucusu .........................................................................................................................1195
Örnek:Telnet İstemcisi...........................................................................................................................1198
Echo Server-Echo Client ............................................................................................................. 1200
TIdEchoServer .................................................................................................................................1200
TIdEcho .........................................................................................................................................1201
Özellikler .................................................................................................................................................1201
Host ....................................................................................................................................................1201
Port .....................................................................................................................................................1201
EchoTime ............................................................................................................................................1201
Metotlar ...................................................................................................................................................1201
Echo(String) .........................................................................................................................................1201
Örnek:Echo Server programı .................................................................................................................1201
Örnek:Echo Client ................................................................................................................................1202
TrivialFTP Server-TrivialFTP Client ............................................................................................. 1204
TIdTrivialFTPServer ........................................................................................................................1204
Olaylar ....................................................................................................................................................1204

TIdTrivialFTP .................................................................................................................................1204
Özellikler .................................................................................................................................................1204
Host ....................................................................................................................................................1205
Port .....................................................................................................................................................1205
Active ..................................................................................................................................................1205
Metotlar ...................................................................................................................................................1205
Get(const ServerFile: String; const LocalFile: String) ................................................................................1205
Örnek:Trivial FTP Client-Server..............................................................................................................1205
FTP Server ..........................................................................................................................................1205
FTP Client............................................................................................................................................1206
Diğer Indy Clients kontrolleri ...................................................................................................... 1208
TIdIcmpClient ..................................................................................................................................1208
Özellikler .................................................................................................................................................1208
Host ....................................................................................................................................................1209
TTL .....................................................................................................................................................1209
Metotlar ...............................................................................................................................................1209
Ping ....................................................................................................................................................1209
Olaylar ....................................................................................................................................................1209
Örnek: Ping ..........................................................................................................................................1209
Örnek: Trace Route ..............................................................................................................................1211

TIdNNTP ........................................................................................................................................1213
Özellikler .................................................................................................................................................1213
Host ....................................................................................................................................................1213
UserName, Password ...........................................................................................................................1213
51 İçindekiler

Örnek:News server ...............................................................................................................................1213


MsgCount ............................................................................................................................................1214
MsgHigh, MsgLow ...............................................................................................................................1214
Metotlar ...................................................................................................................................................1214
Connect, Disconnect .............................................................................................................................1214
GetNewsgroupList ................................................................................................................................1215

TIdWhois ........................................................................................................................................1215
Özellikler .................................................................................................................................................1215
Host ....................................................................................................................................................1215
Metotlat ...................................................................................................................................................1215
Whois ..................................................................................................................................................1215
Örnek:Whois ........................................................................................................................................1215
Örnek: IP-Domaın adres dönüşümü........................................................................................................1216
Örnek: Ağdaki açık bilgisayar listesi ........................................................................................................1217
TIdHttp ............................................................................................................................................1218
Metotlar ...................................................................................................................................................1218
Get(AURL: string): String .......................................................................................................................1218
Örnek:Sayfadan kur al...........................................................................................................................1219
Get(AURL: string; const AResponseContent: TStream) ............................................................................1221
Indy Misc Kontrolleri .................................................................................................................. 1221

TIdNetworkCalculator .......................................................................................................................1221
Özellikler .................................................................................................................................................1222
NetworkAddress ...................................................................................................................................1222
NetworkMask .......................................................................................................................................1222
ListIp ...................................................................................................................................................1222
Metotlar ...................................................................................................................................................1222
StartIp .................................................................................................................................................1222
EndIp ..................................................................................................................................................1222
NumIp .................................................................................................................................................1222
Örnek:IP test ........................................................................................................................................1223
TIdIPWatch ......................................................................................................................................1224
Özellikler .................................................................................................................................................1224
IsOnline ...............................................................................................................................................1224
CurrentIP .............................................................................................................................................1224
WatchInterval .......................................................................................................................................1224
HistoryEnabled, HistoryFileName, MaxHistoryEntries ...............................................................................1225
IPHistoryList .........................................................................................................................................1225
Metotlar ...................................................................................................................................................1225
LoadHistory..........................................................................................................................................1225
SaveHistory .........................................................................................................................................1225
ForceCheck .........................................................................................................................................1225
Olaylar ....................................................................................................................................................1225
İnternet Bağlantısını Kontrol Etme ..........................................................................................................1226
Örnek:İnternet bağlantısı .......................................................................................................................1226
Örnek:Hangi bilgisayar internete bağlı ....................................................................................................1227

TIdLogDebug ..................................................................................................................................1233
Delphi 7…Zeydin PALA 52

Özellikler .................................................................................................................................................1233
Target .................................................................................................................................................1233
Filename..............................................................................................................................................1233
Active ..................................................................................................................................................1233
LogTime ..............................................................................................................................................1233
Olaylar ....................................................................................................................................................1233
LogItem(ASender: TComponent; var AText: String) .................................................................................1234
TIdDateTimeStamp...........................................................................................................................1234
Özellikler .................................................................................................................................................1234
TimeZone ............................................................................................................................................1234
AsISO8601Calendar .............................................................................................................................1234
AsISO8601Ordinal ................................................................................................................................1234
AsISO8601Week ..................................................................................................................................1234
AsRFC822 ...........................................................................................................................................1234
Örnek:Tarih formatları ...........................................................................................................................1235

TIdAntiFreeze .................................................................................................................................1236

TIdMessage.....................................................................................................................................1236
Özellikler .................................................................................................................................................1236
Body ...................................................................................................................................................1236
Subject ................................................................................................................................................1236
From ...................................................................................................................................................1236
Recipients ............................................................................................................................................1237
Priority .................................................................................................................................................1237
CCList .................................................................................................................................................1237
BCCList ...............................................................................................................................................1237
ReplyTo ...............................................................................................................................................1237
Date ....................................................................................................................................................1237
UseNowForDate ...................................................................................................................................1238
MsgId ..................................................................................................................................................1238
MessageParts ......................................................................................................................................1238
ContentType ........................................................................................................................................1238
Bölüm Özeti ................................................................................................................................ 1238

32.Bölüm
Active Formlar ................................................................................................................. 1241
ActiveForm oluşturma ...............................................................................................................................1241
Web Sayfasına Yerleştirme .......................................................................................................................1243
ActiveForm bileşenini component palete ekleme .........................................................................................1245
Bölüm Özeti ................................................................................................................................ 1247

33.Bölüm
Delphi’de Assembly Kullanımı .............................................................................................. 1249
Değişkenlere Değer Aktarma .....................................................................................................................1249
Değişken Adlarında Özel Durumlar ............................................................................................................1251
53 İçindekiler

Referansla Gelen Değişkenler ...................................................................................................................1251


Kullanamayacağınız Registerler.................................................................................................................1252
Label-Etiket Kullanma ...............................................................................................................................1253
Örnek:Assembly ile toplama ..................................................................................................................1253
Asm kodlarında işlem yapma .....................................................................................................................1253
Desteklenmeyen Komutları Kullanma .........................................................................................................1254
Örnek:Cpuid .........................................................................................................................................1254

34.Bölüm
Delphi projelerini dağıtmak için kurulum programları kullanma .................................................. 1255
İnstallShield Express ile kurulum dosyaları hazırlama ................................................................ 1255
Genel Delphi uygulamalarını dağıtma ......................................................................................... 1257
Uygulama dosyaları ..................................................................................................................................1257
Paket(Package) dosyaları .........................................................................................................................1257
Merge Modüller ........................................................................................................................................1257
Dizin ........................................................................................................................................... 1259
İçindekiler

1
Delphi 7 IDE’ ye bakış
Delphi ile programlama
Veri tipleri, değişkenler ve sabitler
Prosedür ve fonksiyonlar
Karar yapıları ve döngüler
Component Library
Delphi nesne modeli
BaseCLX kütüphanesini kullanma
Hata yakalama teknikleri
Delphi 7…Zeydin PALA 56

1
Delphi 7 IDE’ ye Bakış
Bu bölümde Delphi 7 IDE ortamını tanıyacak ve program arabirimi tasarlarken , program kodu yazarken ihtiyaç
duyacağınız tüm araçları ve teknikleri en özel bir biçimde tanıyacaksınız. Özellikle bu kitabın size sunduğu
sade, akıcı ve açık anlatım tekniği ile adeta konuları yutarcasına ilerleyeceksiniz.

Delphi Nedir?
Delphi görsel ve nesne yönelimli program geliştirme ortamıdır. Delphi ile Windows XP, Windows 2000 ve
Windows 9X ortamlarında çalışan hızlı ve minimum kod ile uygulamalar geliştirebilirsiniz. Delphi aynı zamanda
Linux ortamlarında çalışabilen uygulamaları da Kylix desteği ile sağlayabilmektedir.
Delphi, program geliştirmek için ihtiyaç duyduğunuz her aleti size sunar. Delphi ile programları geliştirebilir,
test edebilir ve uygulamalarınızı dağıtabilirsiniz.

Delphi’ yi başlatın
Delphi programını Başlat-Programlar-Borland-Delphi 7 seçenekleri ile başlatabileceğiniz gibi, Başlat-
Çalıştır kutusuna Delphi32 yazarak ta başlatabilirsiniz.

Delphi IDE(Integrated Development


Environment)
Delphi’yi ilk başlattığınızda bir çok önemli aracı Delphi IDE ortamında bulacaksınız. Delphi IDE; menüleri, araç
çubukları,Component Palet penceresini, Object inspector penceresini, Object TreeView penceresini, Code
Explorer penceresini, Project Manager Penceresini ve diğer aletleri içerir.
 Menü Çubuğu ve menü seçenekleri Delphi’nin müthiş özelliklerini kullanmanızı sağlar.
 Araç Çubukları menü seçeneklerinden daha hızlı bir biçimde Delphi seçeneklerine ulaşmanızı sağlar.
 Component Paleti projelerinizde kullanabileceğiniz çok sayıda bileşeni hizmetinize sunar.
 Tasarım Formu program tasarımı için boş bir form sunar. Bu form kullanılarak kullanıcı arabirimi tasarlanır.
Bir projede birden fazla form bulunabilir.
 Code Editor program kodunu düzenlemenizi sağlar ve nesnelere ait kodları görüntüler.
57 Delphi 7 IDE’ ye bakış

 Code Explorer program uniti içerisindeki sınıfları,değişkenleri, blokları görüntüleyerek hızlı bir biçimde ilgili
kodlara ulaşmayı sağlar.
 Object İnspector nesnelerin özelliklerini değiştirmenizi sağlar ve nesnelere istenilen olayları atar.
 Object TreeView penceresi nesneleri Parent-Child ilişkisine dayanan hiyerarşik bir biçimde görüntüler.
 Menü Çubuğu ve menü seçenekleri

 Menü Çubuğu ve menü seçenekleri

 Menü Çubuğu ve menü seçene


 Araç
 Component Paleti
MenüÇubukları
Çubuğu ve menü seçene


 Araç
 Component Paleti
MenüÇubukları
Çubuğu ve menü seçene


 Araç

MenüÇubukları
Çubuğu ve menü seçene
 Code Editor
 Object TreeView 
 Araç

MenüÇubukl
Çubuğurı ve menü seçene
 Code Editor
 Object TreeView 
 Araç

MenüÇubukları
Çubuğu ve menü seçene

 
 Araç

MenüÇubukl
Çubuğurı ve menü seçene

 
 Araç

MenüÇubukları
Çubuğu ve menü seçene

 
 Araç

MenüÇubukl
Çubuğurı ve menü seçene

 
 Araç

MenüÇubukları
Çubuğu ve menü seçene

 
 Araç

MenüÇubukl
Çubuğurı ve menü seç

 
 Araç

MenüÇubukları
Çubuğu ve menü seçene

 
 Araç

MenüÇubukl
Çubuğurı ve menü seçene

 Object İnspector  
 Tasarım

 Araç
Formu
 Çubukları

Menü Code Explorer
Çubuğu ve menü seçene

 Object
Şekil 1.1-Delphi

7 IDEİnspector  Araç 

Code Explorer
Çubukl rı

yazarak  Araç 
Delphi ortamında nesneleri form üzerine alarak kullanabileceğiniz gibi nesneleri tanımlayan kodları kod

Object İnspector

penceresine Çubukları
ta onları form üzerine alabilirsiniz.
Delphi IDE  olan 
 Araç

ortamında programlama için gerekli
Object İnspector tüm araçlara hızlı ve kolayca erişebilirsiniz.

Çubukl rı

 Object İnspector
Delphi IDE ortamından ayrılmadan kullanıcı arabirimini  
tasarlayabilir, sınıflar ve kütüphaneler arasında

dolaşabilir,kod yazabilir, programı derleyebilir, programı test edebilir, programı Debug edebilir ve Projeleri
 Object İnspector
yönetebilirsiniz.  

 Object İnspector  
Menüler ve araç çubukları

Delphi ana penceresi ekranın en üst kısmında 
Object İnspector yer alır. Bu pencere menü seçeneklerini, araç çubuğu
düğmelerini ve Component Palet bileşenlerini içerir.
 Object İnspector 
Delphi araç çubuğu düğmeleri hızlı bir biçimde istenen işlemi gerçekleştirmenizi sağlar. Araç çubuklarında
 Object
bulamadığınız seçenekleri menü seçenekleri altındayer almakta ve araç çubukları gizlense bile her durumda
İnspector

 Object İnspector 
Delphi 7…Zeydin PALA 58

menü çubuğu seçeneklerini kullanabilirsiniz.

Şekil 1.2-Delphi 7 Component Palet


Bir çok işlemi araç çubuklarının açılan kutularını kullanarak gerçekleştirebilirsiniz.
 Araç çubuğu düğmelerinin ne işe yaradıklarını görmek için kısa bir süre fare ile üzerlerinde durmanız
yeterlidir. Tooltip penceresi ile düğmelerin görevleri gösterilecektir.
 Araç çubuklarını sağ tıklayarak onlar grup halinde gizleyebilir yada tekrar gösterebilirsiniz.
 Araç çubuğu düğmeleri ile yapacağınız birçok şeyi klavye tuş takımları ile de yapabilirsiniz.
 Araç çubuklarını kendinize göre özeleştirebilirsiniz.
 Herhangi bir nesneyi sağ tıklayıp açılan menülere Context menü denilmektedir.
En çok kullanılan klavye tuş takımları aşağıda yer almaktadır.
Tuş Takımı Yaptığı iş
Ctrl+S Tüm değişiklikleri kaydeder
Ctrl+F11 Proje açar
Shift+Ctrl+S Proje içindeki tüm dosyaları kaydeder.
F12 Form ve kod penceresi arasında geçiş yapar.
Shift+F12 Projedeki tüm formların listesini görüntüler.
Ctrl+F12 Projedeki tüm unitlerin listesini görüntüler.
F11 Object İnspector penceresini görüntüler.
Alt+Shift+F11 Object TreeView penceresini açar.

Standart Araç çubuğu


Bu gruptaki düğmeler proje açmak, kaydetmek, projeye dosya eklemek, projeden dosya çıkarmak için
kullanılırlar. Kaydet
Proje Aç
Projeden çıkar

Yardım al
Ekle
Tümünü kaydet

Yeni öğe

Şekil 1.3-Standart araç çubuğu düğmeleri


59 Delphi 7 IDE’ ye bakış

View-Görünüm araç çubuğu


Bu gruptaki düğmeler form ve unitler arasında geçiş yapmak ve projeye form eklemek için kullanılırlar.

Unit göster

Form-Unit arasında geçiş yap

Projeye Yeni Form Ekle


Form göster

Şekil 1.4-View araç çubuğu düğmeleri

Desktop-Masaüstü araç çubukları


Bu gruptaki düğmeler aktif Delphi masaüstünü kaydetmek ve ayarlamak için kullanılırlar.

Aktif masaüstünü kaydet

Debug masasütünü ayarla

Kaydedilen aktif görünüm

Şekil 1.5-Desktop araç çubuğu düğmeleri

Debug Araç çubuğu


Bu gruptaki düğmeler programı normal ve adım adım çalıştırmak, durdurmak için kullanılırlar.
Programı durdur
Satır satır çalıştır
Blok-blok çalıştır
Programı çalıştır

Şekil 1.6-Debug araç çubuğu düğmeleri

İnternet Araç çubuğu


Bu gruptaki düğmeler projeye WebSnap uygulaması, page module ve WebSanap Data module eklemek için
kullanılırlar.
Yeni WebSnap Page Module
Yeni WebSanap uygulaması

Yeni WebSanap DataModule

Şekil 1.7-İnternet araç çubuğu düğmeleri


Delphi 7…Zeydin PALA 60

Component Paleti, Form ve Object İnspector


penceresi
Uygulamalarını geliştirmek için Component paletini, form tasarımcısını, Object inspector penceresini ve Object
TreeView penceresini birlikte kullanacaksınız. Tüm bu araçlar birlikte ve koordineli olarak çalışırlar.

Component paleti
Component paleti gruplar halinde görsel ve görsel olmayan bileşenleri sekme sayfaları içerisinde görüntüler.
Bu sekmeleri componentleri fonksiyonel olarak gruplamışlardır. Örneğin Standart, Additional ve Win32
sekme sayfaları Windows bileşenlerini içerirler. Dialogs sekme sayfası standart Windows diyalog
pencerelerini içerir.
Componet sayfaları

Diğer sayfalara geçiş


yapar

Componetler

Şekil 1.8-Component Paleti


Component palette yer alan grupları fare ile taşıyarak yerlerini değiştirebilirsiniz. Böylece en çok kullandığınız
bileşen grupları bir arada olmuş olur.
Component paletinde yer alan her bir Component kendisine has özelliklere, olaylara ve metotlara sahiptir.
Program esnasında bu özellikleri değiştirerek programınızı kontrol edebileceksiniz.
Component palette yer alan bileşenleri değişik metotlar ile form üzerine alabilirsiniz:
 Bir elemanı çift tıklayarak onun formun ortasında yer almasını sağlayabilirsiniz.
 Bir elemanı fare ile aktif hale getirdikten sonra formun herhangi bir noktasına tıklamak suretiyle form üzerine
alabilirsiniz.
 Bir elemanı aktif hale getirdikten sonra formun üzerinde farenin sol tuşunu kullanarak istediğiniz yere
çizebilirsiniz.

Yeni Componentler Ekleme


Delphi’ye yeni Componentler ve ActiveX kontrolleri eklenebilmektedir.
Yeni bir Delphi componentini eklemek için Component menüsündeki Install Component menüsünü
kullanabilirsiniz.
Delphi'ye bir ActiveX (OCX uzantılı olan ve genelde Visual Basic tarafından kullanılan bir tür) kontrolleri
eklemek için Component menüsündeki Import ActiveX Control komutu kullanılır. Bu komuttan sonra
aşağıdaki pencere açılarak bilgisayarınıza yüklenmiş olan ActiveX kontrollerinin listesi görüntülenir.
Eklemek istediğiniz ActiveX kontrolü listede yoksa Add düğmesi ile OCX dosyasını bulup listeye
ekleyebilirsiniz.
Penceredeki Palette Page kutusundan eklemek istediğiniz kontrolün hangi kısma ekleneceğini seçtikten sonra
Install düğmesi ile Delphi'ye alabilirsiniz.
61 Delphi 7 IDE’ ye bakış

Şekil 1.9-İmport ActiveX penceresi

Component Şablonları (Template) oluşturma


Program tasarımında çokça yapılan işlemler, sık kullanılan bileşen, yada bileşen grupları bir şablon olarak
kaydedilerek aynen standart bir bileşen gibi tekrar kullanılabilir.

Örnek:Bileşen şablonu oluşturma


Örnek olarak yaptığımız programda aşağıdaki gibi personel bilgilerine ait kontrolleri çok sık kullandığımızı
düşünelim. Bu kontrolleri bir Component Template olarak oluşturursak kullanmak istediğimizde tek
düğmeyle hepsini formumuza alabiliriz.

Şekil 1.10-Şablon için form tasarımı


 Önce bu kontrolleri bir form üzerinde oluşturun. Gerekli ayarları veya istediğiniz kodları yazın. Örneğin
meslek kutusunda hazır meslekler bulunmasını istiyorsanız ComboBox’un Items özelliği ile açılan aşağıdaki
Delphi 7…Zeydin PALA 62

pencereye hazır meslekler yazın.

Şekil 1.11-String List Editor


 Şablonda yer alacak bileşenleri seçin.
 Component-Create Component Template.. menü seçeneğiyle aşağıdaki pencereyi açın:

Şekil 1.12-Component Template İnformation diyalog penceresi


Pencerede görüldüğü gibi Component name kutusu bileşene verilecek adı, Palette page kutusunda ise
yeni bileşenimizin yer alacağı Component paletteki yerini belirlemektedir. Bunları istediğiniz şekilde
değiştirebilirsiniz.
Ayrıca Change düğmesiyle yeni bileşenimizi temsil edecek olan ikonu da değiştirebilirsiniz.
 Component paletteki Templates grubuna bakarsanız eklediğiniz şablonun bu grupta bir component gibi
listelendiğini görürsünüz.
Bu yeni simgeyi formunuza alırsanız yaptığınız bütün ayarlar ve yazdığınız kodlarla birlikte kontroller forma
yerleşecektir.
Üstelik kodlarda endişe etmenize gerek yok. Şablonu hazırladığımız formda Edit1 olarak kullandığımız kontrol
yeni formda Edit1 isimli bir kontrol varsa şablondakine başka bir isim verilecek ve kodunuzda Edit1’i gösteren
63 Delphi 7 IDE’ ye bakış

satırlar da yeni isme göre uyarlanacaktır.

Form
Kullanıcı arabirimlerini tasarlamak için form kullanılır. Component palette yer alan bir elemanı form üzerine
alarak istediğiniz biçimde onu boyutlandırabilir, hizalayabilir ve diğer görsel özelliklerini değiştirebilirsiniz.
Form üzerine alınan ve görsel olmayan bileşenleri boyutlandıramazsınız. Bu bileşenler çalışma zamanında
görünmezler. Örneğin Timer bileşeni görsel olmayan bir bileşendir.
 Form üzerindeki bileşenlerin koordinatlarını ayarlamak için fareyi kullanabileceğiniz gibi hassas ayarlar için
Ctrl tuşunu basılı tutarak yön tuşlarını da kullanabilirsiniz.
 Form tasarımını yaptıktan sonra yanlışlıkla form üzerindeki elemanların yerlerinin değişmemesi için Edit
menüsünden Lock Controls seçeneğini kullanabilirsiniz.

Yeni Formlar Ekleme


Programa yeni bir form eklemek için File menüsünden New-Form menüleri kullanılabilir. Programda birden
fazla form varsa bu formlara erişmek için de View-Forms menüsü veya Shift F12 tuşları kullanılır.
 Her form kendi ismiyle ve .DFM uzantısı ile kaydedilir.

Object İnspector
Form üzerine alınan bir bileşenin özellikleri değiştirebilir ve ona ait olay atayabilirsiniz. Form üzerinde seçili
olan elemanın özellikleri dinamik olarak Object inspector penceresinde gösterilecektir.
Object İnspector penceresi bir bileşene ait özellikleri hem alfabetik ve hem de kategorik olarak listeleyebilir.
Pencereyi sağ fare tuşuyla tıklayın ve açılan menüden Arrange-By Category yada Arrange-By Name
seçeneklerinden birini seçin.

Buradan diğer bileşenleri seçebilirsiniz


Form üzerindeki seçili bileşen

Seçili özelliğin aktif değeri

Seçili bileşene ait özellik

Şekil 1.13-Object İnspector penceresi Properties sayfası


Penceredeki Events sekmesi ile seçili bileşenin desteklediği olayları görebilirsiniz.
Delphi 7…Zeydin PALA 64

Seçili bileşene ait aktif prosedür

Diğer prosedürler

Şekil 1.14-Object İnspector penceresi Events sayfası


Events penceresindeki olayların karşısındaki kutu çift tıklanarak varsayılan(default) olayın yazılmasını veya
kendiniz bir alt program ismi yazarak, o olay gerçekleştiğinde seçtiğiniz olayın çalışmasını sağlayabilirsiniz.
Olayların ne olduğunu daha sonraki bölümlerde göreceğiz.

Object TreeView
Object TreeView pencereleri form üzerindeki nesneleri Parent-Child ilişkisine dayanan bir yapıda
göstermektedir. Bu penceredeki bir elemanı seçtiğinizde aynı elemen hem form üzerinde seçilecek hem de
Object İnspector penceresinde elemana ait özellikler gösterilecektir.
Dolayısıyla bu pencere Form ve Object inspector pencereleri ile koordineli olarak çalışmaktadır.

Panel1; Button1,Edit2 ve Edit3’ün parentidir.

Şekil 1.15-Object TreeView penceresi

Code Editor
Siz form üzerinde kullanıcı arabirimini tasarlarken Delphi sizin için arka planda bunlara ait kod üretir. Form
üzerine aldığınız ve değiştirdiğiniz her bir özelliğe ait kod hızlı bir biçimde üretilecektir.
65 Delphi 7 IDE’ ye bakış

Program kodlarını direkt bu editor içerisinde yazabilir ve panodaki metinleri buraya yapıştırabilirsiniz. Tıpkı bir
ASCII editör programı gibi çalışır.

Form üzerine yerleştirilen


Unit adı her bir eleman için kod
üretilir.

Form üzerindeki
elemanlar için
üretilen kodlar

Button1’i tanımlayan kod

Şekil 1.16-Kod Editörü

Kod penceresi özellikleri


Kod penceresinde çalışırken birçok interaktif özellik sayesinde daha hız bir şekilde kod üretebileceksiniz.

Kod tamamlama
Kod penceresinde her hangi bir bileşen adı yada sınıf adı yazıp . operatörüne bastığınızda özellikler, metotlar
ve olay listeleri bir açılan pencere içinde size sunulacaktır. Eğer nokta operatöründe hemen sonra bir karaktere
basarsanız liste içindeki seçenekler bastığınız göre yeniden süzülecektir. Böylece yazılmak istenen seçenek
kolaylıkla bulunacak ve Enter tuşu ile kod penceresinde yerini alacaktır.

. operatörüne basıldığı anda pencere açılır.

Şekil 1.16-Kod tamamlama


 Eğer form üzerinde olmayan bir bileşeni kullanmak isterseniz bu pencere açılmaz.
Delphi 7…Zeydin PALA 66

 Açılan penceredeki özellik ve prosedürler yaprak renkli fonksiyonlar ise mavi renkli olarak gösterilir.
 Açılan pencereyi sağ tıklayıp içeriğini alfabetik olarak yada nesne aralığına bağlı olarak listeleyebilirsiniz.

Kod parametreleri
Kod penceresinde herhangi bir prosedür ve fonksiyon çağrısı yaparken girilmesi gereken parametreler ve
tipleri ile beraber size gösterilir. Örneğin kod penceresinde Form1.Canvas.LineTo( ifadesini yazınca otomatik
olarak ilgili parametreler gösterilecektir.

Prosedüre girilecek parametreler gösterilir

Şekil 1.17-Kod parametreleri

Değişken içeriklerini göster


Bir programı Debug ederken değişkenin içeri fare üzerine geldiğinde gösterilecektir.

Fare değişken üzerine


geldiğinde içeriği gösteriilir

Şekil 1.18-Değişken içeriklerini görme

Tanımlama Tooltipleri
Kod penceresinde fare tanımlanmış her hangi bir ifadenin üzerine geldiğinde ilgili ifadenin amacı
gösterilecektir.
67 Delphi 7 IDE’ ye bakış

Fare integer ifadesi üzerinde iken


tanımlama ifadesi gösterilecektir.

Şekil 1.19-Kod tanımlama tooltipleri

Kod Şablonları
Delphi kod penceresinin en önemli özelliklerinden birisi şüphesiz hazır kod şablonlarını kullanıcının hizmetine
sunmasıdır. Dizi tanımları, program yordamları, karar ifadeleri gibi bir çok yapıya ait kod şablonlarına direkt
kod penceresinden ulaşabilirsiniz.
Bunun için kullanılacak olan sihirli kısayol tuşları CTRL+J dir.
Kod penceresinde iken herhangi bir anda ve ihtiyaç duyulduğunda CTRL+J tuşlarına basın:

Buradan Ctrl+J tuşuna basıldı

Şekil 1.20-Hazır kod şablonları

Açılacak olan kod şablonları listesinden istediğiniz yapıya ait kodu seçebilirsiniz. Örneğin if-then-else yapısına
ait kodu hazır olarak kullanmak için listeden “if then else” ifadesini seçin. Yada kısaca “ifeb” yazın ve Ctrl+J
tuşlarına basın. if-then–else yapısına ait kod bloğu pencereye yazılacaktır.
Delphi 7…Zeydin PALA 68

Listeden if then else seçiliyor

Şekil 1.21-Hazır kod şablonları

Enter tuşuna basıldıktan sonra il then else yapısı pencerede yerini alacaktır.

Şekil 1.22-Hazır kod şablonunun seçilmiş hali

Yeni kod şablonları tanımlamak


Kullanıcı isterse sık kullandığı yapılara ait şablon oluşturabilir. Bunun için Tools-Editor Options menü
seçenekleri açılan Editor Properties penceresinin Source Options sayfasına geçin. Bu penceredeki Edit
Code Templates düğmesini tıklayın.
69 Delphi 7 IDE’ ye bakış

Aktif şablon

Şablon içeriği

Şekil 1.23-Code Templates

Pencerenin Templates listesinden önceden tanımlanmış olan ve direkt Ctrl+J tuşları ile kullanılan kod
şablonları yer almaktadır.
Burada Add düğmesi ile yeni şablon tanımlayabilir, Edit düğmesi ile seçili şablonu düzenleyebilir ve Dilete
düğmesi ile mevcut bir şablonu silebilirsiniz.
Yeni şablon tanımlamak için Add düğmesini kullanın:

Şekil 1.24-Add Code Templates


Birinci kutuya şablon ismi ikincisine ise açıklamasını yazın. OK düğmesine bastıktan sonra Code kutusuna
şablonunuza ait kodu yazın.
Örneğin:

x:=MessageDlg('msg',mtConfirmation,mbYesNoCancel,0);
Delphi 7…Zeydin PALA 70

Şekil 1.25-Eklenen yeni şablonun görüntüsü


Ok düğmesi ile pencereyi kapatın. Ve kod penceresinde iken “msg” yazdıktan sonra Ctrl+J tuşlarına basın.
Oluşturduğunuz şablonun direkt kod penceresine eklendiğini göreceksiniz.

Msg yazıldıktan sonra Ctrl+J tuşlarına basılıyor

Şekil 1.26-Eklenen yeni şablonun test edilmesi

Class Completion
Delphi Editörünün önemli özelliklerinden biri de sınıf tamamlamadır(Code Completion) . Sınıf tamamlama işi
Ctrl+Shft+C tuş takımları ile gerçekleştirilmektedir.
Örneğin Kod penceresinin Type kısmında Kare adında bir prosedürü aşağıdaki gibi tanımladığınızı varsayalım.

public
procedure kare(sayi:integer);
Kod satırını yazdıktan sonra Ctrl+Shft+C tuşlarına basarsanız prosedürün yapısı aşağıdaki gibi otomatik olarak
tanımlanacak ve kod penceresinde yerini alacaktır.

procedure TForm1.kare(sayi: integer);


begin

end;
71 Delphi 7 IDE’ ye bakış

 Satırın hemen
sonunda Ctrl+Shift+C
tuşlarına basın.

Şekil 1.27-Otomatik sınıf tamamlama

 Prosedürün gövde
yapısı yerini alacaktır.

Şekil 1.28-Otomatik eklenen tamamlama bilgileri

Kod Browse
Fareyi kod penceresinde herhangi bir sınıf, değişken,özellik, metod ve başka bir tanımlama üzerine getirip
Ctrl tuşuna basarsanız fare El şekline dönüşecek ve tıklayacaklarınız ise link halini alacaktır. Sözü geçen
seçeneklerden birini tıkladığınızda ilgili seçeneğin tanımlama bilgisine ulaşacaksınız.
Delphi 7…Zeydin PALA 72

Ctrl tuşu basılı halde iken fareyi tıklayın

Geri ok ile kod


TButton sınıfına ait kod gösterilecektir. penceresine dönün

Şekil 1.29-Sınıflara ait kodların gösterilmesi

Diagram Sayfası
Kod editörünü alt kısmı birden fazla sayfayı gösterecek bir özelliğe sahiptir. Bu kısımda yer alan Diagram
sayfasında form üzerindeki elemanların ilişkisel yapısı ve data elemanları arasındaki yapı burada
tasarlanabiliyor.
Yeni diyagram oluşturmak için Diagram sayfasını tıklayın. Object TreeView penceresindeki nesneleri taşıyarak
panel üzerine bırakın. Form üzerine bir birleri ile bağlantılı olan elemanlar arasında otomatik olarak çizgiler
çizilecektir. Diğer elemanlar arasındaki çizgileri kendiniz de çizebilirsiniz.
Diyagramlar, özellikle master-detail tablolar arasındaki ilişki biçimlerini göstermek açısından son derece
faydalıdırlar.
Diagram penceresindeki Name kutusunu kullanarak oluşturduğunuz diyagramları kaydedebilir ve önceden
kaydedilmiş olanları açılan kutu ile görüntüleyebilirsiniz.
73 Delphi 7 IDE’ ye bakış

Buradaki elemanları sürükleyerek Diagram üzerine bırakabilirsiniz.

Şekil 1.30-Diyagram sayfasında çizim

Forma ait kodu gösterme


Formlar Delphi projelerinin görsel araçlarıdır. Delphi formları bir dosyaya .dfm olarak kaydedilir. Bu dosya
içinde form dahil olmak üzere form üzerindeki tüm elemanların kodları yer alacaktır. Form ve üzerindeki
elemanlar için üretilen kodları görmek için formu sağ tıklayın ve View As Text komutunu verin. Form
üzerindeki tüm elemanlara ait özelikler gösterilecektir. Eğer buradaki değerler ile oynarsanız formun görsel
özelliğini de değiştirmiş olursunuz(Şekil 1.31).
Tekrar grafik görünümüne geçmek için kod penceresinin sağ tıklayın ve View As Form komutunu verin.
Yada hızlı bir biçimde Alt+F12 tuşları ile iki mod arasında geçiş yapabilirsiniz.

Formu tanımlayan tüm komutlar tolu


halde

Şekil 1.31-Forma ait kodun gösterilmesi


Projeye ait formları Text formatında yada binary formatında kaydedebilirsiniz. Varsayılan değeri Text
formatıdır. Bu formatı değiştirmek için Tools-Environment Options menü seçeneklerini kullanın. Çıkan
Delphi 7…Zeydin PALA 74

pencerenin Designer kısmında New Forms as text işaretini kaldırırsanız formlar binary formatına
kaydedilecektir.

Burası işaretsiz kalırsa form binary olarak


kaydedilecektir

Şekil 1.32-Environment Options

Code Explorer
Delphi’yi açtığınızda Code Explorer kod penceresinin sol tarafında kilitlenmiş bir biçimde yerini alacaktır.
Code Explorer kod penceresinde yer alan tipleri, sınıfları, özellikleri, metotları,global değişkenleri, rutinleri
hiyrerşik olarak gösterir. Ve diğer unitlerin uses deyimi kullanıldığını da gösterir.
Code Explorer penceresini kullanarak kod editörü içinde hızlı bir biçimde dolaşabilirsiniz. Code Explorer içindeki
bir ifadeyi tıkladığınızda kod penceresinde bu ifadenin geçtiği kısım otomatik olarak aktif hale gelecektir.

Buradaki bir seçenek çift tıkladığında kod


penceresinde ilgili kısım aktif hale gelir.

Şekil 1.33-Code Explorer


Code Explorer penceresinin kendi içerisindeki seçeneklerin nasıl göstereceğini ve hangi seçenekleri
göstereceğini ayarlamak için Tools-Environment Options menü seçeneklerini kullanın. Explorer sayfasında
tüm seçenekleri bulabilirsiniz.
75 Delphi 7 IDE’ ye bakış

Şekil 1.34-Environment Options-Explorer

Project Manager
Delphi’yi yeni başlattığınızda otomatik olarak yeni bir proje başlatılacaktır. Proje içinde birden fazla dosya
bulunacaktır. Proje içindeki dosyaları görüntüleyebilir ve yönetebilirsiniz. Project Manager içinde formlar,unitler
ve kütüphane dosyaları bulunabilir.
Project Manager penceresini göstermek için View-Project Manager menü seçeneklerini kullanabilirsiniz.
Project Manager penceresine yeni projeler eklemek için New düğmesini projeden bir dosya silmek için de
Remove düğmesini kullanabilirsiniz. Activate düğmesini bir projeyi aktif yapmak için kullanacaksınız. Bir anda
sadece bir proje aktif olacaktır.

Şekil 1.35-Project Manager


Project Manager içindeki tüm projeler bir proje grubu olarak kaydedilecektir. Benzer özellikleri içeren
projeleri bir grup olarak kaydetmek oldukça büyük kolaylıklar sağlayacaktır.

Project Browser
Project Browser bir projeyi detaylı olarak inceler. Project Browser sınıfları, unitleri, global
sembolleri(tipler, özellikler, metotlar, değişkenler ve rutinler) ağaç yapısında gösterir. Bu pencereyi View-
Browser menü seçenekleri ile görüntüleyebilirsiniz. Bu pencere Global nesneleri,sınıflar ve unitleri kategorik
olarak görüntüler.
Delphi 7…Zeydin PALA 76

Şekil 1.36-Project Browser

To –Do listeleri
To-do listeleri bir proje için yapılacak işlemleri kaydeder. View-To-do List menü seçeneği ile bir pencereyi aktif
hale getirebilirsiniz. Özellikle büyük projelerde birden fazla kişinin çalıştığı bir kurumda bu tür bir özellik
oldukça fazla üretkenlik sağlayacaktır.

Şekil 1.37-To-Do listesindeki işlerin durumu


Herhangi bir iş tamamlandığında işaret kutusunu işaretlediğinizde işin üzeri çizilecek ve projenin hangi
aşamada olduğu kolaylıkla öğrenilebilecektir.
To-do listesine iş eklemek için sağ tıklayın ve Add komutunu verin. Açılacak pencere yardımıyla iş
tanımlayabilir işin kategorisini ve kimin yapması gerektiğini de girebilirsiniz.

Şekil 1.38-To-Do listesindeki işleri düzenleme


77 Delphi 7 IDE’ ye bakış

Object Repository
Object Repository; formları, diyalog kutularını,data modüllerini, wizardları, DLL dosyalarını, örnek uygulamaları
ve diğer öğeleri içerir. Yeni bir projeye başlandığında File-New-Others seçenekleri New Items penceresi
aktif hale getirilir. Bu pencere Object Repository penceresinin aynısıdır.

Şekil 1.39-New Items penceresi


Object Repository den bir nesnenin kopyasını, kendisini yada nesneden miras alarak kullanabilirsiniz. Object
Repository den bir nesneyi kaldırmak yada eklemek için Tools-Repository menü seçeneklerini
kullanabilirsiniz.

Şekil 1.30-Object Repository


New item penceresindeki sayfaların sırasını değiştirmek için aşağı-yukarı düğmelerini kullanabilirsiniz.
Delphi 7…Zeydin PALA 78

Delphi’de Kullanılan Dosya Tipleri


Delphi de gerek tasarım gerekse derleme aşamasında bir çok dosya oluşturuluyor. Bu dosyaların neler
olduğunu kısaca açıklamaya çalışalım.
Dosya türü Açıklama
.pas Her bir unitin kaynak kodlarını içeren dosyalardır. Delphi’de oluşturulan formlara ait kodlar
da PAS uzantılı dosyalarda saklanır.
.~pa Pascal(pas) dosyalarının yedeğini saklar.
.dfm Form dosyalarıdır. Delphi’de oluşturduğunuz formlar ve üzerindeki kontrollere ait bilgiler
bu uzantıdaki dosyalara kaydedilir.
.~fm Delphi form dosyalarının yedeğini içerir.
.dfn Hedef dillere ait bilgileri içeren dosyadır.
.dpk Delphi Package. Paket için proje kaynak dosyasını içerir.
.exe Bir programı çalıştırmak için F9 tuşuna bastığınızda ona ait çalıştırılabilir dosya otomatik
olarak oluşturulacaktır.
.dcu Derlenmiş unit dosyaları bu uzantıyla kaydedilir. Bir uygulamayı çalıştırdığınızda önce ona
ait unitler derlenir ve EXE hale getirilir.
.dpr Proje kaynak dosyası. Delphi projeleriniz bu tür dosyalara kaydedilir. Herhangi bir anda
bunlara ait kodu görmek için Project-View Source menülerini kullanabilirsiniz.
.~dp Proje kaynak dosyasının içeriğinin yedeğini alır.
.bpg Project Manager tarafından kullanılan bpg(Borland project Group) doyası.
.bpl VCL bileşenlerini içeren DLL dosyası.
.cfg Proje seçeneklerini içeren ayar dosyası.
.res, .rc Derlenmiş binary kaynak (Resource) dosyaları. Windows tarafından standartlaştırılan bu
formattaki dosyalarda resim, ikon, kursor gibi bilgiler bulunur.
.dsk Projenize ait masa üstü ayarları bu dosyaya kaydedilir. Hangi formun açık olduğu,
ekrandaki koordinatları gibi bilgiler bu dosyada tutulur.
.dof Project--Options diyalog penceresindeki ayarları içeren dosya.
.bmp,.ico, .cur Bitmap resimleri saklamak içim kullanılan standart Windows dosyalarıdır.
.cab Delphi tarafından Web uygulamaalrını dağıtmak için kullanılan Microsoft Cabinet
sıkıştırılmış dosya biçimidir.
.dcp Delphi Component Package dosyasıdır. Kod için sembol bilgilerini içerir.
.ddp Delphi Diagram Portfolio dosyasıdır.
.dsm Delphi Symbol Module.Tüm tarayıcı sembol bilgilerini saklar.
.htm İnternet web sayfaları için kullanılan dosya formatıdır.
.lic OCX dosyaları ile ilişki olan lisans dosyalarıdır.
.obj Derlenmiş dosya kodunu içerir.
.ocx OLE Contol Extention. DLL dosyalarının özel bir versiyonudur.
79 Delphi 7 IDE’ ye bakış

.rps Translation Repository(Tümleşik dönüştürme ortamının bir parçasıdır.)


.tlb Type Library Editor tarafından oluşturulan dosyadır.
.todo To-do liste dosyalarıdır.
.udl Microsoft Data Link.

Project-Options menüleri ile açılarak yapılan projeye ait ayarlar, projeyle aynı isimli fakat DOF uzantılı
dosyalara kaydedilir.
Yazdığınız bir projeyi derlediğinizde projenizde bulunan PAS ve DPR uzantılı dosyalar derlenir ve onlara ait
DCU uzantılı dosyalar oluşturulur. Daha sonra bu dosyalar formlar ve Resource dosyaları ile link edilerek EXE
dosyalar oluşturulur.
Bir projeyi kaydederken sizden sadece unit ismi(pas) ve proje ismi(dpr) sorulur. Diğer dosyalar ise otomatik
olarak ayni isimlerden türetilerek oluşturulur.

Delphi IDE tarafından oluşturulan dosyalar


Dosya türü Açıklama
.dci Delphi kod şablon dosyalarıdır.
.dro Delphi Object Repository.
.dmt Delphi menu templates.
.dbi Database Explorer İnformation.
.dem Delphi edit mask.
.dct Delphi Component Templates.
.dst Desktop setting file.

Bölüm Özeti
Bu bölümde Delphi IDE ile tanıştınız. Delphi 'nin ne olduğu ve program geliştirmek için hangi araçlara ihtiyaç
duyacağınızı ve ilgili araçları nerede ve nasıl bulacağınızı artık biliyorsunuz.
Delphi kod editörünün size sunduğu güçlü özellikleri bizzat uygulayabileceksiniz. Component palet içindeki
grupları istediğiniz gibi özelleştirebiliyorsunuz artık. Delphi projeleri ile çalışırken gerek proje tarafından
otomatik olarak gerekse sizin tarafınızdan diske kaydedilen dosya türlerinin neler olduğunu artık biliyorsunuz.
Şimdi bir sonraki adıma hazır olun. Çünkü artık programlamaya başlayacaksınız. Göreceksiniz her şey hem çok
kolay, hem çok zevkli ve o kadar da heyecanlı olacaktır.

View publication stats

You might also like