Canias ERP Eğitimleri

Canias ERP Troia 13 If Else Yapısı

Merhaba, bu yazımda karar verme süreçlerinde kullandığımız If Else kavramlarını ele alacağız.

Bir önceki dersimizde bir hesap makinesi yapmıştık. aşağıdan göz atabilirsiniz. Şimdi biraz daha sistemi ileri taşıyıp bir IF ELSE Blogu ile daha düzenli hale getireceğiz.

Bir önceki yazıya aşağıdan erişebilirsiniz.

IF Sorgulama İfadesi THEN

     KODLAR 

ELSE

     KODLAR

ENDIF;

Transaction İsmi : EDUTEST

Başlangıç Diyalogu : EDUD01D000

Oluşturacağımız Diyalog :  EDUD01D002

Proje Tasarımı

Case: Sayı1 ve Sayı2 değerleri alınıp ISLEM kısmında girilen (+ – * /) değerlerine göre işleme tabi tutulacak. Doğru işlem girilmişse sonuç sonuc EditBox’ına yazdırılacak. Eğer işlem kısmına doğru işlem girilmediyse geçersiz işlem uyarısı verilecek.

Daha önceden bahsettiğim gibi Troia da özelleşmiş butonlarımız vardı. Butonumuzun boyutunu 28*28 durumuna getirip OK yazarsak aşağıdaki özelleşmiş buton kendisi oluşacaktır.

OBJECT:
INTEGER S1,
INTEGER S2,
STRING ISLEM1,
STRING MSSG,
INTEGER S3;
S1=SAYI1;
S2=SAYI2;
ISLEM1=ISLEM;

IF ISLEM1 == '+' THEN
 S3=S1+S2;
 SONUC=S3;
ELSE

 IF ISLEM1 == '-' THEN
  S3=S1-S2;
  SONUC=S3;
 ELSE

  IF ISLEM1 == '*' THEN
   S3=S1*S2;
   SONUC=S3;
  ELSE

   IF ISLEM1 == '/' THEN
    S3=S1/S2;
    SONUC=S3;
   ELSE
    MSSG='Geçersiz İşlem';
    SONUC=MSSG;
   ENDIF;

  ENDIF;

 ENDIF;

ENDIF;

SHUTDOWN;

OK Click üzerinde durmamız gerekiyor.

Bir olayın 2’den fazla oluşabilecek durumu varsa İç içe if kullanmak gerekir. Çünkü farklı dillerde gördüğümüz elseif, ifelse gibi 2’den fazla durumu karşılaştırabilecek bir yapı Troia’da yoktur.

İç içe if kullanmanın yöntemi şudur.

IF DEĞER THEN

   KODLAR

Else

    IF DEĞER THEN

       KODLAR

    ELSE

      IF DEĞER THEN

        KODLAR

      ELSE

        KODLAR;

      ENDIF;

   ENDIF;

ENDIF;

Her IF bir ENDIF  komutuyla bitmek zorundadır.

Kısaca birde kodları açıklayalım.

ISLEM2 den değer + gelirse yapacağı işlem belli. Eğer farklı gelirse bunu ELSE komutuyla yakalıyoruz o ELSE içinde yeni bir IF komutu ile gelen değer – mi sorusunu soruyoruz eğer böyle ise kendi ENDIF komutunu bulup çalışmayı durduracaktır. Bu şekilde değilse Çarpma, o da değilse Bölme işlemi yapılacaktır. Eğer tüm aramalar sonucunda istediğimiz değeri bulamadıysak en sondaki ELSE komutu gerçekleşecektir.

Bu kodlamamızda yoktu ama değinmemiz gereken bir kaç durum daha var bu yapıyla alakalı.

Eğer bir IF yapısı içinde birden fazla durumun kontrolü sağlanıp bunun sonucuna göre işlem yapılması gerekiyorsa şu şekilde yapılabilir.,

1. Eğer şartlar VE bağlacı ile bağlanmışsa

IF SORGU IFADESİ1 && SORGU İFADESİ2 && SORGU İFADESİ3 THEN

    KODLAR;

ENDIF;

2. Eğer şartlar VEYA bağlacı ile bağlanması gerekiyorsa

IF SORGU IFADESİ1 || SORGU İFADESİ2 || SORGU İFADESİ3 THEN

    KODLAR;

ENDIF;

3. Değerlerin eşit olmaması gibi bir durum aranıyorsa

IF Değer1 != Değer2 THEN

    KODLAR;

ENDIF;

!= ifadesi eşit değil anlamını taşır.

4. İki değerin bir birinden büyüklüğü ya da eşitliği kontrol ediliyorsa

IF Değer1 >= Değer2 THEN

    KODLAR;

ENDIF;

5. Küçüklüğü yada eşitliği kontrol ediliyorsa

IF Değer1 <= Değer2 THEN

    KODLAR;

ENDIF;

Proje Ekranları

IF ELSE karar yapısı Troia’da bu şekildeydi.

Bir sonraki 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.

View Comments

Share
Published by
Murat Bilginer

Recent Posts

Kedimiz Oly & FIP Süreci 10 – Oly’nin PCR Sonucu Çıktı FCov Pozitif…

Selamlar, bu yazımda sizlere Oly’nin çıkan PCR sonucu ve geçtiğimiz bir haftada hastalığın genel seyrinden…

38 dakika ago

Kedimiz Oly & FIP Süreci 9 – 1 Haftalık GS İğnesi Serüveni – Oly İyileşiyor mu?

Selamlar, bu yazımda Oly'nin 1 hafta boyunca olduğu GS iğnesi, yaşanan değişimleri anlatmaya çalışacağım. PCR…

5 gün ago

Kedimiz Oly & FIP Süreci 8 – Yeniden Hayvan Hastanesi – Sonuç Kontrolü ve Sonrası…

Selamlar, bu yazımda Hemogram ve Biyokimya sonuçlarımızı göstermek için İÜCHH'ne tekrar gidişimizi ve sonrasını anlatacağım.…

5 gün ago

Kedimiz Oly & FIP Süreci 7 – GS İğnesine Başlama Kararımız ve Oly’de Dikkat Ettiklerimiz

Selamlar, bu yazımda GS iğnesine başlama kararımızı ve Oly’de bu süreçte nelere dikkat ediyor, neler…

5 gün ago

Kedimiz Oly & FIP Süreci 6 – İstanbul Üniversitesi Cerrahpaşa Hayvan Hastanesi Serüveni ve Sonrası

Selamlar, bu yazımda İÜCHH'deki tedavi sürecimiz ve sonrasında yaşananlardan bahsetmeye çalışacağım. 20.06.2025 Cuma günü saat…

6 gün ago

Kedimiz Oly & FIP Süreci 5 – Teşhisten Önce Biz… Veterinerimize Güvenebilir Miydik?

Eve Dönüş ve İlk Şüpheler 18 Haziran Perşembe saat 23 sularında İstanbul’daki evimize giriş yaptık.…

6 gün ago