Posted under Visual Basic
IF (Eğer) koşulu Bölüm 1
if / else / end / if
#if / iif / select case / choose / switch
Bölüm 1
if / else / end / if #if / iif / select case / choose / switch
Bölüm 1
“if”, ingilizce de eğer anlamına; “then”, daha sonra anlamına; “else”, başka türlü, başka , anlamına gelmektedir.
Yeni Tanım Run-time
Runtime - karşılık olarak çalışma zamanı , çalışma anı, anlamına gelmektedir.
Programımızın dizaynını ve kodlarını çalıştırıp nasıl göründüğünü, ve herşeyin çalışıp çalışmadığını kontrol ederiz. İşte programımızı çalıştırmak için üst Toolbar da (yada Coolbar desek daha doğru olur) “Run” Butonunuveya klavyeden “F5″ tuşunu kullanabiliriz. Programı çalıştırdığımızda artık görsel olarak kod haricinde objelerin özelliklerini şekillerini değiştirmek obje eklemek ve kaldırmak imkansızdır. Çalışma anında (bir kaç özel sistem haricinde) ve program durdurulmadığı sürece, kod eklemek imkansızdır.
Visual Basic’te program çalışırken gelen bir veriye, gerçekleşen bir olaya, alınan bir sonuca göre bir işlem yapılabilir. Değişkenler hakkında tam olarak bir bilgiye sahip değilseniz lütfen “Makaleler-Visual Basic Kursu” bölümünden “VB Öğrenme Bölüm - 1 ” ve “VB Öğrenme Bölüm - 2″ adlı makaleleri okumanızı tavsiye ederim.
Visual Basic’te duruma , bir değişkenin değerine göre bir işleme karar verilebilir.
En basit örnek olarak; programımızı 800×600 çözünürlükte hazırladık ve projemizin (programımızın) 800×600 den daha küçük bir çöznürlükte açılmasını istemiyoruz. Çünkü programımız 800×600 de tam ekran kaplıyor.
Şimdi Visual Basic ‘i tamamen unutalım. Bu işi yapmak için az Visual Basic bilgisine ve biraz düşünmeye ihtiyaç var. Önce düşünme kısmını gerçekleştirelim.
1 - ) Bir isteğimiz var; biz ekran çözünürlüğü 800×600 den küçükse program çalışmasın istiyoruz. Şimdi bunu yavaş yavaş Visual Basic’e dönüştürüyoruz.
2 - ) Yani diye biliriz ki Ekran Genişliği 800 den küçük olmayacak, Yüksekliği 600 den küçük olmayacak. Şimdi aklımıza iki olasılık geliyor:
A - Ekran genişliği 800 ‘e eşit veya büyükse –VE– Ekran yüksekliği 600 ‘e eşit veya büyükse ; —- Program ÇALIŞSIN
B - Ekran genişliği 800 ‘den küçükse –VE– Ekran yüksekliği 600 ‘den küçükse ; —- Program ÇALIŞMASIN
Burada aynen şöyle bir örnek verebiliriz.
Bir aracın [onay kodu doğru ise geçsin]
[onay kodu yanlışsa geçmesin]
iki ifade de aynı anlama gelir. İkiside bu durumda tamamen aynı anlama geliyor olsa bile biz ikisini de kullanabiliriz. Sonuç farketmez. Bu ifade tamamen isteğimize kalmıştır. Öncelikli olarak (A) seçeneğini seçerek yapalım.
3 - ) Peki bunu yazısal veya matematiksel olarak nasıl ifade edebiliriz. İstediğimiz şey ekran genişliği EkranGenişlik >= 800 EkranYüksekllik >= 600 Gördüğünüz gibi buraya kadar Visual Basic bilmemize gerek bulunmamaktadır. Devam edelim.
4 - ) Bu iki ifadenin kontrölününün aynı anda olmasını, yani birlikte yapılmasını istiyoruz. Yani hem ekran genişliğinin 800 veya üstünde olmasını hemde ekran yüksekliğinin 600 veya üstünde olmasını istiyoruz. Şimdi sadece biraz ingilizce ye ve matematiğe ihtiyacımız var.
Demiştik ki bu iki kontrölün aynı anda yapılmasını istiyoruz. Yani matematikteki “VE” işaretine ihtiyacımız var. EkranGenişlik >= 800 ve EkranYüksekllik >= 600 İfadeleri biraz daha düzgün hale al2alım.
(EkranGenişlik >= 800) ve (EkranYüksekllik >= 600)
Visual Basic inglizce bir dil olduğundan ( başka dilde programlama dili var mı bilmiyorum ama %90′ı ingilizcedir) “ve” sözcüğünü ingilizceye çevirelim. “ve” ingilizce de “and” kelimesine karşılık gelir.
(EkranGenişlik >= 800) And (EkranYüksekllik >= 600)
İşlem bitti sayılır. İşte şimdi bu ifadeyi Visual Basic ‘e uyarlayalım. Visual Basic’te Ekran Genişliğini ve Ekran Yüksekliğini alabileceğimiz bir komut bulunmaktadır. Bundan önce bir terimi bilmemiz gerekiyor.
Yeni Tanım Twip
Twip : Bir ölçü birimidir ve Pixel’in 15 de biridir. Yani ekran çözünürlüğünde görmüş olduğumuz her noktaya bilindiği gibi pixel denir. Bunların 15′te birine de twip adı verilir. Visual Basic’te API’ler haricinde çoğu yerden (özellikle dizayn’da -tabi değiştirilebilir) boyutlar Twip olarak gelir. Screen.Height bize ekran yüksekliğini Twip olarak döndürecektir. Screen.Width ise ekran genişliğini Twip olarak döndürür.
Yani;
EkranGenişlik = Screen.Width / 15 ‘ 15′e bölerek Pixel’den Twip’e çevirdik.
EkranYükseklik = Screen.Height / 15 ‘ 15′e bölerek Pixel’den Twip’e çevirdik.
(EkranGenişlik >= 800) And (EkranYüksekllik >= 600)
Şimdi en son olarak “if” i kullanmamız gerekiyor.
Eğer (EkranGenişlik >= 800) And (EkranYüksekllik >= 600) ise [programın açılmasına izin ver]
“Eğer” ingilizce de “if” olur. “İse” de “then” olarak ifade edilebilir.
If (EkranGenişlik >= 800) And (EkranYüksekllik >= 600) Then [programın açılmasına izin ver]
Şuan if koşulu hazır. [programın açılmasına izin ver] bu bölüm şuan bizi hiç ilgilendirmiyor. Oraya daha sonra başka bir komut yazarak programın açılmasını sağlıyacaz. Onun için oraya şuan bir kod yazmıyoruz. If koşulunun iki türlü kullanılma şekli bulunmaktadır.
if koşul then işlem
if koşul then
işlem
end if
İki ifade de yaptığı işlem tamamen aynıdır. Ancak işin detayına inince, Microsoft’un yayınlamış olduğu kitaplarda 2. ifadenin %15 daha hızlı çalıştığı belirtiliyor. Ayrıca, ilk ifade de “işlem” dediğiniz komut veya işlem sadece bir satır olabilir. Halbuki biz eğer bir koşul doğru ise birden fazla işlem yapılmasını istiyorsak o zaman mutlaka 2. ifadeyi kullanmak zorundayız. Yani:
if koşul then
işlem1
işlem2
işlem3
işlem4
end if
If ile End if arasına istediğimiz kadar işlem eklemekte serbestiz.