コード例 #1
0
ファイル: key_gaps.c プロジェクト: ti-cortex-m4/tm4c1294ncpdt
// добавление нового излома в список и сортировка
bool    AddGap(void)
{
uchar   i,j;
uint    k;

  // проверяем на наличие этого излома в списке
  for (i=0; i<GetGapSize(); i++)
  {
    GetGapDate(i);
    if ((tiGap.bMonth == tiT.bMonth) && (tiGap.bDay == tiT.bDay))
    {
      // заменяем тип излома, не добавляя его в список
      SetGapDate(i);

      SaveCache(&chGaps);
      return(0);
    }
  }


  // записываем излом в конец списка
  tiGap = tiT; SetGapDate(ibX);

  // сортировка
  for(i=0; i<=GetGapSize(); i++)
  {
    for(j=0; j<=GetGapSize(); j++)
    {
      GetGapDate(i);
      k = GetDayIndexMD(tiGap.bMonth, tiGap.bDay);

      GetGapDate(j); 
      if (k < GetDayIndexMD(tiGap.bMonth, tiGap.bDay))
      {
        GetGapDate(i);
        time ti = tiGap;

        GetGapDate(j);
        SetGapDate(i);

        tiGap = ti;
        SetGapDate(j);
      }
    }
  }

  // увеличиваем размер списка
  SetGapSize(GetGapSize() + 1);

  SaveCache(&chGaps);
  return(1);
}
コード例 #2
0
ファイル: gaps.c プロジェクト: feilongfl/tm4c1294ncpdt
void    ResetGaps(void)
{
    boGapsFlag = false;
    SaveCache(&chGapsFlag);


    memset(&gaGaps, 0, sizeof(gaGaps));

    tiGap = tiGap0;
    SetGapDate(0);

    tiGap = tiGap1;
    SetGapDate(1);

    SetGapSize(2);
    SaveCache(&chGaps);
}
コード例 #3
0
ファイル: key_gaps.c プロジェクト: ti-cortex-m4/tm4c1294ncpdt
// удаление излома из списка
void    DelGap(void)
{
uchar  i;

  // если удаляем не последний излом
  if (ibX < GetGapSize() - 1)
  {
    // сдвигаем последующие изломи вверх
    for (i=ibX; i<GetGapSize() - 1; i++)
    {
      GetGapDate(i + 1);
      SetGapDate(i);
    }
  }
  // иначе уменьшаем индекс текущего излома
  else if (ibX != 0) 
    ibX--;        

  // уменьшаем количество изломов
  if (GetGapSize() != 0)
    SetGapSize(GetGapSize() - 1);

  SaveCache(&chGaps);
}