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.


Murat Bilginer
21 Şubat 1992'de doğdum. Endüstri Mühendisi olarak lisansımı 2016 yılında tamamladım. Industryolog Akademi - NGenius oluşumlarının kurucusuyum. Şu anda kendi şirketim Brainy Tech ile Web ve Mobil Geliştirme, AWS, Google Cloud Platform Sistemleri için DevOps, Big Data Analiz ve Görselleştirme hizmetleri sunmakta ve Online Eğitimler vermekteyiz.