iif Fonksiyonu
iif(Parametre .LE. Değer, olumludeğer, olumsuzdeğer)
Bir koşula göre değer belirtir. Belirtilen koşul doğru değerlendiriliyorsa bir değer, yanlış değerlendiriliyorsa başka bir değer verir.
- .AND.: ve &&
- .OR.: veya ||
- .LT.: küçüktür <
- .LE.: küçüktür veya eşittir <=
- .GT.: büyüktür >
- .GE.: büyüktür veya eşittir >=
- .EQ.: eşittir ==
- .NE.: eşit değildir !=
- .NOT.: değil !
Örnek 1:
Dinamik etki katsayısı bir formül ile hesaplanır, eğer bulunan değer 1.3e eşit veya fazla ise 1.3 alınır, küçük ise bulunan değer alınır. Bunu şöyle gösteririz;
<P N="DinEtki" V="1+15/(L/1000+37)" D="Dinamik Etki Katsayısı" /> <P N="KullanılanDinEtki" V="iif(DinEtki .GE. 1.3, 1.3, DinEtki)" />
Örnek 2:
.AND. ifadesinde sağındaki ve solundaki iki koşulun ikisinin de şartı sağlaması gerekir, sağlarsa olumlu değer kabul edilir.
<P N="A" V="22" /> <P N="B" V="20" /> <P N="C" V="12" /> <P N="C1" V="iif(A .LT. B .AND. B .GT.C,C,9)" />
C1 in oluşacağı değer 9 olacaktır çünkü A<B eşitliği sağlanmaz, B>C sağlanır. Bu iki şartın aynı anda sağlanmaması olumsuz bir değerdir. C1 olumsuz değeri alır ve C1=9’dir.
Örnek 3:
.OR. ifadesinde iki koşuldan birinin sağlanması olumlu değer kabul edilir.
<P N="A" V="22" /> <P N="B" V="20" /> <P N="C" V="12" /> <P N="C1" V="iif(A .LT. B .OR. B .GT.C,C,9)" />
C1 in oluşacağı değer 12 olacaktır çünkü A<B eşitliği sağlanmaz, B>C sağlanır. Bu iki şartın sadece birinin doğru olması sonucu olumlu değere götürür. C1 olumlu değeri alır ve C1=C değeri olur. Yani C=12’dir.
Örnek 4:
.EQ. NULL ifadesinde bir objenin yokluğu aratılır.
<P N="DD" V="refs('Doseme')" T="Doseme" D="Bu objeye referans veren tum mesnetler" /> <P N="Dosemeyuksekligi" V="DD[0]" T="Doseme" /> <P N="Z1" V="iif(Dosemeyuksekligi .EQ. NULL,10,(Dosemeyuksekligi.Yukseklik))" />
Bu örnekte bir objenin varlığına ve yokluğuna bakılır. Öncesinde bir parametre tanımlanır(DD) bu parametreye değer olarak refs fonksiyonu ile bir obje atanır(Doseme). Sonrasında “Dosemeyuksekligi .EQ. NULL” ifadesi ile "Doseme" Objesinin yokluğunda bu boyutu 10, varlığında ise bu boyutu o objenin parametresinin değerini al komutunu verir. Yani "Doseme" Objesi yok ise Z1=10, "Doseme" Objesi var ise "Doseme" Objesinin içindeki yukseklik parametresinin değerini alacaktır.