İlk dersimizde yaptığımız basit bir `showmessage` uygulamasını anlatmıştık. Şimdi işleri biraz daha karışıtırp değişken meselesine girelim.
Değişkenler kısaca içerisine veri sakladığımız dosyalardır. Bu dosyalara program harici kimse erişemez.
Örneğin :
var Form1: TForm1; araba_sayisi : integer; //Bu kodda “araba sayısı” değişkeninin sayısal bir ifade olduğunu söyledik.
Sonradan bunu bir buton kontrolü ile şu şekilde düzenleyebiliriz.
procedure TForm1.Button1Click(Sender: TObject); begin araba sayısı := 10 ; //10 adet arabamız olduğunu söyledik... end;
Tanımlamamızı `var` komutu altında yapmamız gerekmekte. Ve tanımlama için sadece “:” koymamız yeterli.
Aksine kod yazarken bir eşitlikten bahsediyorsak `:=` işareti kullanılmalı.
Bilmemiz gereken şu aşamada sadece 2 değişken tipi var
1. Int (integer) = Bu değişken tipi işlem yapabilme kabiliyetine sahip ifadeleri belirtir. (Sadece tam sayılardan oluşur. Ve 256 * 256 – ll712 kadar büyük bir değer alabilir.)
2. Str (string) = Bu değişken bilgisayarın anladığı dildir. Yani sizlere bir yazı bir metin içinde sayı bile olsa bunun işlem için olmadığını sadece yazı olduğunu anlatan değişken tipidir.
Çok dikkat edin. Eğer,
Sayi1, Sayi2, Sayi3 :integer; Sayi1 :=1; Sayi2 :=5; Sayi3 := sayi1 + sayi2;
Dersek `Sayi3` 6 değerini alır yani matematiksel işlem yapar. Eğer,
Sayi1, Sayi2, Sayi3 :integer; Sayi1 :=1; Sayi2 :=5; Sayi3 := sayi1 + sayi2;
Dersek yani değerler `string` olursa Sayi3 sadece bunları yazı olarak algılar ve 15 olarak gösterir (1 ve 5 sayısını yanyana koyar.)
Not: Yukarıdaki resimde `Object Inspector` bölümünde seçtiğimiz ögenin özelliklerini ayarlama şansına sahibiz. Ben burada `caption` dan kısaca bahsedicem. `Caption`, button1 şekilinde gözüken butonun üstündeki yazıyı ifade ediyor.
10 adet araba tanımladık, şimdi bu veriyi çağırıp bir yerde kullanalım.
Yine `showmessage` komutunu kullanalım.

Resimdede belirttiğim gibi
(‘Toplam Araba Sayısı’ + araba_sayisi);
“+” işareti yardımı ile bu iki değeri birleştirdim. Yani bizlere uyarı olarak
“Toplam Araba Sayısı 10” uyarısını verecek. Programımızı çalıştıralım…
Bir hata uyarısı aldık. Biz `showmessage` komutu ile sadece `string` (yazısal ifade) kullanabiliyorduk. Ama `araba_sayisi` `integer` bir değerdi. Bunu `string` bir değere çevirmemiz gerekecek. Bunun yerine ifadeyi `string` e çevirirsek işlemsel bir durum olmayacak ileride araba sayısını arttırmak istersek izin
vermeyecektir. Burada `inttostr` bizim yardımıza koşuyor.
`IntToStr`, `integer` ifadeyi `string` e çevir anlamına gelir.
`StrToInt`, `string` ifadeyi `integer` a çevir anlamına gelir.
Şeklinde düzenlersek hata almayacağız. Buradaki en önemli noktalardan biride () içine almaktır. Matematikteki işlem sırası özelliği delphide de geçerlidir. Parantez içine alarak hangi koda `inttostr` uygulanacağını söylüyoruz.
Programı şimdi derleyelim [F9].
Gayet güzel şekilde çalıştı. Biraz daha zorlayalım araba ekleme ve silme düğmeleri ekleyelim. Formumuza `caption` ları “+” ve “-” olan iki adet buton ekledik. Son hali,
Şimdi gelelim kod kısmına. Ben özellikle kodu direk vermiyorumki kopyala yapıştır yapmayın diye.

Burada `araba_sayisi` değerine kendisinin 1 fazlası haline getirdik böylece 1 sayı artmış oldu. Diğerinde de 1 sayı azalttık. (`Object Inspector` den `name` lerini arttirma ve azaltma olarak değiştirdim …)
Şimdi + butona tıklayıp, sorgulayalım. Unutmadan üst taraftaki,
Araba_sayisi := 10;
Kodunu kaldırmazsak sürekli değerini 10 yapacak ve hiç değişiklik olmayacak o kodu oradan silelim.

Son halimiz bu ve şimdi çalıştıralım. + ya basıp “Kaç Araba Var??” `a tıkladığınızda 1 diyecektir. Bir daha + yaptığınızda 2 olacaktır. – yaparsanızda tekrar 1 `e inecektir.
Gayet güzel şekilde değişkenler nasıl kullanılır görmüş olduk. Diğer değişkenleri de sonraki anlatımlarda paylaşacağım. Ancak önemli bir durum var programı kapatığınızda her şey en baştaki haline döner. Örneğin; araba sayısını 10 `a kadar getirdiniz programı kapadığınızda tekrar 0 olacaktır.
Bunun sürekliliği için database (SQL, Paradox Table vs.) kullanarak o anki değeri kaydettirip program tekrar açıldığında aynı yerden devam etmesini sağlamamız gerekir. Bu çok ileri seviyelerde. Daha sonra bunları da yavaş yavaş öğreneceğiz.
Şimdilik sizlere iyi çalışmalar..












