Skip Navigation Links
ProgramlamaExpand Programlama
İnternet DilleriExpand İnternet Dilleri
İşletim SistemleriExpand İşletim Sistemleri
Veri TabanlarıExpand Veri Tabanları
Network
Makaleler


 DERSLER

Delphi Giriş
Object Inspector
If Komutu
For
Repeat Until
Access veri tabanına bağlanma
Access veri tabanına veri kaydetme
Access veri tabanından veri silme
Escape tuşuna basıldığında formun kapanması
Alt+F4 tuş kombinasyonuyla programın kapatılmaması
F1,F2 gibi Fonksiyon Tuşlarını Kullanmak
Harddiskin seri numarasının bulunması
CD-Rom sürücüyü açmak ve kapamak

DELPHI 

     Delphi programlama dili 'nin,temeli Pascal dilidir.Özellikle nesne yönelimli programlama anlayışıyla yapılandırılmış Turbo Pascal dilinin görsel sürümü denilebilir.Nesne,sınıf,kalıtım,fonksiyon aşırıyükleme(overloading) gibi temel nesneye yönelik programlama tekniklerini ve daha fazlasını içeren ve c++ den aşağı kalmayan güçlü ve esnek bir programlama dilidir. Borload tarafından geliştirilmektedir. Win32 ve .NET platformları üzerinde yazılım geliştirmeye olanak sağlar. GNU/Linux platformu üzerinde geliştirme imkanı sağlayan Kylix isimli bir sürümü de bulunmaktadır. Delphi programlama dili nesne yönelimli bir dil olduğu için eklenen bütün nesnelerin (Formlar da dahil) kodlarını oluşturur. Bu kodları "Unit" ler içerisinde barındırır.

     Aşağıda örnek bir Delphi kaynak kodu görülmektedir. Örnekte form üzerindeki buttona tıklandığında 'Merhaba Dünya' mesajı verir. Delphi tarafından oluşturulan koda programcının eklediği satır açıklama ile belirtilmiştir.



Bu örnek programcı sadece button1 içine ShowMessage('Merhaba Dünya') komutunu yazıyor ve button1. tıklandığında ekrana "merhaba dünya" mesajını veren bi program yapmış olur.

OBJECT INSPECTOR

Delphi bir görsel programlama dilidir. Görsel dillerde program akışı olay temeline dayanır. Yani klasik programlamadaki gibi program kodu yukarıdan aşağıya ilerlemez. Programın devam etmesi için klavye veya fare hareketine ya da bir zamanlayıcıya ihtiyaç vardır (yani zamanı gelince işlem gerçekleşir). Object Inspector penceresindeki Properties ve Evet sekmeleri bize kolaylık sağlar.Örneğin bir texbox içine yazdığımız yazıyı her zaman büyük harfle yazmamızı sağlar.


Form Properties özellikleri:


Aling :
Form’ un çalıştırıldığında form ekranın neresinde olacağı belirtilir.
  1. alBottom  : form ekranın altını kapsayacak bir şekilde çalışır.
  2. alClient    : Form çalıştığında ekranın hepsini kapsar.
  3. alCustom : Form çalıştığında ilk haliyle ekranın ortasında çalışır.
  4. alLeft       : form çalıştığında ekranın sol kapsayacak şekilde çalışır.
  5. alRight     : form ekranın sağ sol kapsayacak çalışmaya başlar.
  6. alTop        : Form ekranın üst kısmını kapsayacak şekilde çalışır.
AlphaBlend : Form’un şeffaflığının ayarlanmasını sağlar. Bu özellik aynı zaman AlphaBlendValue özelliğiyle kullanır.AlphaBlend özelliği true yapıldıktan sonra 255 küçük bir değer verilirse form şeffaflığı görünür .

