Anasayfa > Kodlar > Delphi ile Classlar nasıl kullanılır

Delphi ile Classlar nasıl kullanılır

CLASS lara giriş seviyesindedir.

Bu makale Class lara giriş seviyesindedir.

Programlama da programcıların en zorlandığı olaylardan biride Nesneye Dayalı Programlamanın kavramını anlamaktır. Class Nedir? Nesne Nedir? Constuructor(Kurucu) nedir? Vb…

Öncelikle Temelden başlayarak ilkel yöntemleri kullanalım sonra da Modern (Sosyete) kodlama yöntemlerine geçelim. Bakın ben bu yöntemleri Java da öğrenmiştim.

Bir integer dizisinin elemanlarını ListBox’a basan bir program yapalım.

procedure TForm1.Button1Click(Sender: TObject);
var
dizi: Array[0..9]of Integer;
i:Integer;
begin
dizi[0]:= 5;
dizi[1]:= 1;
dizi[2]:= 3;
dizi[3]:= 4;
dizi[4]:= 6;
dizi[5]:= 7;
dizi[6]:= 8;
dizi[7]:= 5;
dizi[8]:= 9;
dizi[9]:= 6; //Dizilere atanan değerler kullanıcıdan alınabilir.

For i:=0 to high(dizi) do
ListBox1.Items.Add(intToStr(Dizi[i]));
End;

Bir dizi oluşturduk. Bir döngü açıp ekrana bastırdık. İkinci bir dizi daha ekrana bastırmamız gerektiğini düşünelim. Aşağıdaki gibi yapılabilir.


procedure TForm1.Button1Click(Sender: TObject);
var
dizi1: Array[0..9]of Integer;
dizi2: Array[0..9]of Integer;
i:Integer;
begin
dizi1[0]:= 5;
dizi1[1]:= 1;
dizi1[2]:= 3;
dizi1[3]:= 4;
dizi1[4]:= 6;
dizi1[5]:= 7;
dizi1[6]:= 8;
dizi1[7]:= 5;
dizi1[8]:= 9;
dizi1[9]:= 6; //Dizilere atanan değerler kullanıcıdan alınabilir.

dizi2[0]:= 7;
dizi2[1]:= 7;
dizi2[2]:= 4;
dizi2[3]:= 3;
dizi2[4]:= 6;
dizi2[5]:= 7;
dizi2[6]:= 8;
dizi2[7]:= 5;
dizi2[8]:= 9;
dizi2[9]:= 9; //Dizilere atanan değerler kullanıcıdan alınabilir.

For i:=0 to high(dizi1) do
ListBox1.Items.Add('Dizi1 ' + intToStr(Dizi1[i]));

For i:=0 to high(dizi2) do
ListBox1.Items.Add('Dizi2 '+intToStr(Dizi2[i]));

End;

Yukarıda görüldüğü gibi iki for döngüsü yaptık. Halbuki bir int dizisinin ekrana basılması olayı tek seferde yapılabilirdi. Burada devreye fonksiyon ve Procedure kavramı girer. Bir Procedure ile bu işi yapsak daha kullanışlı olurdu.


Procedure Listele(Dizi: Array of Integer);
var
i:Integer;
begin

For i:=0 to high(dizi) do
Form1.ListBox1.Items.Add(' ' + intToStr(Dizi[i]));
Form1.ListBox1.Items.Add('________');

End;

procedure TForm1.Button1Click(Sender: TObject);
var
Dizi1: Array[0..9]of Integer;
Dizi2: Array[0..9]of Integer;
Begin
dizi1[0]:= 5;
dizi1[1]:= 1;
dizi1[2]:= 3;
dizi1[3]:= 4;
dizi1[4]:= 6;
dizi1[5]:= 7;
dizi1[6]:= 8;
dizi1[7]:= 5;
dizi1[8]:= 9;
dizi1[9]:= 6; //Dizilere atanan değerler kullanıcıdan alınabilir.

dizi2[0]:= 7;
dizi2[1]:= 7;
dizi2[2]:= 4;
dizi2[3]:= 3;
dizi2[4]:= 6;
dizi2[5]:= 7;
dizi2[6]:= 8;
dizi2[7]:= 5;
dizi2[8]:= 9;
dizi2[9]:= 9; //Dizilere atanan değerler kullanıcıdan alınabilir.

Listele(dizi1);
Listele(dizi2);
End;

Programımız daha basitleşmiş olduğunu görüyoruz. 3 ncü 4 ncü 5 nci dizimizi listelemek artık bizim için daha basit. Diyelimki Dizimizde ki indislerimizin taşıdığı değerlerin toplamını almamız gerekiyor bunu bir fonksiyonla halledebiliriz. Programımız dizimizin hem indislerini ekrana bassın hemde toplamını alsın.


Function DiziTopla(Dizi: Array of Integer):Integer;
var
Top:Integer;
i:Integer;
begin
Top := 0;

For i:=0 to high(dizi) do
Begin
Top := Top + Dizi[i];
Form1.ListBox1.Items.Add(' ' + intToStr(Dizi[i]));
End;
Form1.ListBox1.Items.Add('________');
Result := Top;
End;

procedure TForm1.Button1Click(Sender: TObject);
var
Dizi1: Array[0..9]of Integer;
Dizi2: Array[0..9]of Integer;
Begin
dizi1[0]:= 5;
dizi1[1]:= 1;
dizi1[2]:= 3;
dizi1[3]:= 4;
dizi1[4]:= 6;
dizi1[5]:= 7;
dizi1[6]:= 8;
dizi1[7]:= 5;
dizi1[8]:= 9;
dizi1[9]:= 6; //Dizilere atanan değerler kullanıcıdan alınabilir.

dizi2[0]:= 7;
dizi2[1]:= 7;
dizi2[2]:= 4;
dizi2[3]:= 3;
dizi2[4]:= 6;
dizi2[5]:= 7;
dizi2[6]:= 8;
dizi2[7]:= 5;
dizi2[8]:= 9;
dizi2[9]:= 9; //Dizilere atanan değerler kullanıcıdan alınabilir.

ShowMessage(intToStr(DiziTopla(dizi1)));

End;

Evet Programımız tek bir fonksiyon ile dizimizi ListBox’a hem listeledik hem de dizimizin indislerinin toplamını aldık.


TD Software


Reklamlar
  1. Henüz yorum yapılmamış.
  1. No trackbacks yet.

Bir Yanıt Bırakın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: