[Beyaz Tahribat] Sınav Ortalama Hesap - Delphi
-
Öncelikle merhaba arkadaşlar bi süredir delphiyle ilgileniyordum. Pascal artık cıvıtmaya başlamıştı :) Ama delphiye bakınca o kadar da zor olmadığını sadece Pascal'ın biraz daha ayrıntılı bir dili olduğunu farkettim. Lisedeki Fonksiyon ve Parabol gibi düşününün... İşin en güzel yanı görsel olması :) Lafı uzatmayayım başlayalım;
Öncelikle bu görsel öğeleri oluşturalım bunun için yukarıdaki araç çubuğunu kullanıcaz. Labeller ile - yani düz yazı - www.tahribat.com ve beyaz tahribat yazılarını oluşturdum. Ve bu öğeler seçili iken sol aşağıdaki Object Inspector den Font bölümünü tıklayarak fontu ayarladım (Biraz detaya inmekte fayda var:))
Form1 de herhangi bir yere tıklayalım ve soldaki Object Inspector'den Color'u değiştirelim ve Name'i ve Caption'ı yani başlığı değiştirelim. Ben name'i Main başlığı Sınav Ortalama Hesap yaptım.
Daha sonra bir combobox oluşturdum yine yukarıdaki araç çubuğundan. Şimdi o seçili iken yine Object Inspector bölümünden Item butonuna tıkladım ve içeriğini ayarladım. İçeriğinde 1,2,3,4,5 diye 5 seçenek var. Her seçenek için bir satır atlamayı unutmayın :)
Daha sonra yine bu ComboBox seçili iken Object Inspector'den Name 'i değiştiriyorum => cboSinavAdedi (başına neden cbo ekledik; çünkü kodlamayı yapacağımız esnada nesnenin ne olduğunu unutmamak için ) ve Text'i de değiştiriyorum=> Sınav Adedi
şimdi görsel kısım bitti kodlamaya geçiyoruz;
Comboboxumuzu çift tıklayalım ve karşımıza kod penceresi geldi :)
Her işlem için ayrı bir form kullandım ben . Bunun için yukarıda File/New/Form 'u tıklayınız. Bunu küçük programcıklar olarak düşünebilirsiniz. Yani 2 sınavlık hesap için ayrı form 3 sınavlık için ayrı form. Bununda görsel ayarlarını zevkimize göre yapıyoruz :) Adı Form1.
Şimdi Main adlı formumuzda Sınav Adedi combobox unu çift tıklıyoruz tekrar ve gelen kod penceresinde imlecin olduğu yere şunları yazıyoruz;
if cboSinavAdedi.Text='1' then {eger cboSinavadedi 1 ise}
Form1.Show;{Form1 i göster}
Programı çalıştırmak için F9 a bastığımızda bize bir uyarı verecek: programın çalışması için implemantation altında uses kodu ile Unit1 in tanıtılması gerek ok diyoruz.
Tabii tek bir sınav için ortalamaya gerek yok :) Ve programımız çalıştı :)
Aynı işlemleri 2. bir form oluşturmak için kullanıyoruz ve ikinci formumuzda ayrıyetten hesap için nesneleri de oluşturuyoruz benim tasarımım şöyle oldu:
İki edit box, bir buton ve ortalaman: yazısının hemen yanında boş bir label yani düzyazı. Onu da labeli oluşturduktan sonra uzerine tıklayıp solda object inspector den Caption u silerek yapıyoruz.
Edit boxların caption larını siliyoruz ve namelerini edSinav1 ve edSinav2 yapıyoruz;
Boş labelin ismini de lblOrtalama yapıyoruz. Şimdi artık tasarlamayı öğrendiniz: Caption görüntüsü demek. Name ismi demek. Name bize kodlamada lazım olacak isim. Şimdi Butonu iki defa tıklıyoruz ve kod sayfası geliyor karşımıza:
Buraya şu kodu yazıyoruz açıklayarak yazacağım :
procedure TForm2.GonderClick(Sender: TObject);{Gonder butonuna tıklandığında}
begin
lblOrtalama.Caption:=FloatToStr((StrToInt(edSinav1.Text)+StrToInt(edSinav2.Text))/2);{lblOrtalama yazısını şu değere ata}
end;
lblOrtalama.Caption demek lblOrtalama değerinin görüntüsü ":=" eşitliği ile artık bu değere eşit olsun diyoruz.
StrToInt(edSinav1.Text) ile edSinav1 adlı editboxumuz daki yazıyı bir sayısal değere çeviriyoruz. Çünkü oradaki değeri bilgisayar henüz bir karakter olarak algılıyor. Aynı işlemi diğeri için de uygulayıp topluyoruz ve 2 ye bölüyoruz. Sonuç bir ondalıklı sayı oldu o da Float diye tanımlı delphide. Floattan karaktere çeviriyoruz bu fonksiyon ile ve lblOrtalama'nın yeni değeri bu olmuş oluyor.
Eğer hatırlarsak Pascal'da real diye tanımlıyorduk ondalıklı sayıları ve gösterirken. x:10:2 diye yapıyorduk bunun amacı programın sayıyı düzgün gsötermesi.
Şimdi F9 ile programı çalıştırdığımızda Main yani ana formdan 2 yi seçelim ve gelecek ekrandan edBoxları doldurup butona basalım. Sonucu verecek :)
Aynı işlemleri 3,4,5 için de yapıyoruz. onların kodları da aynı şekilde. Farklı bir şey yok:
lblOrtalama.Caption:=FloatToStr((StrToInt(edSinav1.Text)+StrToInt(edSinav2.Text)+StrToInt(edSinav3.Text))/3);
lblOrtalama.Caption:=FloatToStr((StrToInt(edSinav1.Text)+StrToInt(edSinav2.Text)+StrToInt(edSinav3.Text)+StrToInt(edSinav4.Text))/4);
lblOrtalama.Caption:=FloatToStr((StrToInt(edSinav1.Text)+StrToInt(edSinav2.Text)+StrToInt(edSinav3.Text)+StrToInt(edSinav4.Text)+StrToInt(edSinav5.Text))/5);
Evet arkadaşlar dediğim gibi delphi pascalın daha gelişmiş hali ama zor değil. Hepinize saygılar sevgiler :)
edit: Bu da yapılmışının download linki ;
http://rapidshare.com/files/272093063/byzthrbt.rar
-
Güzel olmuş bro eline sağlık.
-
ehehh büyük hissediyorum. :)
sağol hoca.
-
Orjinal olmuş buton.. Güzel calişma. Tebrikler.
-
ellerine sağlık devamını kesinlikle bekliyorum.
-
güzel çalışma :)
bende kendı hazırladıgım Mysql kurulumu ve Delphi ile kullanılmasını anlatan yazımı upload edeyim belki faydası dokunur...
döküman resimli anlatılmıştır...
Link :
-
öncelikle eline sağlık :)
not aşımınıda eklersen çok daha iyi olur :)
-
eline sağlık
güzel olmus