Помощь с формулой If Else - PullRequest
       4

Помощь с формулой If Else

0 голосов
/ 23 декабря 2010

Я хочу запустить if else на основе поля команды в каждой строке,

Например

 If {CommandField=0} Update counter by 1 return counter

 else if {CommandField=1} return 'Reporting'

Я пробовал, но с ошибкой

     stringVar layerType; 
shared numberVar layNo;

     if({Command.ISREPORT}=0) then
           layNo:=layNo+1;layerType:=layNo;layerType

     else if ({Command.ISREPORT}=1) then
      layerType:='Reporting'; layerType

результаты должны быть как

ISREPORT   LayerNo
   0         1
   0         2 
   0         3
   0         4
   1       'Reporter' 

1 Ответ

1 голос
/ 23 декабря 2010

Не уверен, что понимаю, но верно ли это:

stringVar layerType; 
shared numberVar layNo;

     if({Command.ISREPORT}=0) then
     (     layNo:=layNo+1;
           layerType:=ToText(layNo);
           layerType;
     )
     else 
     (  if ({Command.ISREPORT}=1) then
           layerType:='Reporting'; 
           layerType
     )

... что можно упростить до этого:

shared numberVar layNo;

     if({Command.ISREPORT}=0) then
     (     
           layNo:=layNo+1;
           ToText(layNo);
     )
     else 
     (if ({Command.ISREPORT}=1) then
           'Reporting';)

.. при условии, что значение ISREPORT может быть только0 или 1, тогда мы можем еще больше упростить до этого:

shared numberVar layNo;

     if({Command.ISREPORT}=0) then
     (     
           layNo:=layNo+1;
           ToText(layNo);
     )
     else
     (
       layNo:=0;
       'Reporting';
     )

Обновление - я изменил последний пример, чтобы сбросить счетчик на «отчетность».Редактировать: изменить текст (.. на этот ToText(layNo,0); (устанавливает десятичные разряды на ноль)

...