Professional Documents
Culture Documents
Delphi‟yi açtığınızda karşınıza ana form, Component Palet ve Object Inspector (özellikler ve olaylar penceresi)
gelir.
FORM
COMPONENT PALET
Bu palet üzerinde Delphi‟de kullanacağımız kontroller (nesneler) bulunur. Bunlar programlarımız için arabirim
oluşturmakta kullandığımız form üzerine yerleştirilir.
OBJECT INSPECTOR
.pas Her unitin kaynak kodlarını içeren dosyalardır. Delphi'de oluşturulan formlara ait kodlar da PAS
uzantılı dosyalarda saklanır.
.dfm Form Dosyalarıdır. Delphi'de oluşturulan formlar ve üzerindeki kontrollere ait bilgiler bu uzantıdaki
dosyalara kaydedilir.
.dsk Projemize 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.
.exe Çalıştırılabilir program dosyası. Application projeleri çalıştırıldığında onlara ait EXE dosya, projeye
verilen isimle otomatik olarak oluşturulmaktadır.
.dcu Derlenmiş unit dosyaları bu uzantı ile kaydedilir. Bir uygulamayı çalıştırdığımız zaman ilk önce unitler
derlenir ve EXE hale getirilir.
.dpr Proje Kaynak Dosyası. Delphi'deki projeler bu tür dosyalara kaydedilir.
.res Derlenmiş Binary Kaynak ( Resource ) Dosyaları. Windows tarafından standartlaştırılan bu formattaki
dosyalarda resim, ikon, kursor gibi bilgiler bulunur.
> STANDARD SAYFASI: Standart sayfası, bir uygulama geliştirirken en sık kullanacağımız etiket, metin
kutusu ve menü gibi bileşenleri içerir.
> ADDITIONAL (EK) SAYFASI: Komut butonları ve şekiller gibi ek bileşenler yer alır.
BitBtn: Sadece tıklanabilen ve üzerinde bir bitmap resim yer alabilen bir düğme sunmak için.
SpeedButton: Yine resimli ve tıklanabilen, ancak bir düğme grubu olarak da çalışabilen düğmeler oluşturmak
için.
MaskEdit: Kullanıcının sadece geçerli karakterler girmesi için veri görüntüsünü formatlamak için.
StringGrid: Yazıları sütun ve satırlara yerleştirmek için bir alan sunar.
DrawGrid: Metinsel olmayan bilgileri sütun ve satırlara göstermek için bir alan teşkil eder.
Image: Bir bitmap, ikon veya metafile göstermek için.
Shape: Geometrik şekiller vermek çizmek için. Elips, dikdörtgen veya köşeleri yuvarlatılmış dikdörtgen.
Bevel: Yükseltilmiş ya da çukur görüntüsü verebilen dikdörtgenler ya da çizgiler sunmak için.
ScrollBox: Kaydırılabilen (ve formdan daha küçük) bir görüntü alanı sunmak için.
> WIN32 SAYFASI: Windows95'in arabirimi ile uyumlu olan yeni bileşenler ve eski bileşenleri güncelleşmiş
sürümleri vardır.
DataSource: Bir sorgu veya tablo ile, uygulamalarınızda veri bilinçli kontroller arasında ilişki kurmak için.
Table: Bir veritabanı tablosunu Delphi uygulamasına bağlamak için.
Query: Yerel veritabanı ya da uzak SQL hizmet birimine bir sorgu yapılandırmak ve çalıştırmak için.
> DATA CONTROLS (VERĠ KONTROLLERĠ) SAYFASI: Veritabanı uygulamaları geliştirirken, Data
Access sayfasındaki bileşenlerle uygulamanıza eklediğiniz verileri kullanıcıya sunan, veri bilinçli elemanlar
Component Palette'in bu sayfasında yer alırlar.
> SYSTEM (SĠSTEM) SAYFASI: Zamanlayıcılar, dizin ve dosyalar, multimedya cihazları ve OLE-DDE gibi
sistem seviyesindeki işlemleri gerçekleştiren bileşenler, System sayfasında toplanmıştır.
Formlar, bir Delphi uygulamasının merkezini teşkil eden arabirimlerdir. Görsel olan yada olmayan tüm eleman
yada bileşenler, formların üzerine yerleştirildiklerinde kullanılabilirler. Formlar kullanıcı adına bir pencere
diyalog kutusu ya da bir bilgi giriş ekranı olarak kullanabilir.
Delphi‟yi başlatıldığında standart ayarlara sahip boş bir form otomatik olarak gelir. Yeni uygulama geliştirmek
için bu form başlangıç noktası olarak kullanılır yada yeni bir form seçilerek veya oluşturarak da çalışılabilir.
Formların Özellikleri
Windows uyumlu programlarda olduğu gibi bu formda da başlık çubuğu, sağ üst köşesinde Ekranı Kapla ve
Simge Durumuna Küçült düğmeleri bulunmaktadır. Formun sol üst köşesinde ise Denetim Menüsüne ait
düğme bulunur. Tek tıklama ile Denetim menüsü açılır. Burada Simge Durumuna Küçült, Ekranı kapla gibi
komutlar bulunur. Kapat komutuyla form kapatılır. Tekrar açmak için View menüsünden Project Manager
komutu yardımıyla projedeki Form ve Unit‟ler tekrar görüntülenebilir. Form hazırlanırken fare ile boyut ve
konum için ayarlar yapabilir. Formlarla ilgili olarak anlatılacak olanlar 3 gruba ayrılabilir. Formun özellikleri
belirlemede kullanılan, Properties’dir. Formların hemen hemen bütün özellikleri Object Inspector
penceresinden ayarlanabilir. İkinci sırada formlara uygulanabilen olaylardan bahsedilebilir. Son olarak da
metodlar vardır. Örneğin; formun üzerine TextOut ( ) metodu ile bir bilginin yazılması.
Formların boyutları, aktif olduğu sırada ekrandaki yeri, rengi, kenar çizgileri, başlığı gibi özellikleri söz
konusudur. Forma ait olan ve formun hazırlanması ile birlikte otomatik olarak tanımlanan ve form hakkında
bilgi içeren bu değişkenlere Delphi dahilinde Properties adı verilmektedir. Bu değişkenlerin çoğunun içeriği
tasarım anında Object Inspector penceresinden değiştirilebilir. Bazı özellikleri ise ancak çalışma anında
program kodu ile değiştirmek mümkündür. Yeni formların bazı özellikleri vardır ki bunları çalıştırma anında
değiştirmek mümkün değildir. Bunlar ancak tasarım anında değiştirilebilir. Çalışma anında formların
özelliklerini değiştirmek, bir değişkene değer atamaya benzer.
Formların maksimize, minimize gibi özelliklerinde değişiklikler için BorderIcons özelliğinden yararlanılır. Bir
dizi şeklinde tanımlanmıştır. Object Inspector‟da bu özelliğin önünde bir (+) işareti bulunur. Buraya fare ile çift
tıklama yaparsak bu alt özelliğe 4 özellik daha eklenir. Bu özelliklerden False diğerine aktarıldığında icon‟lar
soluk olarak görüntülenir veya hiç görüntülenmezler.
Çalışma anında formun boyutunu kullanıcının değiştirmesini önlemek için BorderStyle özelliğinde değişiklik
yapılması gerekir. Formlar için seçilebilecek 4 değişik çizgi tipi vardır. Formun sınırları çizgi ile belirlenmek
istenmiyorsa bsNone atanması gerekir. Bu durumda hem başlık bilgisi hem de düğmeler kaybolur. BsDialog
seçilirse maximize ve minimize özellikleri kaldırılır. BorderStyle özelliği program kodu yazılarak
değiştirilemez.
Formların başlık bilgisi Caption özelliğinde saklanır. Adı ise name özelliğindedir. Name özelliği formu temsil
eden özelliktir ve program kodu yazılarak değiştirilemezler. Formun genişliği Width, yüksekliği ise Height
özelliğinde saklanır. Formun ekrandaki konumu ise Left ve Top özelliklerinde saklanır. Top; formun ekranın
üst kenarına olan uzaklığı, Left ise ekranın sol kenarından pixel cinsinden uzaklığıdır.
Formların denetim menüsünü açarken tıkladığı bir icon vardır. Bu icon Delphi tarafından atanır. Bu iconu tüm
projelerde geçerli olacak şekilde Project menüsünden Option komutunu verip gelen Project optionun dialog
kutusundaki Application sekmesinden değiştirebilir. Fakat üzerinde çalışılan formda bu değişikliği yapmak için
formun icon özelliğinden yararlanılır.
Windows uyumlu programlarda fare işareti bulunduğu ortama göre yapılabilecek işlemleri işaret etmek üzere
şekil değişikliğine uğramaktadır. Bu etkiyi nesneye ait Cursor özelliği verebilir. Fare işaretini temsil eden 17
adet sabit değer vardır. crDefault normal fare görünümü temsil eder ve varsayılan olarak seçilidir.
Formları kullanılmaz duruma getirmek için Enable özelliğine False değerinin ataması gerekir. Bu özellik
varsayılan olarak True değerini içerir. Tasarım anında formu kullanılmaz duruma getirmek pek anlamlı bir
işlem değildir. Fakat çalışma anında bazı durumlarda bu durum istenebilir. Bir diğer özellik Hint özelliğidir.
Bunun görevi ipucu görüntülemektir. Fare ile nesne üzerine gelindiğinde bir süre sonra ne iş yaptığına dair bir
metin görüntülenir. Hint özelliğinden yararlanmak için iki işlem yapılmaktadır. İlk olarak False değeri içeren
ShowHint özelliğine True değerini aktarmak, ikinci olarak Hint adlı özelliğe görüntülenecek metni girmek
gerekir.
Seçili durumda olan form veya nesne için tanımlı olan olayları görmek için Object Inspector penceresinin
Events başlıklı sekmesine tıklamak yeterlidir. Delphi tarafından herhangi bir nesne için önceden tanımlı olan
olaylardan biri meydana geldiği zaman, yapılmak istenen işlemleri belirlemek için PAS uzantılı UNIT dosyası
içinde bir yordam hazırlanır. Ardından bu yordamın adı Object Inspector‟da ilgili yere yazılır. Bir olayı
tanımlamak için Object Inspector penceresinin Events sekmesinde ilgili yere çift tıklama yapılması yeterlidir.
Form üzerine tıklama yapıldığı zaman Click, çift tıklama yapıldığı zaman ise DblClick, Close metodu ile form
kapatıldığı zaman ise OnClose olayı meydana gelir. Form tıklandığı zaman ise FormClick olayı meydana
gelir.
OnCreate olayı: Delphi projelerine dahil edilen bütün formlar, proje çalıştırıldığında otomatik olarak
hazırlanıp belleğe yüklenmektedir. OnCreate olayı bu anda meydana gelir. FormCreate yordamını kalıbını
hazırlamak için tasarım anında form üzerinde çift tıklamanız yeterlidir.
Üzerinde çalışılan projede sadece bir form varsa, formun belleğe yüklenmesi ve silinmesi gibi sorunlarla
ilgilenilmesine gerek yoktur. Çünkü proje çalıştırıldığında form otomatik olarak hazırlanır ve sonra aktive
edilip ekrana getirilir. Projenin çalışması bitince formda otomatik olarak bellekten silinir. Fakat projede birden
fazla form söz konusu ise formların aktive edilmesi ve pasif duruma getirilmesi programcının işi olmuş olur.
Projeye dahil edilmiş bir formu ekrana getirmek için Show metodundan yararlanılır. Formlar show metodu ile
ekrana getirilirken Activate olayı meydana gelir. Bu olay meydana geldiği zaman, söz konusu forma ait unitte
FormActivate adında bir yordam varsa işletilir. Aktif durumda olan bir form varken ikinci bir form ekrana
getirildiğinde daha önceki form pasif duruma gelir. Bu sırada Deactive olayı meydana gelir. Çalışma sona
erdirilen bir form bellekten silinir. Bu durumda ise Destroy olayı meydana gelir.
Close Olayı : Formun kapatılması sırasında meydana gelir. OnClose olarak ifade edilir. Kapatılan form Show
metoduyla tekrar ekrana getirilebilir. Bu olaya ait yordama Action diye bir parametre gönderilir. Action
parametresine caFree sabit parametresi aktarılırsa form kapatılır, caMinimize değeri aktarılıp form simge
durumuna getirilebilir. Aynı şekilde caHide parametresiyle form ekranda gizlenebilir.
ReSize Olayı : Çalışma anında formun boyutunda yapılan değişikliklerle Resize olayı meydana gelir. Çalışma
sırasında formların boyutlarında değişiklik yapılıp yapılamayacağı BorderStyle değişkeninin içeriğine bağlıdır.
KeyPress Olayı : Çalışma anında klavyenin yön ve kontrol (Ctrl, Alt, Shift) tuşları dışında herhangi bir tuşa
basılması halinde OnKeyPress olayı meydana gelir. KeyPress olayı için Delphi tarafından düzenlenen yordam,
basılan tuşun kendisi parametre olarak gönderilir.
KeyDown ve KeyUp Olayları : KeyDown ve KeyUp olayları işlevleri bakımından KeyPress olayına
benzeseler bile bazı farklılıklar vardır. KeyDown olayı tuşa basıldığı anda, KeyUp ise tuş bırakıldığı anda
meydana gelir. Basılan tuşun Ascii kodu Key adlı değişkene aktarılır. Shift adındaki 3. Parametre ise bu olay
meydana geldiği zaman Shift, Ctrl ve Alt tuşlarından birinin basılı durumda olup olmadığı konusunda bilgi
içerir. KeyDown olayı sırasında Shift tuşu basılı ise ssShift, Ctrl tuşu basılı ise ssCtrl, Alt tuşu basılı ise ssAlt
değeri döner.
MouseDown Olayı : Bu olay çalışma anında formun üzerinde farenin herhangi tuşuna basılması halinde
meydana gelir. Bu olayı temsil eden FormMosueDown yordamı 4 parametreye sahiptir. Button adlı 2.
Parametre MouseDown olayının meydana geldiği sırada farenin hangi tuşuna basıldı bilgisini bildirir. Farenin
sol tuşu ile bu olay meydana geldiyse button parametresine mbLeft, sağ tuş ise mbRight, her iki tuşa birlikte
basılmışsa mbMiddle değeri aktarılır.
MouseUp Olayı : Kullanıcının farenin basılı olan tuşunu bıraktığı sırada gerçekleşir. MouseUp yordamı 3
parametreye sahiptir. Bu olaydan form veya başka bir nesne üzerinde fare ile taşıma veya boyut değişiklik
yapılan uygulamalarda yararlanılmaktadır.
Her şeyi ile nesne yönelimli bir program geliştirme aracı olan Delphi ile geliştirilen uygulamaların en temel
bileşenleri olan formlar ve formlara dahil edilen nesnelerdir. Uygulamalara dahil edilen her nesnenin varsayım
olarak bazı özellikleri bulunmaktadır. Bir nesne için anlatılması en önemli plan konulardan biri de üzerinde
işlem yapmaya yarayan metodlardır.
Show Metodu: Formların görüntülenmesi için kullanılan bir metoddur. Projede bir tek form var ise Show
metoduna ihtiyaç duyulmayabilir. Fakat projede birden fazla form var ise proje çalıştığında sadece biri
görüntülenir ve formların görüntülenmesini program kodunda show metodunu kullanarak programcının
görüntülemesi gerekmektedir. Daha önce ekranda görüntülenmesine rağmen pasif durumda olan veya hide
metodu ile gizlenmiş formlar show metodu ile tekrar ekrana getirilebilirler.
Close ve Hide Metodları : Close metodu ile daha önce ekrana getirilmiş formlar kapatılabilir. Fakat projede
birden fazla form var ise önce formun adı belirtilmelidir. Hide metodu ile formlar masa üstünden kaldırılıp
gizlenir. Tekrar görüntülenmesi için show metodu kullanılır. Ekrana tekrar getirilen form orijinal görünümünü
korur.
EDĠT KONTROLÜ
Metin kutusu (Edit) Component Palette araç çubuğunda standart sekmesinde bulunmaktadır. Genel olarak bilgi
girişi yapmak için kullanılır. Edit nesnesine girilen veya atanan bilgi Text özelliğinde tutulur ve varsayım
olarak “Edit1” bilgisi atanır. Birçok nesnede bulunan Caption özelliği edit nesnesinde yoktur. İlk metin
kutusundan diğerine geçmek için Tab tuşuna basabilir veya fare ile üzerine tıklanabilir.
AutoSelect : Kullanıcı Tab tuşunu kullanarak öğemizin üzerine geldiğinde, yazının seçili gelmesini sağlar
AutoSize : Bileşenin yüksekliğinin yazıya göre ayarlanmasını sağlar.
CharCase : Bileşene girilen yazının harflerinin nasıl girileceğini ayarlar. (Küçük, büyük normal)
Color : Bileşenin arka plan rengini belirler.
Cursor : Bileşenin üzerine geldiğinde farenin alacağı şekli belirler.
Enabled : Bileşenin aktif olmasını sağlar.
Font : Yazı tipini belirler.
Height : Bileşenin yüksekliğini belirler. („AutoSize‟ özelliği „True‟ ise etkisizdir).
Hint : İpucu girilmesini sağlar.
Left : Bileşenin yatay olarak yerini belirler
MaxLength : Girilebilecek metnin maksimum uzunluğunu belirler
Name : Bileşenin ismini belirler
PasswordChar : Bileşenimizi şifre girişi için kullandığımızda işe yarar.
PopupMenu : Yan menüyü belirler.
ReadOnly : Bileşenimizi sadece okunabilir yapabiliriz.
ShowHint : İpucunun ekranda görüntülenmesini sağlar.
Text : Pencere açıldığında bileşende görülecek olan yazıdır.
Top : Bileşenin dikey olarak yeri belirtilir.
Width : Bileşenin enini belirler.
BORLAND DELPHI'DE VERĠ TABANI
Veri Tabanı Dosyası, Delphi ile birlikte gelen Borland Database Desktop ile tasarlanabilir. Bunun dışında
Visual Dbase, Dbase for Windows, Paradox, Dbase VI, Access gibi veri tabanı programları da desteklenir.
Şimdi Database Desktop programı ile veritabanı hazırlamaya başlayalım.
Not: Sütunlara bilgiler girildikten sonra, Save As tuşuna basılarak oluşturduğumuz Tablo kaydedilir.
VERĠTABANI BĠLEġENLERĠ
Data Access kısmındaki kontroller program çalıştığında ekranda gözükmeyen bileşenlerdir. Bu bileşenler Data
Controls kısmındaki kontroller ile görüntülenecek veriler için veritabanları ile köprü vazifesi görürler.
TTable: En önemli özellikleri DataBaseName ve TableName'dir. Database Name'e BDE içinde tanımladığımız
alias verilebilir. Örneğin: Formumuza Data Access kısmından 1 tane TTable yerleştirelim. Bunun Database
kısmına DBDEMOS aliasını seçelim. Daha sonra TableName kısmındaki ComboBox'tan country.db' yi
seçelim.
DataSource: Verilerin Data Controls kısmındaki bileşenler yardımıyla görüntülenmesi için Table, Query gibi
kontrolleri mutlaka Datasource'e bağlanması gerekmektedir. Az önce formumuza Table yerleştirmiştik. Şimdi
formumuza Data Access kısmından Data Source kontrolünü yerleştirelim. Object Inspector penceresinden
Dataset özelliğini az önce koyduğumuz Table1'e ilişkilendirelim.
DbEdit: Görsel kontrollerden biridir. Data Controls' dan seçip formumuza yerleştirelim. DbGrid'in önemli
kısımlarından DataSource ve DataField'dir. Şimdi DataSource kısmında DataSource1'i seçelim. DataField
kısmından da Area 'yı seçelim. Gerekli diğer kontrolleri de yerleştirdikten sonra; Table1'i seçerek Object
Inspector'den Active kısmını True yapalım; sonra programı F9 tuşuna basarak çalıştıralım. Görüleceği gibi
country.db'ye ait bütün bilgiler ekranımızda belirdi.
DbGrid: Verilerin gösterilmesi için kullanılır. Gösterilecek alanlar ayarlanabilir, verilerin fontu değiştirilebilir.
Az önceki örneğimizdeki formumuza Data Controls kısmından DbGrid yerleştirelim. Daha sonra Object
Inspector'de DataSource özelliğini DataSource1 değerini verelim. Böylece programı çalıştırdığımız zaman Grid
sütunlarında, alanlar ise satırlarında gösterildiğini göreceğiz.
DbNavigator: Veriler üzerinde güncelleme, silme, yeni kayıt ekleme, ileri - geri gitme vb. gibi işlemlerin
yapıldığı araç çubuğudur. Örneğimizde formumuza Data Controls kısmından DbNavigator yerleştirelim ve
Object Inspector kısmında Data Source özelliğini Data Source1 yapalım. Programı çalıştırdığınız zaman
istediğiniz işlemleri DbNavigator çubuğuyla yapabileceğinizi göreceksiniz. Bu çubuktaki özellikleri
inceleyelim.
First: İlk kayda gider.
Prior: Bir önceki kayda gider.
Next: Bir sonraki kayda gider.
Last: En son kayda gider.
Insert: Mevcut kayıttan önce araya bir kayıt ekler.
Delete: Mevcut kaydı siler bir sonraki kaydı görüntüler.
Edit: Mevcut kaydın değiştirilmesini sağlar.
Post: Yapılan değişiklikleri veri tabanı dosyasına yazar.
Cancel: Girilen değişiklikleri iptal eder.
Refresh: Mevcut kaydı yeniden görüntüler. Yani Güncelleme yapar.
Not: DbNavigator'ün ShowHint özelliği True yapılarak, bu düğmelerin ne işe yaradığı üzerine gelindiği zaman
yazacaktır.
DbText: Label ile aynıdır. Bağlı olduğu tablodan belirtilen alan bilgisini görüntüler. Genelde üzerinde
değişiklik yapılmayacak alanların gösterilmesinde kullanılır.
DbMemo: Birden fazla satırın veya 255 karakterden daha uzun verilerin saklanması ve gösterilmesi için
kullanılır.
DbListBox: Verilen alan değeri eğer liste içinde bulunuyorsa otomatik olarak seçilir. Bileşen listesini biz
doldurmak zorundayız.Verilen alan ile ilgili değerler otomatik olarak gelmez.
DbComboBox: TListbox ile aynıdır. Bu kontrol aracılığı ile combobox içinde bulunabilecek değerler belirlenir
ve kullanıcının bu değerlerden birisini seçmesi sağlanır. Önce DataSource özelliği ile kullanılacak tablo ve
DataField özelliği ile de comboBox'un bağlantı kuracağı alan belirlenir. DbComboBox içinde bulunacak
değerler ise bu kontrolün Items özelliği ile açılan pencereden belirlenir.
DbRadioGroup: Bir alana girilecek bilgi sayısı sınırlı ise bu kontrol kullanılır. DataSource özelliği ile
kullanılacak tablo ve DataField özelliği ile de bağlantı kurulacak alan belirlenir ve Caption ile alanın ismi
değiştirilebilir.
DbChart: DbChart kontrolü kullanılarak veri tabanımızda bulunan bilgileri grafiksel olarak ifade edebiliriz. Bu
kontrol ile birden fazla grafiği bir arada görebiliriz. Farklı veri tabanlarında bulunan bilgileri bile aynı grafik
üzerinde gösterebilmekte ve böylece farklı verilerin analizi grafiksel olarak gerçekleştirilebilmektedir.
liste.db adlı veri tabanımız olsun. Bunu Query1 kontrolü ile sorgulayıp listelemek istiyoruz. Bunun için
yapmamız gerekenler şunlardır. İlk önce formumuza Data Access kısmından Query1 bileşeni ile DataSource1
bileşeni yerleştirelim. DataSource1'in Dataset özelliğini Query1 yapalım. Daha sonra Data Controls kısmından
formumuza DbGrid yerleştirelim ve Object Inspector'den DataSource özelliğini DataSource1 yapalım. Daha
sonra Query1'in DataBaseName özelliğini alias olarak tanımlanan önceden oluşturduğumuz liste.db'yi seçelim.
Sonra Query1'in SQL özelliğine gidip çıkan pencerede aşağıdaki SQL ifadesini yazalım.
Sonra Query1'in Object Inspector'den Active özelliğini True yapalım ve programımızı F9'a basarak çalıştıralım.
DbGrid'de görüleceği gibi liste.db'deki bütün bilgiler listelenmiştir.
Örnek: Parametreye Bağlı Olarak Veri Sorgulaması
Programımızı çalıştırıp Button1'e tıkladığımız zaman DBGrid'de istediğimiz bilgilerin listelendiğini görürüz.
Not: Programı çalıştırıp Ekle butonuna bastığımız zaman, kodda yazmış olduğumuz Bahadir Sahin' i veri
tabanına ekler.
DataSource1.DataSet = ADOTable1
DBGrid1.DataSource = DataSource1
Type
Personel_Tipi=Record
sno: String[6];
ad: String[15];
soyad: String[15];
gorev: String[20];
kderece: String[5];
dtarihi: TDateTime;
tel: String[10];
adres: String[50];
hyili: Byte;
End;
Var
Sayac, KayitNo, KayitSayisi: LongInt;
Kayit: Personel_Tipi;
Dosya: File of Personel_Tipi;
procedure TForm1.KayitGoster;
begin
AssignFile(Dosya, 'c:\Personel.txt');
Reset(Dosya);
KayitSayisi := FileSize(Dosya);
StringGrid1.RowCount := KayitSayisi + 1;
For Sayac := 1 To KayitSayisi do begin
Seek(Dosya, Sayac-1);
Read(Dosya, Kayit);
With Kayit do
with Stringgrid1 do begin
Cells[0, Sayac] := sno;
Cells[1, Sayac] := ad;
Cells[2, Sayac] := soyad;
Cells[3, Sayac] := gorev;
Cells[4, Sayac] := kderece;
Cells[5, Sayac] := datetostr(dtarihi);
Cells[6, Sayac] := tel;
Cells[7, Sayac] := adres;
Cells[8, Sayac] := inttostr(hyili);
End;
end;
CloseFile(dosya);
end;
AssignFile(Dosya, 'c:\personel.txt');
Reset(Dosya);
KayitSayisi := FileSize(Dosya);
Seek(Dosya, KayitSayisi);
Write(Dosya, Kayit);
CloseFile(Dosya);
KayitGoster;
end;
AssignFile(Dosya, 'c:\personel.txt');
Reset(Dosya);
KayitSayisi := Filesize(Dosya);
For Sayac := 1 To KayitSayisi do begin
Seek(Dosya,Sayac-1);
Read(Dosya, Kayit);
With Kayit do
If Trim(ad) = Trim(aranan) Then begin
Edit1.Text := Trim(sno); Edit2.Text := Trim(ad);
Edit3.Text := Trim(soyad); Edit4.Text := Trim(gorev);
Edit5.Text := Trim(kderece); Edit6.Text := DateToStr(dtarihi);
Edit7.Text := Trim(tel); Edit8.Text := Trim(adres);
Edit9.Text := IntToStr(hyili);
cevap := MessageDlg('Düzenlenecek kayıt bu mu?', mtConfirmation, [mbYes, mbNo], 0);
If cevap = mrYes Then begin
Button3.Caption := 'Kaydet';
KayitNo := Sayac;
CloseFile(Dosya);
Exit; // Prosedürden çık
End;
End;
end;
CloseFile(Dosya);
ShowMessage('Aranan kayıt bulunamadı!');
end
Else begin
AssignFile(Dosya, 'c:\personel.txt');
Reset(Dosya);
With Kayit do begin
sno := Edit1.Text; ad := Edit2.Text; soyad := Edit3.Text;
gorev := Edit4.Text; kderece := Edit5.Text;
dtarihi := StrToDate(Edit6.Text); tel := Edit7.Text;
adres := Edit8.Text; hyili := Strtointdef(Edit9.Text,0);
End;
Seek(Dosya, KayitNo-1); Write(Dosya, Kayit);
CloseFile(Dosya);
KayitGoster;
KayitNo := 0;
Button3.Caption := 'Düzenle';
End;
Button1Click(Form1);
end;
AssignFile(Dosya, 'c:\personel.txt');
Reset(Dosya);
KayitSayisi := Filesize(Dosya);
For Sayac := 1 To KayitSayisi do begin
Seek(Dosya,Sayac-1);
Read(Dosya, Kayit);
With Kayit do
If Trim(ad) = Trim(aranan) Then begin
Edit1.Text := Trim(sno); Edit2.Text := Trim(ad);
Edit3.Text := Trim(soyad); Edit4.Text := Trim(gorev);
Edit5.Text := Trim(kderece); Edit6.Text := Datetostr(dtarihi);
Edit7.Text := Trim(tel); Edit8.Text := Trim(adres); Edit9.Text := IntToStr(hyili);
cevap := MessageDlg('Silinecek kayıt bu mu?', mtConfirmation, [mbYes, mbNo], 0);
If cevap = mrYes Then begin
Seek(Dosya, KayitSayisi-1); Read(Dosya, Kayit); // Son kaydı oku
Seek(Dosya, Sayac-1); Write(Dosya, Kayit); // Aktif yani silinecek kaydın üzerine yaz
Seek(Dosya, KayitSayisi-1); Truncate(Dosya); // Son kaydı sil
CloseFile(Dosya);
KayitGoster;
Exit;
End;
End;
end;
CloseFile(Dosya);
ShowMessage('Aranan kayıt bulunamadı!');
Button1Click(Form1);
end;
Bir dinamik bağlı kütüphane (DLL) uygulama programları ve diğer DLL‟ler tarafından çalıştırılabilecek
yordamlar içerir. Unit‟ler gibi, DLL dosyaları da paylaşılan kaynaklar içerir. Fakat bir DLL ayrı olarak derlenir
ve çalışma esnasında programa bağlanır.
Object Pascal programlarının diğer dillerde yazılmış DLL‟leri çalıştırabileceği gibi diğer dillerde yazılmış
Windows uygulamaları da Object Pascal ile yazılmış DLL dosyaları çalıştırabilirler..
Bir DLL dosyanın yapısı programların yapısına benzer. Aradaki fark DLL dosyalarının program ifadesi yerine
library ifadesi ile başlamalarıdır.
Aşağıdaki örnek Min ve Max adlı iki paylaşılabilir fonksiyonu olan bir DLL örneğidir.
library MinMax;