Merhaba Troia yazılarıma Switch Case yapısı ile devam ediyorum.
Switch Case pek çok yazılım dilinde If Else yapısına alternatif olarak geliştirilmiş bir karar yapısıdır.
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 metodu 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.