Message ( &Arg,  &pcT, W, A)
//////////////////////////////////////////////////////////////////
// Сообщение(парам1,парам2)
// парам1 - текст сообщения
// парам2 - заголовок окна
//////////////////////////////////////////////////////////////////
{
   var FuncParam =  CreateObject("ParamFuncRW");
   FuncParam.IInitial(static_cast_to_string(Arg),",",10);
   int CountParam=FuncParam.Count();

   if ( CountParam )
   {
      MessageBox(0,FuncParam.Get(0),FuncParam.Get(1),1);
   }
   return pcT;
}

ToLeft( &Arg,  &pcT, W, A)
//////////////////////////////////////////////////////////////////
// Выравнивание числа по левому краю
//////////////////////////////////////////////////////////////////
{
   double Sum = atof(GetVarValue(Arg));
   char StrTmp[W+256];
   sprintf(StrTmp,"%-*.*f",W,A,Sum);
   Text_Text(pcT,StrTmp,W);
   return pcT;
}

PatchSSCHPeriodCalc(omb,ome,tip)
{
  int mb = atoi(omb), me = atoi(ome);
  char func[256];
  char buf[256];
  double ItogSum=0.;
  for ( int m=mb; m<=me; ++m )
  {
      sprintf(func,"СОСТАВ(%d,%d)",tip,m);
      CallFuncReceive(func,buf,250,6);
      ItogSum += atof(buf);
  }
  return ItogSum/(me-mb+1);
}