BorderIcons : Bu özellikle Formumuzun Ekranı kapla,simge durmuna getir ve kapat tuşlarını kapatıp veya istediklerimizi aktif duruma getirebiliriz.
  1. biSystemMenu : bu özellik False olursa form çalıştığında kapat, simge durmuna getir ve ekranı kapla düğmelerini göremeyiz.
  2. biMinimize : Bu özellik false olursa form çalıştığında simge durmuna getir pasif olur.
  3. biMaximize: Bu özellik False olursa Form çalıştığında Ekranı kapla pasif duruma gelir.
Caption : Bu özellikle Formumuzun adını değiştirebiliriz.
ClientHeight : Bu özellikle Formun yükselliği ayarlanır.
Clientwidth : Bu özellikle Formun genişliği ayarlanır.
Color : Bu özellikle Formun rengini değiştirebiliriz.
Constraints : Bu özellikle form yüksekliği ve genişliğinin en fazla veya en az ne kadar olacağı belirtilir.
  1. MaxHeight : Bu özellikle formun yüksekliliğinin en fazla ne kadar olabileceği belirtilir.
  2. MaxWidth : Bu özellikle formun genişliğinin en fazla ne kadar olabileceği belirtilir.
  3. MinHeight : Bu özellikle formun yüksekliliğinin en az ne kadar olabileceği belirtilir.
  4. MinWidth : Bu özellikle formun genişliğinin en az ne kadar olabileceği belirtilir.
Cursor : Bu özellikle imleç özelliğini değiştirebiliriz.

Font : Bu özellikle form’ un yazı tipini, rengini, boyutu ve stil özelliklerini değiştirebiliriz.
  1. Name : Bu özellikle yazı tipini ayarlayabiliriz.
  2. Color: Bu özellikle yazı rengini ayarlayabiliriz.

    1. Style
      1. fsBold : Bu özellikle true yaparsak kalın olmasını sağlarız.
      2. fsitalic : Bu özellikle true yaparsak italic olmasını sağlarız.
      3. fsUnderline : Bu özellikle true yaparsak altı çizili olmasını sağlarız.
Position : Bu özellikle formun ekranın neresinde çalışacağı belirtilir. poDesktopCenter özeliğini seçerek ekranın tam ortasında çalıştırabiliriz.

CharCase : Bu özellik edit1.text gerilen yazıların hepsinin büyük veya küçük olmasını sağlarız.
  1. ecNormal:Edit yazılan yazılar normaldir
  2. ecLowerCase :Edit yazılan yazılar hepsi küçük harflerle yazılır.
  3. ecUpperCase :Edit yazılan yazılar hepsi büyük harflerle yazılır.


Event Olayları

Onclick : Form 1 kere tıkladığında yapılacak görevleri belirlemek için kullanılır. Örneğin: Forma tıkladığında edit1 içine karaelmas yazdıran program:

procedure TForm1.FormClick(Sender: TObject);
begin
edit1.Text := 'karaelmas ';
end;

OnDbclick : Form 2 kere tıkladığında yapılacak görevleri belirlemek için kullanılır. Örneğin: Forma 2 kere tıkladığında edit1 içine “karaelmas BMYO” yazdıran program:

procedure TForm1.FormDblClick(Sender: TObject);
begin
edit1.Text := 'karaelmas BMYO ';
end;

OnColose : Form kapatılırken yapılacak görevleri belirtmek için kullanılır. Örneğin: form kapatılırken kaydetmek isterimsiniz mesajını gönderen program Bu programda kullanacağımız showMessage komutu mesaj göstermek için kullanılmıştır.

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
showMessage ('Kaydetmek istermisiniz?');
end;

OnCreate : Form açıldığında yapılacak görevler belirtmek için kullanılan event(olay) özelliğidir.. Örneğin form çalıştırılınca edit1 boş gösterecek program:

procedure TForm1.FormCreate(Sender: TObject);
begin
edit1.Text := ' ';
end;
Yukarı



IF... THEN ... ELSE

if komutu ile karşılaştırma yapılır.if komutuyla şart gerçekleştiği zaman yapılacak görevler else ise şart gerçekleşmediği zaman yapılması gereken görevler yazılır.if karşılaştırma operatörünü size örneklerle açıklamaya çalışalım.Kullanımı:

if (şart) then komutlar
else komutlar

