Вверх ↑
Разработчик
Ответов: 26224
Рейтинг: 2139
#1: 2012-03-23 14:37:15 ЛС | профиль | цитата
nesco писал(а):
что FTCG делает самый оптимальный код

А кто сказал, что он самый оптимальный

Вот такая схема



Add(FTCG_Tools,1744119,686,476)
{
}
BEGIN_SDK
  Add(EditMultiEx,1754439,21,21)
  {
   WorkCount=#9:doCompare|
   EventCount=#11:onEventData|
   VarCount=#5:Value|
   Width=475
   Height=347
   link(doCompare,10995659:doCompare,[(67,27)(67,132)])
   link(Value,6936366:Value,[(27,263)(391,263)])
  }
  Add(FT_If_else,7947835,182,133)
  {
   Type=4
   Op2=Integer(11)
   link(onTrue,336565:doCompare,[])
  }
  Add(FT_If_else,336565,238,133)
  {
   Type=3
   Op2=Integer(16)
   link(onTrue,16236819:doData,[])
  }
  Add(FT_If_else,10995659,112,126)
  {
   Op2=Integer(17)
   link(onTrue,16006813:doData,[(170,132)(170,90)])
   link(onFalse,7947835:doCompare,[])
  }
  Add(FT_DoData,16236819,301,133)
  {
   Data=Integer(0)
   link(onEventData,13868993:doWork2,[])
  }
  Add(FT_DoData,16006813,301,84)
  {
   Data=Integer(1)
   link(onEventData,13868993:doWork1,[(355,90)])
  }
  Add(HubEx,13868993,351,133)
  {
   link(onEvent,6936366:doValue,[])
  }
  Add(FT_Memory,6936366,385,133)
  {
  }
END_SDK


Дает вот такой код



procedure TClassFTCG_Tools_1A893F0.event_doCompare(var Data:TData; index:word);
begin
  
  if ToInteger(Data) = 17 then
  begin
    val3 := int2str(1);
  end
  else if((ToInteger(Data) >= 11) and (ToInteger(Data) <= 16) )then
  begin
    val3 := int2str(0);
  end;
end;

Интерфейс накладыват свое торможение, хотя код построен правильно
карма: 22

0