Merhaba Troia eğitimlerimize Switch Case yapısı ile devam ediyoruz.
Switch Case pek çok yazılım dilinde İf Else yapısına alternatif olarak geliştirilmiş bir karar yapısıdır.
Kullanımı
SWITCH DEĞİŞKEN CASE DEĞER1 : KODLAR; CASE DEĞER2 : KODLAR; CASE DEĞER3 : KODLAR; DEFAULT : KODLAR; ENDSWITCH;
Kısaca yapıyı anlatalım.
Switch ifadesiyle hangi değişkenin durumu takip edilecekse o değişken yazılır.
Daha sonrasında Case ifadesi ile oluşabilecek olası durumlar ve o olayın olması sonucunda yapılacak işlemler kodlanır.
Burada bir Case’e değer yazılırken gelen değerin STRING mi yoksa diğer türlerden bir değer olarak mı geliyor bu bilinmelidir.
string bir değer geliyorsa
CASE’DEĞER’ : şeklinde DEĞER iki tane tek tırnak arasına yazılmalıdır.
Eğer gelen değer örneğin bir INTEGER ise
CASE DEĞER: şeklinde yazılmalıdır.
Case yapısında eğer istenilen durumların hiçbiri gerçekleşmez ise olacak olaylar
DEFAULT: altında yazılır.
Her SWITCH bir ENDSWITCH kodu ile bitmelidir.
Artık örneğimize geçebiliriz.
Yine bir önceki yazımız için geliştirdiğimiz Hesap Makinesi üzerinden anlatıma devam ediyor olacağız.
Transaction İsmi : EDUTEST
Başlangıç Diyalogu : EDUD01D000
Oluşturacağımız Diyalog : EDUD01D002
Sınıf İsmi :EDUTESTCLAS
Tasarımda herhangi bir değişiklik yok OK Click methodu hariç diğer kodlarımızda da olmayacak.
Sadece OK Click kodlarında if ile yazdığımız kısımları uygun SWITCH CASE yapısına çekeceğiz.
ISLEM1=ISLEM; SWITCH ISLEM1 CASE '+' : SONUC=EDUTESTCLASREC.TOPLA(SAYI1,SAYI2); CASE '-': SONUC=EDUTESTCLASREC.CIKAR(SAYI1,SAYI2); CASE '*': SONUC=EDUTESTCLASREC.CARP(SAYI1,SAYI2); CASE '/': SONUC=EDUTESTCLASREC.BOL(SAYI1,SAYI2); DEFAULT : MSSG='Geçersiz İşlem'; SONUC=MSSG; ENDSWITCH;
Diğer metotların kodlarına bir önceki yazımızdan kolayca göz atabilirsiniz.
Böylelikle Troia’da SWITCH CASE yapısını da öğrenmiş olduk.
Bir sonraki eğitim yazımda görüşmek üzere.