Örnek: Butona tıklandığında edit1 içine girilen sayının tek mi çift olduğunu label1 yazdıran program yapalım.

procedure TForm1.Button1Click(Sender: TObject);
Var i:integer;
Begin
    i :=StrToInt(edit1.text);
    if i mod 2 =0 then
             label1.caption:=’çift sayı’
    else
             label1.caption:=’tek sayı’
end;

i değişkenimizi integer tanımladık. StrToInt komutuyla i değişkenizi sayısal değer vermemizi sağlamış olduk. if i mod 2 =0 then komutlarıyla i edit1.textbox kutusunda yazdığımız değeri 2 böldürdük kalan sıfır ise label1 çift sayı else (değilse) tek sayı yazdırır.Not: if i mod 2 =0 then buradaki mod edit1 girilen sayıyı 2 bölümünden kalanı verir.
Yukarı



FOR DÖNGÜSÜ

For döngüsüyle başlagıç ve bitiş değerine kadar olan program bloglarının çalışmasını sağlar.Baslangiç Degeri, bitis Değeri den küçükse döngüye hiç girilmez. Sayaç’in artarak degil azalarak çalismasi için downto deyimi kullanilir. Baslangiç degeri, bitis değerinden büyükse döngüye hiç girilmez.Kullanımı:

For sayaç:=baslangiç değeri to bitis değeri do
    Begin
      Komutlar;
   End;

Edit1 içine yazılan bir sayının asal olup olmadığını buton1.onclick gerçekleşince bulan ve bunu label1 içine yazan program:

procedure TForm1.Button1Click(Sender: TObject);
var sayi,a,x:integer;
begin
    sayi :=StrToInt(edit1.Text );
    a:=-1;
    for x:=2 to sayi-1 do
       begin
             if sayi mod x=0 then a:=+1 ;
       end;
    if a=1 then label1.Caption :='ASALDIR DEĞİLDİR'
    else label1.Caption:= 'ASALDIR';
end;

Değişkenlerimizi tanımladık. Başlangıç değerimizi x:=1 başlatık bitiş değerimizi sayi-1 edit1 yazdığımız değeri 1 azaltarak bitiş değerimizi belirtik ve if ile x değişkenimiz sıfır ise a değikenimizi 1 artırmasını sağlanmış oldu. Diğer if döngüsüylede a değikenimiz bir ise label1 "Asal değildir" değilse "asal" yazdırması sağlamış olduk.
Yukarı



REPEAT UNTİL DÖNGÜSÜ

Delphide kullanılan döngülerden biride Repeat until döngüsüdür. Bu döngüde Repeat ile until arasındaki blok Until kelimesinden sonraki kontrol şartı yanlış oldukça çalışacaktır. Yani Untildeki karşılaştırma doğru çıkana kadar döngüden çıkılmaz. Bu döngüde kontrol sonda yapıldığı için döngüden hemen çıkılsa bile döngü içerisindeki kod en az bir defa çalıştırılacaktır. Buna dikkat edilmelidir. Eğer ters karşılaştırma yapılması isteniyorsa yani şart oluştuğunda döngüden çıkılması isteniyorsa döngü Not operatörü ile kullanılabilir.

Aşağıda DBGrid içinde bulunan “Toplam” sütunu içerisindeki rakamları (Real veya Currency) tüm satırlarını toplatıp Label1 içerisine yazan program .

procedure TForm1.Button2Click(Sender: TObject);
var toplam:real;
begin
      toplam:=0;
      Adotable1.First;
      Repeat
           Toplam:=Toplam+Adotable1Toplam.AsCurrency;
           Adotable1.Next;
       Until(Adotable1.Eof) 
       Label1.Caption:=FloatToStr(toplam);
end;
Yukarı



ACCESS VERİ TABANINA BAĞLANMA

Formunuza  AdoConnection,Adotable,DataSource ve DBGrid ekleyin.AdoConnection Obeject inspector kısmından ConnectionString gelerek yanında bulunan noktalara tıklayınız. 



