Mantıksal Sınama Operatorleri


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:

Aşağıdaki örnekte sınama1 için a , b'den büyükse sonuç c'dir. Değilse sonuç d'dir.

Sınama2 için a 1'e eşitse sonuç b  ,  a 2'ye eşitse sonuç c  , a 3'e eşitse sonuç d  ,  a 4'e eşitse sonuç e'dir.                       

Sınama2 örneği, daha karmaşık sınamalar için iç içe iif fonksiyonu .gerektiğinde bunun nasıl yapılacağına dair bir örnektir.

Dizayn kodda nasıl göründüğü Şekil-1'de gösterilmiştir.

Iff Gosterimi
 		<P N="a" V="3" />
        <P N="b" V="-40" />
        <P N="c" V="-25" />
        <P N="d" V="-30" />
        <P N="e" V="80" />
    <O N="iff_gosterimi" T="DesignCode">
        <P N="Sınama1" V="iif(a .GE. b,c,d)" />
        <P N="Sınama2" V="iif(a .EQ. 1,b, a .EQ. 2,c,a .EQ. 3,d,a .EQ. 4,e)" />
    </O>


                                    Şekil-1


Guard parametresi başka objelerin aktif veya inaktif hale gelmesini sağlayan özel bir parametredir. iif fonksiyonunda olduğu gibi mantıksal sınama operatörleri ile kullanılır. "Guard" Objesi "Group" Objesinin altında kullanılır. Aynı parametreye bağlı her bir "Guard" Objesi ayrı "Group" objeleri içerisinde olmalıdır.


Örnek:

Aşağıdaki örnekte "KirisKesit" parametresinin değeri 1 olduğu için  "T_Kesit" adındaki objenin içindeki kodları çalıştırır. 

Guard Gosterimi
<P N="KirisKesit" V="1" D="Başlık Kirişi Tipi[T Kesit=1/Kutu Kesit=2]" Role="Input" />
<O N="T_Kesit" T="Group" Guard="KirisKesit .EQ. 1" >
    <O N="Kiris" T="Volume" Y="0" X="35000" Z="0">
        <O N="C-C_diskenar_" T="Surface" Y="-10000">
            <O T="Point" Y="0" X="475" Z="0" />
            <O T="Point" Y="0" X="475" Z="-898.62" /> 
            <O T="Point" Y="0" X="1250" Z="-898.62" />
            <O T="Point" Y="0" X="1250" Z="-2000" />
            <O T="Point" Y="0" X="-1250" Z="-2000" />
            <O T="Point" Y="0" X="-1250" Z="-900" />
            <O T="Point" Y="0" X="-475" Z="-900" />
            <O T="Point" Y="0" X="-475" Z="0" />
       </O>
       <O N="C-C_ickenar_" T="Surface" Y="10000">
           <O T="Point" Y="0" X="475" Z="0" />
           <O T="Point" Y="0" X="475" Z="-898.62" />
           <O T="Point" Y="0" X="1250" Z="-898.62" />
           <O T="Point" Y="0" X="1250" Z="-2000" />
           <O T="Point" Y="0" X="-1250" Z="-2000" />
           <O T="Point" Y="0" X="-1250" Z="-900" />
           <O T="Point" Y="0" X="-475" Z="-900" />
           <O T="Point" Y="0" X="-475" Z="0" />
       </O>
       </O>
   </O>
   <O N="Kutu_Kesit" T="Group" Guard="KirisKesit .EQ. 2">
       <O N="Kiris" T="Volume" Y="0" X="3500" Z="-900">
           <O N="C-C_diskenar_" T="Surface" Y="-10000">
               <O T="Point" Y="0" X="1250" Z="-1100" />
               <O T="Point" Y="0" X="-1250" Z="-1100" />
               <O T="Point" Y="0" X="-1250" Z="0" />
               <O T="Point" Y="0" X="1250" Z="0" />
           </O>
           <O N="C-C_ickenar_" T="Surface" Y="10000">
               <O T="Point" Y="0" X="1250" Z="-1100" />
               <O T="Point" Y="0" X="-1250" Z="-1100" />
               <O T="Point" Y="0" X="-1250" Z="0" />
               <O T="Point" Y="0" X="1250" Z="0" />
           </O>
       </O>
   </O>