İki sayının toplamı

Parent Previous Next

Bu örnekte iki edit nesnesinden alınan bilgilerin bir mesaj penceresinde toplam olarak yazılmasını sağlayalım.


1nci adım form tasarımı olmalı istenen iki sayının toplamı olduğuna göre iki ayrı edit nesnesi form üzerinde olmalıdır.

2nci adım ise bir buton yardımı ile bu işlemin icra edilmesi olacaktır.


İlk örnek proje olması nedeni ile işlem sırasını resimleyelim:


Lazarus "component tab" ındaki edit nesnesini mouse ile tıklayalım:



ve form üzerinde istediğimiz bir alan üzerine tıklayalım:



Tabi bazı açıklama bilgileri için de label componentini form üzerine ekleyelim:





Dikkat edilirse label1 ile edit1 adlı nesnelerin kılavuz çizgileri bize tasarım aşamasında yardımcı oluyor.

Not: Bu ayarlar da değiştirilebilir.


Şimdi diğer iki componenti de ekleyelim, istenirse copy / paste işlemi de yapılabilir. Lazarus IDE bu durumlarda component adlarını otomatik atayacaktır. Şimdilik adlandırma işlemlerini yapmayacağız.


Formun son şekli şöyle olsun:




Windows işletim sisteminde her işlem messages / events ler ile oluşur. Yani sizin mouse hareketiniz, klavyeden bir tuşa basılması veya saatin işleyişi bir olaydır.


Lazarus formları üzerinde de bazı olaylar vardır; Nesne bir butonsa mouse ile tıklandığında , edit nesnesi ise nesnenin içeriği değiştiğinde gibi.


Ancak şimdilik butona dair bir event (olay) üzerinden devam edeceğiz. İlk örnek olduğu için hatasız işlem yapıldığı varsayalım ve hata kontrollerini yapmayalım.


Lazarusta bir event için ilgili componentin object inspector üzerindeki listesinden faydalanabiliriz veya bazı özellikler kullanıcıya kolaylık olsun diye mouse çift tıklaması ile de olabilir. Bu tasarlanmış olan componente bağlıdır.


Şimdi buton1 nesnesine çift tıklayalım:


Lazarus code editor kısmına otomatik geçer ve bazı değişlikleri bizim için yapar:



Yapılan değişiklikler şöyledir bir procedure oluşmuştur bu ana nesnemiz olan TForm1 altında button1click ismi ile tanımlanmıştır.


Begin ve End; arası kullanıcının kodlaması için boş bırakılmıştır. Unite sonu ise end. ile biter.


Şimdi bu blok içerisine şu kodları yazalım:




Sırası ile incelersek elimizde üç adet değişkenimiz bulunuyor istenirse değişkenler virgül ile de tek satır veya çoklu satır olarak da yazılabilirdi ancak ilk başlarda her birini tek tek yazıyoruz.


sayi1 := strtoint( edit1.text );


satırını incelersek yeni bir komut kullandığımızı görebiliriz bu komutun amacı string bir bilgiyi sayısal bir değere dönüştürülmesini sağlar. ( Bu komutlar ayrıca functions ve procedures alanında açıklanacak )


Bir başka komut da Inttostr( toplam ) bu komutun amacı da sayısal bir değeri string bir şekle çevirmektir.


Şimdi derleyip saklama işlemlerini yapalım ve çalıştıralım.




İlk çalıştırmayı gerçekleştirildiğimizde edit1 nesnesine üzerinde olacağız bunun ana nedeni ile oluşturduğumuz nesne ilk olarak seçili (focus) olacaktır. Bu sırayı da istersek form tasarımında değiştirebiliriz.


Şimdi sayısal değerlerimizi girelim be button1 nesnesini tıklayalım:




Eğer sayısal olmayan bir değer girişi yaparsak veya noktalı sayı girişi yaparsak hata mesajı alacağız:



Çünkü biz kod kısmında sadece integer (tam sayı) olarak tanım gerçekleştirdik.


Hiç sayı girmeden işlem yaparsak şöyle bir ekran karşımıza gelecektir:




Eğer break (kırmak) düğmesini tıklarsak hatanın oluştuğu satıra gider ve düzeltme yapılması istenir. Şimdilik continue ile hata mesajını alalım.


Debug işlemleri programlamada geliştikçe daha da azalacaktır.


Created with the Personal Edition of HelpNDoc: Free EPub producer