Karşınıza gelen yukarıda resimde bulunan Build butonuna tıklayınız.



Microsolf Jet 4.0 ole db Provider seçtikten sonra ileri butonuna tıklayınız. Sonraki Aşamada veri tabanını seçin. Adotable connection özeliğini AdoConnection1 yapın ve TableName kısmında tablonuzu seçin.Active kısmınıda true yapmayı unutmayın.DataSoruce properties özeliklerinden dataset Adotable1 yapın ve Dbgrid DataSource özeliğini DataSoruce1 yapın. Böylce Access veri tabanını bağlamış olursunuz
Yukarı



Veri tabanına Kayıt Ekleme :

Örneğimizde 1 tane Adoconnection,Adotable,DataSoruce ve Dgrid ekleyin. Veri tabanızdaki alanlar kadar Dbedit kullanın Dbeditlerin Properties'ten Datasoruce özeliklerini DataSoruce1 yapınız ve  DataField özeliğini ise veri tabanındaki alanlarla ilişkilendirmesini yapınız.Veri kaydetmek içinde 1 tane buton form ekleyiniz.

procedure TForm1.Button1Click(Sender: TObject);
begin
     ADOTable1.Edit ;
     ADOTable1.Post ;
end;
Yukarı



Seçilen Veriyi Silme :

Örneğimizde 1 tane Adoconnection,Adotable,DataSoruce ve Dgrid ekleyiniz.Veri silmek  içinde 1 tane buton forma ekleyiniz.

procedure TForm1.Button1Click(Sender: TObject);
var a:integer;
begin
     a:=Application.MessageBox('Seçilen veriyi silmek istediğinizden Emin misiniz ?','Uyarı',MB_YesNo);
     if a=idyes then Adotable1.Delete;
end;

  Yukarıdaki örnek seçili veri üzerindeyken button tıkladığınız zaman karşımıza mesaj gelecek Evet tuşuna basılırsa veri silicektir.
Yukarı



Escape tuşuna basıldığında  formun kapanmas :

Formun KeyPreview özelliğini True yapınız. Daha sonra OnKeyPress olayına aşağıdaki kodu yazın.

    procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
      begin
          if key = #27 then Close;
      end;
Yukarı



Alt+F4 tuş kombinasyonuyla programın kapanmaması :

Formun KeyPreview özelliğini True yapınız, daha sonra formun OnKeyDown olayına aşağıdaki kodu yazın.
 
    procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); 
      begin
          if ((ssAlt in Shift) and (Key = VK_F4)) then Key := 0;
      end;
Yukarı



F1,F2 gibi Fonksiyon Tuşlarını Kullanmak :

Formun KeyPreview özelliğini True yapın ve OnKeyDown olayına aşağıdaki kodu yazın .

     if Key = VK_F2 then begin {F2'ye basılırsa burdaki kod çalışır} end;
Yukarı



Harddiskin seri numarasının bulunması :

procedure TForm1.Button1Click(Sender: TObject); 
  var
       VolumeSerialNumber : DWORD;
       MaximumComponentLength : DWORD;
       FileSystemFlags : DWORD;
       SerialNumber : string;
  begin 
        GetVolumeInformation('C:\',
                                     nil,
                                     0,
                                     @VolumeSerialNumber,
                                     MaximumComponentLength,
                                     FileSystemFlags,
                                     nil,
                                     0);
        SerialNumber := IntToHex(HiWord(VolumeSerialNumber), 4) + '-' +
                           IntToHex(LoWord(VolumeSerialNumber), 4);
        Memo1.Lines.Add(SerialNumber);
   end;
Yukarı



CD-Rom sürücüyü açmak ve kapamak :

uses kısmına MMSystem unitini ekleyi unutmayınız.

mciSendString('Set cdaudio door open wait', nil, 0, handle); //açma
mciSendString('Set cdaudio door closed wait', nil, 0, handle); //kapama


<< Geri
 

Webbilgileri© 2007 - 2008| Web Hosting:ekstrabilisim.com
Web tasarım: Okan KACAN