user-avatar
Bugün Salı
07 Şubat 2012

16 Kasım 2008

Delphi’de Procedure ve Function Yazma

Procedure ile Function gerçek anlamda bir programın vazgeçilmezidir. En genel anlamda procedure ler geriye değer döndürmeyen, function ise geriye değer gönderen yapılardır.

Procedure için bir örnek

//Procedure e dışarıdan gönderilecek değişkenleri tanımlıyoruz.

Procedure Topla(sayi1,sayi2:integer);
var
sonuc :integer;
begin
//çalıştırılacak işlemleri yapıyoruz
sonuc := sayi1 + sayi2;
showmessage(inttostr(sonuc));
end;

Procedure Örnek Kullanımı

procedure TForm1.ornekProcedureClick(Sender: TObject);
begin
Topla(1,4);
end;

Procedure ümüzü Private yada Public bölümlerinde tanımlayabiliriz. Private de tanımlamasını yaparsak diğer Unitlerimizden buna erişemeyeceğiz yani sadece ona özel bir procedure olacaktır. Public kısmında tanımlarsak diğer Unitlerimizden erişebiliriz. Yazdığımız procedure e bakacak olursak verdiğimiz işi yaptı.
Ama ben bunu yaptım şu oldu demedi.İşte function ı procedure den ayıran en önemli özellik budur.

Function için bir örnek

//functiona dışarıdan gönderilecek değişkenleri tanımlıyoruz
// tanımlamanın en sonundaki "Toplama(sayi1,sayi2:integer):integer" integer tanım-
//laması functionun dönüş değer tipidir.
Function Toplama(sayi1,sayi2:integer):integer;
begin
//result ile function işlemini bitirdikten sonra değeri kullanıcıya geri döndürüyoruz
Result := sayi1 + sayi2;
end;

Function Örnek Kullanımı

procedure TForm1.ornekFunctionClick(Sender: TObject);
var
donenDeger:integer;
begin
donenDeger := Toplama(5,6);
ShowMessage(IntToStr(donenDeger));
end;

Functionlar da Procedure ler gibi Public yada Private Olabilirler.
Burada procedurelerden farklı olarak iki bölüm bözümüze çarpıyor.
1- Function adını ve parametrelerini belirledikten sonra function sonucunda bir integer değer dönmesi gerektiğini söyledik. Bu sayede function verilen görevlerini tamamladıktan sonra bizim isteğimize göre bize bir bilgi verecektir.
2- Result ise işte bu döndürülecek değerdir. Tipini yukarıda yapılan tanımlamadan alır. Bu tipide yaptıracağımız işleme göre belirlememiz gerekmektedir.
Örn. Bir kayıt işlemi yaptırtıyorsak, dönüş değerini boolean tanımlayıp true yada false değer gönderebiliriz. Bu sayede kayıt sonucunu bildiğimiz için false dönmüşse kayıt yapılamadı, true dönmüş ise kayıt başarılı şeklinde uyarı verebiliriz.

Aslında Function ve Procedure ler bir programın vazgeçilmezleridir. Bu nedenle algoritmanızda benzerlik gösteren işlemleri function yada procedure haline getirmeniz daha iyi olacaktır.

1 Comment »

  1. Ahmet Ugur diyor ki:

    Bilgi için teşekürler uzun süredir Delphi kullanmıyordm ve procedure mü yoksa fonksyonunmu geri döndüğünü hatırlayamamıstım :)

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Connect with Facebook

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

© 2012 Selçuk Kütük’ün Günlüğü All rights reserved - Wallow theme v0.46.4 by ([][]) TwoBeers - Powered by WordPress - Have fun!