Пример вычисления условия if Назад В начало Вперед

В приведенном примере оба Message выдадут сообщение "s=<function tif>. i=TRUE".

//******************************************************************************
interface TestIf 'Тест оператора if';
  show at (,,,30);

create view

var
  i : boolean;
  s : string;

as select
  *

from
  x$Files
;

//-----------------------------------------------------------------------------
function tif : boolean;
{
  s := 'function tif';
  tif := true;
}

//-----------------------------------------------------------------------------
screen scrScr1;
  table x$files;

fields
  x$files.xf$name : protect;

<<
  Тест времен!!!
  .@@@@@@@@@@@@@@@@@@@@@@@@@@@
>>
end;

//-----------------------------------------------------------------------------
handleEvent

cmInit:
{
  i := false;
  s := 'cmInit';
  if (false and (i:=tif))
  {
  }

  Message('1. s=<' + s + '>. i=' + i);

  i := false;
  s := 'cmInit';
  if (true or (i:=tif))
  {
  }

  Message('2. s=<' + s + '>. i=' + i);
}

end;

end.