Обработка событий клавиатуры в меню:
Код
case evUp:
if (rtc_adjustment)
{ if (!(rtc_adjustment&1))
Change( 1);
else
Change( 10);
}
break;
case evDn:
if (rtc_adjustment)
{ if (!(rtc_adjustment&1))
Change(-1);
else
Change(-10);
}
break;
Собственно изменение:
Код
const char max[13] = {0,31,31,11,11,134,134,23,23,59,59,59,59};
const char min[13] = {0,1 , 1, 0, 0, 109,109, 0, 0, 0, 0, 0, 0};
void Change(sint dif )
{ int my_max=max[rtc_adjustment];
int my_min=min[rtc_adjustment];
*rtc_ptr+=dif;
if (dif>0)
{ if (*rtc_ptr>my_max) *rtc_ptr=my_max;}
else
{ if (*rtc_ptr<my_min) *rtc_ptr=my_min; }
}
Уходя, оставьте свет...