Hızlı Konu Açma

Hızlı Konu Açmak için tıklayınız.

Son Mesajlar

Konulardaki Son Mesajlar

Reklam

Forumda Reklam Vermek İçin Bize Ulaşın

Değişkenler.

BlackKey

Üye
Fenerbahçe
Kayıtlı Üye
Katılım
12 Eylül 2014
Mesajlar
167
Tepkime puanı
0
Puanları
0
Delphi'de değişkenlerin yerlerini ihtiyacımıza göre deklare ederiz.

1. Prosedür veya Fonksiyon Bazında Değişken Tanımlama

procedure TForm1.Button1Click(Sender: TObject);
var
sayi:integer;
begin
sayi:=sayi+1;
showmessage('sayı='+inttostr(sayi));
end;

Bu prosedürdeki sayi değişkeni prosedüre özgüdür ve prosedür işletilip son bulduktan sonra bellek serbest bırakılır ve bu yüzden yukarıdaki örnekte butona her tıkladığınızda sayı=1 görünür. Ayrıca bu x değişkenine formun diğer prosedürlerinden ya da diğer formlardan erişemezsiniz.

2. Form Bazında Değişken Tanımlama.

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
sayi:integer;
{ Private declarations }
public
{ Public declarations }
end;

Buradaki değişkenin form içerisindeki herhangi bir prosedür veya fonksiyondan erişebilirsiniz. Buradaki değişkenler form close olmadan bellekten silinmezler. Aşağıdaki örnekte buttonclick prosedüründe formun sayi değişkenini 1 arttırıp showmessage ile gösteriyorum. Butona her basıldığında sayi değeri 1 artıcak ve sayi=1 sayi=2 sayi=3 vs. görünecektir.

procedure TForm1.Button1Click(Sender: TObject);
begin
form1.sayi:=form1.sayi+1; // buradaki sayi formun private alanına deklare edilen sayi değişkenidir.
showmessage('sayı='+inttostr(form1.sayi));//form1.sayi yazmak yerine direk sayi yazabilirsiniz
end; // Farkı görebilmeniz için form1.sayi şeklinde yazdım.

3. Program Genelinde Değişken Tanımlama.

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
sayi:integer;
{ Public declarations }
end;

Burada tanımlanan sayi değişkenine diğer unitlerden(formlardan) erişebilirsiniz. Sadece diğer formların uses satırına değişkenin tanımlı olduğu formun unit adını (örnekte unit1) yazmanız gerekir.
 

Users Who Are Viewing This Konu (Users: 0, Guests: 1)

Üst