| Full Download - FullyDown Forum
|
| | Delphi hakkında | |
| | Author | Message |
---|
Chun Chu Vip Üye
Mesaj Sayısı : 115 308 Rep : 0 Yaş : 32 Nerden : TEKİRDAĞ
| Subject: Delphi hakkında Sun Mar 28, 2010 9:48 am | |
| Visual dillerden biri olan Delphi Programlama dili ile istediğiniz programları yapmak artık zor değil.
Programlarda kullanılabilecek standart işlemler birer kontrol olarak tasarlanmış olup programcının kullanımına sunulmuştur.Örneğin;Personel bilgileri girilen bir program yapılırsa,personelin adı,soyadı ,doğum yeri ve tarihi gibi bilgilerin girileceği Edit kutusu,Kullanıcının neyi girmesi gerektiğini belirten Label,değişik seçeneklerden birini seçme imkanı sağlayan aşağı doğru açılan ComboBox kutusu,komut butonları ,Personelin bir listesini gösterecek bir Liste kutusu ( ListBox ).Bunları kolayca forma taşıyarak programızın ekranını tasarlayabiliriz.Tek yapılması gereken Form üzerindeki kontrolleri oluşturmak için Ana formun üzerinde bulunan Componentlerden ilgili ikonları seçmek ve formumuza tıklamak.Object Inspector Penceresi
Formumuza koyduğumuz kontrol elemanlarının özellikleri ve aldığı değerler Object Inspector Penceresinde görülür.Object Inspector ; Properties ( Özelliğin Adı ), Events ( Özelliğin Değeri ) 2 kısımdan oluşur.Örneğin Formumuza Label1 koyalım.Label1'i Mouse ile seçelim.F11 tuşuna tıklayarak Object Inspector penceresini açalım.Burada Label1'e ait olan Object Inspector penceresinin açıldığını görürüz.Örneğin Label1 ismini değiştirmek istersek Caption özelliğine gelip karşısındaki kutucuktan Label1 sözcüğünü silip istediğimiz kelimeyi yazacağız. ( Örneğin Personelin Adı ).Bunun gibi Object Inspector'deki değerleri değiştirebiliriz.Örneğin Label1'e ait Object Inspector'deki Properties kısmındaki değeri alClient seçtiğimiz zaman kontrol elemanının (Label1) Formun her tarafını kapladığını görürüz.Yine Font kısmında Label1'in yazı karekterini büyütebilir ve rengini değiştirebiliriz.Yine Örnek verecek olursak Formumuza aşağı açılır kutucuk ( ComboBox1) koyalım.Bu kontrol elemanına ait Object Inspector'de Items'in yanındaki kutuya tıklayarak açılan formda ComboBox açılırken görmek istediğimiz kelimeleri yazalım.Programı Çalıştırma
Programı F9 tuşuna basılarak çalıştırılır.Programı çalıştırmak için kodların yazılmasına gerek yoktur.Tasarım halinde de programımızı çalıştırabiliriz.Kod Yazma
Kod yazmak istenilen kontrol elemanı seçilir ve bu elemana ait Object Inspector'deki Events özelliğinden yararlanılır.Burada ilgili kontrol elemanına tıklanınca programın bitmesi isteniyorsa OnClick kısmına kod yazılır.Eğer iki kez tıklanınca programın bitmesi isteniyorsa OnDblClick kısmına kod yazılır veya mouse ile ilgili kontrol elemanının üzerinden geçerken mesaj vermek istiyorsak OnMouseMove kısmına kodumuzu yazacağız.
Örnek:Şimdiye kadar öğrendiğimiz bilgilere göre aşağıdaki programı yapalım.Formumuza ; Ana Formdaki Standart Component'inden 5 tane Label,3 tane Edit.Text,2 tane ComboBox,1 tane ListBox, 5 tane de Buton yerleştirelim. Bu kontrol elemanlarının OnClick kısımlarına aşağıdaki kodları yazalım.
Sor: procedure TForm1.Button1.Click(Sender: TObject);
begin //Ekle butonuna yazılacak kod
Listbox1.Items.Add ( Edit1.Text+' ' +Edit2.Text+' '+Edit3.Text+' '+ ComboBox1.Text+' 'Combobox2.Text);
end;
procedure TForm1.Button2.Click(Sender: TObject);
begin // Sil Düğmesi
ListBox1.Items.Delete(ListBox1.ItemIndex);
end;
procedure TForm1.Button3.Click(Sender: TObject);
begin // Kaydet düğmesi
ListBox1.Items.SaveToFile ('liste.dat');//Liste adlı dosya oluşturarak bilgiyi kaydeder.
end;
procedure TForm1.Button4.Click(Sender: TObject);
begin // yükle düğmesi
ListBox1.Items.LoadFromFile('liste.dat');// Bilgileri Listbox1'e yükler.
end;
procedure TForm1.Button5.Click(Sender: TObject);
begin // Programı kapatma düğmesi
Close;
end;
Birden Fazla Form Kullanma
Programa yeni bir form eklemek için File menüsünden NewForm seçeneği kullanılır.Programda birden fazla form varsa bu formlara erişmek için View-Forms menüsü kullanılır.(Diğer formlara Shift + F12 kısayol tuşuylada ulaşabilirsiniz)
Component Palet
Form üzerinde oluşturulacak ekran görüntüsü ise Delphi'nin ana formundaki Component Palet üzerindeki kontrol elemanları tarafından yapılır. Component Palet'ten seçilen kontrol elemanları mouse ile Form üzerine kolayca yerleştirilir.Componentler gruplanarak yerleştirilmiştir.Her grup bir çok farklı componentten oluşmaktadır.
Yeni Component'ler Ekleme
Delphi'ye yeni componentler ve activeX kontrolleri eklenebilmektedir.Yeni bir Component eklemek için Component menüsündeki Import ActiveX Control komutu kullanılır.Açılan pencerede yüklü ActiveX kontrolleri listelenir.Eklenilmek istenilen ActiveX kontrolü listede yok ise Add düğmesi ile OCX dosyası bulunup listeye eklenebilir.Penceredeki Palette Page kutusundan eklemek istenilen kontrolün hangi kısma ekleneceği seçildikten sonra Install düğmesi ile Delphi'ye alınabilir.
Component Şablonları ( Template ) oluşturmak
Program tasarımında en çok 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.
Project Manager Penceresi
Project Manager penceresi normalde ekranda görülmez.View / Project Manager menü seçeneği ile görüntülebilir.Bu pencere içinde programımıza ait Formlar ve Unitler gösterilir.Bu pencere içindeki dosyalarDPR uzantılı bir dosyada tutulur.Projeden bir dosyayı çıkarmak için Remove seçeneğini,yeni bir dosya eklemek için New seçeneği kullanılır | |
| | | Chun Chu Vip Üye
Mesaj Sayısı : 115 308 Rep : 0 Yaş : 32 Nerden : TEKİRDAĞ
| Subject: Re: Delphi hakkında Sun Mar 28, 2010 9:49 am | |
| Değişkenler
Değişken Tanımı
Delphi'de değişkenler kullanılmadan önce tanımlanma mecburiyeti vardır.Değişken adları 63 karakteri geçmemelidir.63.karakterden sonrası gözardı edilir.
Değişken adları sembolleri içermemelidir.($ , * , % vb. )
Bir değişken tanımlama işi Var bloğunda yapılmalıdır.
Bir değişkenin tanımı iki kısımdan meydana gelir.1.kısım değişkenin adını , 2. kısım ise değişkenin tipini belirler.
Var
a,b : integer ;
i : integer ;
aciklama : string ;
Medenihal : Boolean ;
kesirli : real ;
Veri Tipleri
Tamsayı Tipleri
ShorInt:1 Byte'lık işaretli tamsayı tipidir.( - 128 ) ile 127 arasında değer alır.
SmallInt:2 Byte'lık işaretli tamsayıdır. ( -32768 ) ile 32767 arasında değer alır.
LongInt:4 Byte'lık işaretli tamsayı tipidir. ( - 2147483647 ) ile 2147483647 arasında değer alabilir.
Integer:LongInt tipi gibidir.4 Byte'lık işaretli tamsayı tipidir.( - 2147483647 ) ile 2147483647 arasında değer alabilir.
Byte:1 Byte'lık işaretsiz bir tamsayı tipidir.0 ile 255 arasında değer alabilir.
Word:2 Byte'lık işaretsiz tamsayı tipidir.0 ile 65535 arasında değer alabilir.
Cardinal: 4 Byte'lık işaretsiz tamsayı tipidir.0 ile 2147483647 arasında değer alabilir.
Int64:64 bitlik tamsayılar tanımlanabilmektedir.( -9 x 10^18 ) ile 9 x 10^18 arasında değer alabilmektedir.
LongWord:0 ile 4294967295 arası değerler alır.İşaretsiz tamsayıdır.Delphi 4 versiyonuyla birlikte geliştirilmiştir.
Variant:16 Byte'lik bir değişken tipidir.Bu tipteki bir değişkene hem sayısal hem de string ifadeler aktarılabilir.Örnek:
Var
i : variant ;
a : integer ;
k : int64 ;
begin
i := 'Bahadir';
a := 12345 ;
k :=123456789 ;
end; | |
| | | Chun Chu Vip Üye
Mesaj Sayısı : 115 308 Rep : 0 Yaş : 32 Nerden : TEKİRDAĞ
| Subject: Re: Delphi hakkında Sun Mar 28, 2010 9:49 am | |
| Reel Sayı Tipleri Single:4 Byte'lık ondalık sayı tipidir. 1.5 x 10^(-45) ile 3.4 x 10^38 arasında değer alır. Real48:6 Byte'lık ondalık sayı tipidir. 2.9 x 10^(-39) ile 1.7 x 10^38 arasında değer alabilir. Real ve Double:8 Byte'lık ondalık sayı tipidir. 5.0 x 10^(-324) ile 1.7 x 10^308 arasında değer alabilir. Extended:10 Byte'lık ondalık sayı tipidir. 3.4 x 10^(-4932) ile 1.1 x 10^4932 arasında değer alabilir. Comp:8 Byte'lık ondalık sayı tipidir. -2^63 + 1 ile 2^63 - 1 arasında değer alabilir. Currency:8 Byte'lık - 922337203685477.5808 ile + 922337203685477.5807 aralığında işaretli bir sayı tipidir. Boolean Tipi Boolean:True ve False değerlerinden birini içerir.1 Byte'lık yer kaplar. Karakter Tipleri Char:Bir karakter içeren 1 Byte'lık veri tipidir.Bu değişkenler sadece bir karakter barındırabilirler.Örnek: ' B ', ' 2 ' AnsiChar:Char tipi ile aynı özelliklere sahiptir. WideChar:2 Byte'lık bir karakter tipidir. String Tipleri ShortString:255 karaktere kadar karakter ataması yapabilen veri tipidir.Bellekte 1 Byte'lık yer kaplar. AnsiString:Bu tip stringler Dinamiktir ve belli bir sınırı yoktur.Yani ne kadar karakter atanırsa o kadar bellekte yer kaplar. String:AnsiString tipiyle aynı özelliklere sahiptir. PChar:64 KByte'a kadar atama yapılabilen #0 karakteri ile biten string tipidir. | |
| | | Chun Chu Vip Üye
Mesaj Sayısı : 115 308 Rep : 0 Yaş : 32 Nerden : TEKİRDAĞ
| Subject: Re: Delphi hakkında Sun Mar 28, 2010 9:49 am | |
| Dizi tanımı Var bloğunda aşağıdaki şekilde yapılır.
Var Diziadi:array[altsınır..üstsınır] of tip İki boyutlu dizi şöyledir : diziadi:array[altsınır1..üstsınır1,altsınır2..üstsınır2] of tip
Örnek:Var
a:array[1..50]of integer;
Dinamik Dizi Tanımlama
Dinamik Dizi;boyutunun derleme aşamasında belirlenmesi gerekmeyen dizilere denir ve program çalışırken dizinin boyutu belirlenebilir. var diziadı:array of tip
Herhangibir anda bu dizinin boyutu SetLength fonksiyonu ile belirlenir. Setlength(diziadı,boyutu);
Örnek: SetLength(i,12) ; // i dizisini 12 elemanlı yap.
Çok Boyutlu Dizi
Dizi birden fazla boyutluda olabilir.Bu durumda her boyut için tanım kısmında bir array of ifadesi kullanılır.
Var Diziadı : array of array of array of ... tip
Örnek:3 boyutlu bir a dizisi tanımlanırken;
Var a : array of array of array of Integer ;
Çok boyutlu dizinin boyutu SetLength ( a , 2 , 4 ,6 ) ; gibi tanımlanır. | |
| | | Chun Chu Vip Üye
Mesaj Sayısı : 115 308 Rep : 0 Yaş : 32 Nerden : TEKİRDAĞ
| Subject: Re: Delphi hakkında Sun Mar 28, 2010 9:50 am | |
| Sabitler Sabitler değişmeyen değerler içerirler.Bu değer programın başından sonuna kadar değeri aynıdır.Bir sabit tanıtımı Const bloğunda yapılmalıdır.
Const
Sabitadı=değeri;
Örnek:Const
i = 100;
adi = 'Bahadir';
İlk Değer Atama ve Static Değişken Tanımı
Değişkenlere ilk değerin atanması ve bu değişkenin değerini prosedürün çalışması bittikten sonra da korunması için Const kısmı altında değişken tanımı yapılır.
Const
değiskeninadi : Tipi = İlkdeğeri;
Örnek:Const
i : integer = 0 ;
Bir Diziye İlk Değer Atama
Const
Diziadi : Array[altsınır..üstsınır] of tipi = (değer1 , değer2 ,...) ; şeklindedir.
Örnek:Const
Mevsimler:Array[1..4] of string = (' İlkbahar ' , ' Yaz ' , ' Sonbahar ' , ' Kış ' );
Pointerler
Pointerler bir değeri değil, değerin bulunduğu adresi gösterir.
PAnsiString:AnsiString tipinde bir değişkeni gösteren pointer.
PByteArray:TbyteArray tipinde bir değişkeni gösteren pointer.Çoğunlukla bellekte ayrılmış bölgelerdeki her byte ulaşılabilmek için kullanılır.
PCurrency:Currency tipindeki bir değişkeni gösteren pointer.
PExtended:Extended tipindeki bir değişkeni gösteren pointer.
PShortString:ShortString tipindeki bir değişkeni gösteren pointer.
PWordArray:TWordArray tipindeki bir değişkeni gösteren pointer.
Herhangi bir değişken için ^ karakteri kullanılarak kolayca pointer tanımlanabilir.
Örnek:Var
ptr : PAnsiString ;
p: ^integer ; // integer tipindeki değişkeni gösteren pointer.
Pointerlerin Barındıracağı Adres
Pointerin barındıracağı adresi belirleme işi @ karakteri ile yapılır.
p := @ i ; // p pointeri i adresini barındıracaktır.
ptr := @ a[1] ; // ptr pointeri ile dizinin ilk adresini barındıracak.
Pointer Kullanımı
Pointer, tiplerin önüne ^işareti koyularak tanımlanırlar.
Örnek:var
x : ^integer ;
y : ^string ;
Şartlı Çalıştırma Deyimleri
Programlar normal zamanda satır satır çalışırlar.İsteğe bağlı olarak belli şartlar aranarak programın bir kısmının çalıştırılmasını veya çalıştırılmamasını sağlayabiliriz. | |
| | | Chun Chu Vip Üye
Mesaj Sayısı : 115 308 Rep : 0 Yaş : 32 Nerden : TEKİRDAĞ
| Subject: Re: Delphi hakkında Sun Mar 28, 2010 9:50 am | |
| İf Döngüsü
if döngüsünün genel yapısı aşağıdaki gibidir.
If şart then
Komut ;
Else
diğer komut ;
Örnek:var
i : integer ;
begin
i := 0;
i := i + 1 ;
if i = 1 then begin
Label1.Caption := 'Doğru ';
end
else
if i<>1 then begin
Label1.Caption := 'Yanlış ';
end;
end;
Case Döngüsü
Bir değişkenin aldığı bir çok değere göre ayrı komutların çalıştırılması gereken durumlarda Case döngüsü kullanılır.Genel yapısı aşağıdaki gibidir.
Case değişken of
durum1 : Komutlar ;
durum2 : Komutlar ;
......
durumn : komutlar ;
Else komutlar ;
end;
yukarda dikkat edilirse değişken ; durumlara uyan değerler aldığı zaman ilgili komutlar çalışacak eğer değişkenin değeri hiçbirine uymuyorsa Else' den sonraki komut çalışacaktır.Aşağıdaki örneği inceleyelim.
Case x of
1 : label1.Caption := ' Merhaba ' ;
2 : label1.Caption := ' Dünya ' ;
3 : Edit1.Text := ' Bahadir Sahin ' ;
else
Edit1.Text := ' Hoşçakal ' ;
end;
For Döngüsü
For döngüsünün genel yapısı aşağıdaki gibidir.
For i := ilkdeğer to sondeğer do
begin
komut ;
end ;
Burada to kullanıldığı için i artarak değerler alır.downto kullanıldığı zaman değer i değerleri azalarak gider.
For i := ilkdeğer downto sondeğer do
begin
komut ;
end ;
Örnek : var
i : array [ 1 .. 20 ] of string ;
k : integer ;
begin
for i := 1 to 20 do
i [ k ] := InputBox( ' i değer girişi ' ,Inttostr (k ) + '.nin adı ' , ' ' ) ;
end ;
While - Do Döngüsü
Bir şart gerçekleştiği zaman çalışması gereken program bloklarında kullanılır.Genel yapısı aşağıdaki gibidir.
While şart do
Begin
Komutlar ;
end ;
Örnek :var
i : integer ;
Begin
i := 0 ;
while i < 10 do
Begin
Label1.Caption := inttostr ( i ) ;
i := i + 1 ;
end ;
Repeat - Until Döngüsü
Genel yapısı aşağıdaki gibidir.şart gerçekleşene kadar çalışması gereken kısımlarda kullanılır.
Repeat
Komut ;
Until Şart ;
Örnek: var
i : integer ;
begin
repeat
i := 50 ;
Until (i>0) and ( i < 50 )
end ; | |
| | | Chun Chu Vip Üye
Mesaj Sayısı : 115 308 Rep : 0 Yaş : 32 Nerden : TEKİRDAĞ
| Subject: Re: Delphi hakkında Sun Mar 28, 2010 9:50 am | |
| Döngü Kontrol İfadeleri
Bazı durumlarda döngü bitmeden döngüden çıkılmak istenebilir.Bu gibi durumlarda döngü kontrol deyimlerini kullanmak gerekir. Bunlardan bazıları Break, Continue gibi deyimlerdir.
Break
Break kontrol deyimi For,While veya Repeat döngülerinden birinde döngüden çıkmak için kullanılır.Aşağıdaki örneği inceleyelim.
Örnek: procedure TForm1.Button1.Click ( Sender : TObject ) ;
var
i : array [1 .. 20 ] of string ;
k : integer ;
begin
for i := 1 to 20 do
if i [ k ] = 'Bahadir' then begin
break ;
if > 50 then begin
ShowMessages (' Aranan kayıt bulunamadı. Tekrar deneyiniz...' ) ;
end
else
ShowMessages (Inttostr ( k ) + ' . kişi' ) ;
end ;
end ;
Continue
Continue ; For , While veya Repeat döngülerinde bazı şartlar gerçekleştiğinde döngünün sonuna gitmeden tekrar başa dönmesini sağlar.
Örnek:var
i : integer ;
Begin
for i := 1 to 20 do
if i<10
continue ;
end ;
ShowMessages( Inttostr ( i ) ) ;
end ;
Exit
Exit; mevcut program bloğundan,bloğun sonuna ulaşmadan çıkmaya yarar.
Örnek : var i : integer ;
begin
i := strtoint ( Edit1. Text ) ;
if i <10 then begin
exit ;
end
else
Edit1.Text := 'i'nin değerleri 10'dan büyük.' ;
end ;
end;Halt
Programdan çıkış sağlar.
Örnek:Begin
Form1.Halt ; // Programdan çıkış sağlar.
end ;
Whit - Do
Herhangi bir kontrol elemanının birden fazla özelliğini değiştirmek için yada metodlara ulaşmak için kullanılır.Genel kullanımım şekli aşağıdaki gibidir.
With kontroladi do
Begin
....
end ; | |
| | | Chun Chu Vip Üye
Mesaj Sayısı : 115 308 Rep : 0 Yaş : 32 Nerden : TEKİRDAĞ
| Subject: Re: Delphi hakkında Sun Mar 28, 2010 9:50 am | |
| Borland Delphi'de Veri Tabanı
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.
Database Desktop ile Veritabanı Hazırlanması
Delphi ile gelen Database Desktop programını çalıştırın.Daha sonra tablo hazırlayacağız.Bunun için File-New-Table menüsüne tıklayınız.Açılan pencere'de dBASE for Windows'u seçin ve Ok tuşuna tıklayın.Veri tabanındaki alanları tanımlayabilmemiz için pencere açılacaktır.Açılan bu penceredeki sütunlar aşağıdaki özellikleri belirtir.
1)Field Name :Bu sütuna alanın ismi yazılır.( Örneğin Adı Soyadı vb.)
2)Type :Bu alana girilecek olan bilginin tipini giriyoruz.Aşağıda bu tipleri belirteceğim.
2-1)Character :Bu alana girilen bilgi harflerden veya rakamlardan veya her ikisinin karışımından olabilir.
2-2)Number :Bu alana girilen bilgi sadece rakamlardan ibarettir.
2-3)Date :Tarih bilgileri bu tipte tanımlanır.
2-4)Logical :Evet - Hayır , Açık - Kapalı gibi sadece iki durumdan oluşan olaylar bu tipte tanımlanır.
2-5)Memo :Uzun metinler bu tipte tanımlanır.
2-6)Binary :Resim ,ses gibi özel alanlar bu tipte tanımlanır.
3)Size :Bu sütunada karakter sınırı yazılır ( Örneğin 10 yazıldığında ; 10 karaktere kadar klavyeden giriş yapılır.
Not : Sütunlara bilgiler girildikten sonra Save As tuşuna basılarak oluşturduğumuz Tablo kaydedilir.
Wizard Kullanılarak Veritabanı Hazırlanması
Borland Delphi bize bir kolaylık daha sunmuştur.DataBase Form Wizard'ı kullanarak veri tabanınızı hazırlayabilirsiniz.Şimdi adım adım Wizard kullanararak Tablomuzu oluşturalım.
İlk önce Delphi programını çalıştırınız.Bundan sonra File menüsünden New menüsüne tıklayın.Açılan pencerede Business kısmına geçiniz.Burada DataBase Form Wizard'ı seçip Ok tuşuna basınız.Karşımıza Database Form Wizard penceresi çıkar.
Bundan sonra ; Eğer tek tablonuz varsa Create a simple Form ' u işaretleyin. Eğer birden fazla tabloyu ilişikli şekilde göstermek istiyorsanız Create a Master / detail Form düğmesini seçin sonra Next tuşuna basınız.çıkan formda kullanılacak tabloyu belirleyeceğiz.Eğer bir DBF dosyası varsa onun bulunduğu dizine giderek seçebilir veya Driver or Alias Name kutusunda DataBase Explorer ile düzenlenmiş veri tabanından biri seçilebilir.Biz Örnek olarak Borland Shared / Data dizinindeki animals.dbf'yi seçeceğiz.
animals.dbf seçildikten sonra Next tuşuna basınız. Çıkan pencerede >> tuşuna basarak bütün alanları seçeceğiz.Alanları seçtikten sonra Next tuşuna basın.Çıkan pencerede alanları yatay ( horizantal),düşey ( Vertically ) veya in a Grid şeklinde mi sıralanacağını belirleyip Next tuşuna tıklayınız.En son çıkan pencerede Finish tuşuna basınız.Böylece tablomuzu otomatik olarak oluşturmuş olduk. | |
| | | Chun Chu Vip Üye
Mesaj Sayısı : 115 308 Rep : 0 Yaş : 32 Nerden : TEKİRDAĞ
| Subject: Re: Delphi hakkında Sun Mar 28, 2010 9:51 am | |
| Veritabanı Bileşenleri
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 DataBase Name ve Table Name'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 Table Name kısmındaki ComboBox'tan animals.dbf' yi seçelim.
DataSource:Verilerin data controls kısmındaki bileşenler yardımcı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şiklendirelim.
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 kontrolleride 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 animals.dbf'ye ait bütün bilgiler ekranımızda belirdi.
DbImage :Veritabanlarına resim içeren alanların işlenmesi için kullanılır.
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.
DBEdit BText ile aynıdır, ek olarak veriler üzerinde değişiklik yapılabilir.Bunlarda Data Source özelliği Data Source1 kısmına ilişiklenir ve DataField özelliğindede ilgili kısım seçilir.
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şin 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 BChart 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. | |
| | | Chun Chu Vip Üye
Mesaj Sayısı : 115 308 Rep : 0 Yaş : 32 Nerden : TEKİRDAĞ
| Subject: Re: Delphi hakkında Sun Mar 28, 2010 9:51 am | |
| Tüm Sütunları Listelemek
Aşağıdaki örneği inceleyelim.
Örnek :liste.dbf 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.dbf'yi seçelim.Sonra Query1'in SQL özelliğine gidip çıkan pencerede aşağıdaki SQL ifadesini yazalım.
SELECT * FROM liste 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.dbf'deki bütün bilgiler listenmiştir.
İstenilen Sütunları Listelemek
istenilen sütunlar listelenmek istenirse Query1'in SQL özelliğine şu SQL komutu yazılmalıdır.
SELECT adi , soyadi , adresi FROM liste
Not :liste.dbf adlı veri tabanımızdan sadece adi , soyadi , adresi adlı sütunlar ve bu sütunlardaki bilgileri listelemiş olduk.
Tekrarlı Kayıtları Bir Defa Listelemek
Bir tabloda bulunan aynı kayıtları bir kez listelemek için DISTINCT komutu kullanılır.Bunun için ; Query1'in SQL özelliğine şu SQL komutu yazılmalıdır.
SELECT DISTINCT adi , soyadi , adresi FROM liste
Şartlı Sorgulama yapmak istersek aşağıdaki gibi SQL komutu kullanmak gerekir.
SELECT adi ,soyadi , adresi FROM liste WHERE adi = 'Bahadir '
Örnek1 : İsminin başharfi "B" ile başlayanları sorgulayalım.Aşağıdaki SQL komutunu inceleyiniz.
SELECT DISTINCT adi ,soyadi , adresi FROM liste WHERE adi LIKE ',B%'
Örnek2 : İki şartı aynı anda sağlama.Örneğimizi inceleyelim.
SELECT DISTINCT adi ,soyadi , adresi , maas FROM liste WHERE ( adi = 'B%' and maas > 10000 )
iki şarttan biri gerçekleşmesi isteniyorsa yukardaki örnekte And yerine Or kullanılacak.
Verileri Sıralamak
Tabloda bulunan verileri A-Z'ye veya Z-A'ya sıralayabiliriz.Bunun için aşağıdaki örnekleri inceleyelim.
Örnek1 :SELECT DISTINCT adi ,soyadi , adresi , maas FROM liste WHERE Order By adi ASC ( A-Z'ya sıralar )
Örnek2 :SELECT DISTINCT adi ,soyadi , adresi , maas FROM liste WHERE Order By adi DESC ( Z-A'ya sıralar )
Verileri Gruplandırmak
Bir tabloda yer alan kişilerin farklı zamanlardaki yaptıkları işlerin miktarı gruplandırmak suretiyle tek bir tabloda listelenebilir.Bunun için Group BY komutunu kullanacağız.
SELECT adi , soyadi ,SUM ( toplam_fiyat )Genel_toplam FROM liste Where fiyat = 'TL' GROUP BY adi
Önemli Not :Şimdiye kadar Query1'in SQL özelliğine SQL komutları yazarak sorgulamalar yaptık.Şimdi kod penceresinde yazacağımız program koduyla veri sorgulayacağız.
Örnek Parametreye bağlı olarak veri sorgulaması
procedure TForm1.Button1Click ( Sender : TObject ) ; // Button1 adlı butona kodumuzu yazıyoruz.
begin
Query1.Close ;
Query1.ParamByNAme( ' Adi ' ).AsString := Edit1.Text ;
Query1.Open ;
end ;
Sütun Sorgulama
Bunu yaparken DataSource1 'in DataSet özelliğini Query1 ; Query1'in DataBaseName özelliğini veri tabanınız ( bizim örnekte liste.dbf ) ; DBGrid1 ' in DataSource özelliğinide DataSource1 yapınız.
Örnek :
procedure TForm1.Button1Click ( Sender : TObject ) ;
begin
Query1.SQL.Clear ;
Query1.SQL.Add(' Select adi , soyadi , adresi , maas From liste ' ) ;
Query1.Open ;
end ;
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.
Ekleme Sorgusu
Formumuza Button1 koyalım .Caption özelliğine Ekle yazalım.Ekle butonuna aşağıdaki kodları yazalım.( formumuza Query1, DataSource1 ve DBGrid1 yerleştirilmiş varsayıyorum.)
procedure TForm1.EkleClick ( Sender : TObject ) ;
begin
Query1.SQL.Add ('INSERT into liste ' );
Query1.SQL.Add ( ' (ADI , SOYADI ) ' ) ;
Query1.SQL.Add ( 'values (" Bahadir " , " Sahin " ) ' ) ;
Query1.ExecSQL ;
end;
Not : Programı çalıştırıp Ekle butonuna bastığımız zaman kodda yazmış olduğumuz Bahadir Sahin' i veri tabanına ekler | |
| | | Chun Chu Vip Üye
Mesaj Sayısı : 115 308 Rep : 0 Yaş : 32 Nerden : TEKİRDAĞ
| Subject: Re: Delphi hakkında Sun Mar 28, 2010 9:51 am | |
| Delphi Metin Fonksiyonu
Copy fonksiyonuyla başlayabiliriz .. Bu fonksiyon uzun bir metnin sadece belirli bir kısmını çıkartıp kullanmak istediğinizde işe yarar. İlk parametresi string tipinde bir dğeişkendir -ki buraya ana metni içeren değişkeni yazmalısınız- ikinci parametre başlama karakteri, son parametre de buradan itibaren kaç karakter okunacağıdr. Fonksiyondan geriye parameterelere göre çıkartılmış metin döner, Ana metinde bir değişiklik yapılmaz. Başlangıç karakteri 1'den başlar. Yani ilk karakter için buraya 1, sonraki için 2 vs. yazmalısınız. Okunacak karakter sayısı da başlangıç karakterinden "itibaren" "kaç karakter okunacağını" belirtiyor. Yani Copy(metin,1,1); fonksyionundan geriye 1 karakter içeren -metin değişkeninin ilk karakteri- bir string dönüyor.
Delete fonksiyonu verdiğiniz stringin belirli bir kısmını siler. Parametrelerinin çalışma şekli aynı "Copy" fonksiyonu gibidir. İlk parametre üzerinde işlem yapılacak string değişkendir, ikinci parametre silinmeye başlanacak karakter numarasını gösterir. Yine ilk karakter 1 ile temsil edilir. Sonraki parametre de belirtilen başlangıç karakterinden sonra kaç karakter silineceğini gösterir. Burada dikkat edilmesi gereken nokta bu fonksyionun geriye bir değer döndürmek yerine işlemi direk verilen string değişkeni üzerinde yapması ve sonucu yine bu değişkene koymasıdır.
Pos fonksiyonu bir metin içinde başka, daha kısa bir metni aramak için kullanılır. Örneğin bu yazı içinde "metin" kelimesini aramak için kullanılabilir. En büyük dezavantajı aranan metnin asıl metin içinde birden fazla olması durumunda sadece ve daima onun ilk bulunduğu yer ile ilgili bilgi alabilmeniz. Pos fonksiyonu ilk parametre olarak arancak metni(altmetin) alır. İkinci parametre olarak da içinde arama yapılacak metni içeren değişken adını girmelisiniz. Fonksiyondan geriye dönen değer aranan metnin bulunduğu İLK karakterin adresini verir. Eğer geriye "0" değeri dönmüşse altmetin anametin içersinde bulunamadı demektir.
PosEx fonksiyonu Pos fonksiyonundan farklı olarak aramaya başlayacağı başlangıç adresini de ister. Yani aramaya metinin 10'uncu karakterinden başlayabilrisiniz. Ki bu durumda Pos fonksiyonu gibi buradan sonraki ilk eşlemenin başangıç adresi size verilir.
AnsiLowerCase fonksiyonu verilen metnin tüm harflerini küçük harfe çevirir ve sonuç olarak bunu döndürür. Aynı şekilde AnsiUpperCase fonksiyonu da verilen metnin tüm harflerini büyük harf yapar. Bu iki fonksiyonun da tek zayıf noktası küçük "i" ve büyük "I" ları İngiliz Alfabesi'ne göre dönüştürmeleri. Yani "I=i" oluyor, buna dikkat edin.
AnsiReplaceStr fonksiyonu verilen bir metinde, parametre olarak verilen altmetinlerin tamamını başka bir metinle değiştirmeye yarar. Örneğin bu yazıdaki tüm noktaları virgüle çevirmek isteseydik bu yazıyı içeren değişkeni, ardından '.', ve ',' verdiğimizde[AnsiReplaceStr(degisken , '.' , ',')] fonksiyondan geriye dönüştürülmüş metin çıkacaktı. Unutmayın, tüm noktalar... Fonksiyonun ana metinde değişiklik yapmak yerine değiştirilmiş metni sonuç oalrak verdiğini unutmayın.
Length fonksyionu adından da anlaşılacağı üzere kendisine parametre olarak verlien metinin uzunluğunu döndürüyor
Trim fonksiyonu metinin başındaki ve sonundaki boşlukları atar ve bu halini sonuç olarak döndürür. TrimLeft ve TrimRight diye iki versiyonu daha vardır. Bunlardan left olan soldaki boşlukları, right olansa sağdaki boşlukları atar ve bu hali döndürür. | |
| | | | Delphi hakkında | |
|
Similar topics | |
|
| Permissions in this forum: | You cannot reply to topics in this forum
| |
| |
| Powered By PhpBB © 2009-2010 www.sanal-turk.com Günbatımı Theme By ●●мαнмυт●● •Bu Sitedeki Tüm Görseller Orjinaldir. Yazılı, görsel, herhangi bir malzeme izinsiz kullanılamaz • | |
|
|