Показать сообщение отдельно
Старый 31.10.2007, 08:55   #9
odd
Мастер
 
Аватар для odd
 
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений
(для 713 пользователей)
Re: Tips & tricks (Трюки кодинга)

Ещё один пример использования оператора mod

Допустим, у вас в программе есть меню из 5 пунктов. В переменной cursor хранится текущее положение курсора.
Тогда вы пишите:

key:=GetKeyClicked;
if (key=-60) or (key=-2) then cursor:=cursor+1; // Вниз
if (key=-59) or (key=-1) then cursor:=cursor-1; // Вверх
if cursor<0 then cursor:=5+cursor;
if cursor>4 then cursor:=cursor-5;

можно проще:

key:=GetKeyClicked;
if (key=-60) or (key=-2) then cursor:=(cursor+1) mod 5; // Вниз
if (key=-59) or (key=-1) then cursor:=(cursor+4) mod 5; // Вверх

и всё.
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо odd за это полезное сообщение:
Cliffe Snake (22.11.2008), scimitar (09.09.2008)