Delphi’de tek satırdan birden fazla şart kontrolü

Bir çok durumda tek satırda birden fazla şartı kontrol ettirebilirsiniz. Bu size kod satırlarınızın kısalmasını sağlayacaktır.

Aşağıdaki örnekleri birbirleriyle kıyaslayınız.

coklusartkontrolu1

Bu örnekte notun “0” dan küçük veya “100” den büyük olması aynı kodun işletilmesini sağladığı için bu iki şartı tek satırda kontrol edebiliriz.

coklusartkontrolu2

“And” işleminde o satırdaki tüm şartların sağlanması gerekmektedir.

Şimdi de aynı problemi “Or” operatörünü kullanarakda çözebiliriz.

“Or” yapılan çözümde koşulların yerleri önem arz etmektedir. Yani “if” teki şartları “else if” e, “else if” teki şartları da “if” e alırsanız sonuçlarınızın bir çoğu yanlış olacaktır.

Mesela   “(notu<0)   or   (notu>100)”      satırı   ile   “notu<50”   satırlarını   yer değiştirirseniz, “0” dan küçük olan sayılar zaten “50” den küçük olacağı için

“else if” i işletme  şansınız olmayacaktır (Aralık kesişmesi vardır). “And” için böyle bir durum söz konusu değildir, satırların yerlerini değiştirseniz bile sonuç değişmeyecektir (Çünkü aralık kesişmesi yoktur).

Bu  bölümde  if  yapısının  detaylarını  sizlere  aktarmaya  çalıştım.  Bir  yazılım dilinin  en  çok  başvurduğu  yapı  sanıyorum  budur.  Bu  yüzden  hiç  bir  pürüz kalmadan kullanılabilecek tüm şekillerine adapte olmalısınız. Ne kadar karmaşık olursa    olsun    sorunun    çözümünü    yukarıdaki                                                                               şekillerden    bir    tanesiyle gerçekleştireceksiniz. Bazı durumlarda if içerisinde başka bir if daha (belki onun içinde başka bir if yapısı daha vs.) olabilir. Bu tip durumlarda bloklara dikkat ederseniz hiç bir sorun yaşamazsınız.

Şimdi sizlere if yapısı ile ilgili güzel bir örnek çözeceğim. Örneğimiz hala okullarımızda uygulanan sınıf geçme notuyla ilgili olacak. Formunuzun üzerine

4 adet EditBox, iki adette label yerleştirerek aşağıdaki tasarımı oluşturunuz. Geçme notu vizelerin %30 u ile final notunun %70 i toplanarak bulunacaktır.

ifornegi1

Yukarıdaki  kod  sayesinde  ikinci  GroupBox  ta  yer  alan  bütünlemeyle  ilgili nesnelerin gözükmemesi sağlanmaktadır.

Şimdi  de  girilen  notları  değerlendirecek  olan  Event’ları  oluşturalım.  Kodun yazıldığı event’lar Edit3 (Final notu) ile Edit4 (Bütünleme notu) ün Keypress leri  olacaktır.  “Keypress”  yordamı  klavyeden  herhangi  bir  tuşa  basılması durumunda otomatik olarak işleyen bir yordamdır. Bu yüzden her tuşa basılması bizim   kodumuzu   işletmesin   diye   Enter   tuşu   için   (“Key=#13”)   kontrol konulmuştur. Artık kodumuz sadece Enter tuşuna basıldığı zaman işleyecek, diğer tuşlar hesaplatma işlemini gerçekleştiremeyecektir.

“Keypress” yordamı hakkında detaylı bilgileri Event’lar kısmında bulabilirsiniz. Şimdilik   sadece   Cursor   o   kontrolde   iken   klavyeden   bir   tuşa   basılması durumunda işletileceğini bilin yeter.

Artık aşağıda verilen kodlarıda projenize ekleyebilirsiniz. Kodların Edit3 ve

Edit4 kontrolünün Keypress ine yazıldıklarını tekrar hatırlatalım.

ifornegi2kodkısmı

Bu yordama yazılan kod sadece Final de geçen öğrencilerle ilgilidir. Girilen vize notlarının ortalamasının %30 u ile Final notunun %70 i toplanarak, bulunacak değerin “50” den büyük veya küçük olduğuna bakılacaktır. Eğer ortalama değeri

50 nin üzerinde ise öğrencinin başarılı olduğuna dair uyarı 4 numaralı etikette kullanıcıya bildirilecektir. Aksi takdirde öğrencinin finalde başarılı olamadığı uyarısı yine aynı etikette öğretmenine iletilecektir.

Şayet öğrenci bütünlemeye kaldı ise; bu aşamadan sonra bütünlemeyle ilgili bilgiler gözükecektir. Bütünleme notu girildikten sonra, Enter tuşuna basınca aşağıdaki (Edit4 ün KeyPress yordamı) yordamın kodu işleyip bulunacak, yeni ortalamaya göre sınıfta kalıp kalmadığı belli olacaktır

ifornegi2kodkısmı

Bu  tür  bir  programda  if  yapısı  gerçekten  programcının  eli  kolu  gibidir.  If yapısının anlaşılabilmesi için güzel bir örnek (Daha da güzelleştirilebilir. Onuda siz yapın) olduğunu düşünüyorum .

Bir programın algoritmasını doğru bir  şekilde tasarlarsanız, projeyi yazarken size çok büyük bir kolaylık sağlayacaktır. Baştan savma olarak bir işe asla soyunmayınız.  Tüm  olasılıkları  düşünüp,  hesaplayıp,  alternatifler  türettikten sonra uygulamaya girişiniz. En önemlisi de ustalarınızın tavsiyelerine muhakkak uyun. Aksi takdirde bir projeyi birkaç kere tekrar yapmak zorunda kalabilirsiniz. Bu da sizde hayal kırıklığı yaratacaktır.

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Bu yazı 24 Kasım 2009 tarihinde Aytaç Cici tarafından Delphi kategorisi altına yazılmış ve 153 views defa okunmuş.

Tepki verin!

Aşağıdaki kutucuğa e-posta adresinizi girin sitemize yeni eklenen içerikten haberdar olun...

RSS okuyucu ile takip edin...

    Programlama