Показать сообщение отдельно
Старый 09.11.2011, 23:49   #48
barsunduk
ПроЭктировщик
 
Аватар для barsunduk
 
Регистрация: 09.05.2010
Адрес: рф ро шахты
Сообщений: 177
Написано 66 полезных сообщений
(для 271 пользователей)
Ответ: Помогите исправить ошибку

тема превратилась прямо-таки в FAQ для новичков. учит следить за всем, что ты делаешь.

кстати о FAQ, хочу вставить свои пять копеек. чтобы легче было отслеживать все свои циклы и вхождения в них, очень рекомендую использовать предусмотренные для этого инструменты MP. например, в опциях есть чекрыж "Show indentation guidelines" (3-й сверху). если его установить, то между, скажем, begin и end появится вертикальная линия. очень наглядно показывает начало и конец программных скобок.

  while GetKeyClicked <> KE_STAR do
  begin
  | // закрашиваем экран
  | FillRect(0, 0, GetWidth, GetHeight);
  | // рисуем спрайты
  | for iy := 1 to 10 do
  | | for ix := 1 to 10 do
  | | begin
  | | | // sprW, sprH - ширина/высота спрайтов. если захочу поменять,
  | | | // то не надо будет переписывать всю программу
  | | | drawImage(sprites[ix, iy], ix * sprW, iy * sprH);
  | | | // тут что-то еще делаем
  | | | // ...
  | | end;
  | repaint;
  | delay(20);
  end;
в результате мы видим, где начинается и заканчивается цикл while, и где начинаются/заканчиваются прочие циклы. и не воткнем внутрь цикла что-то левое. для этого, конечно, нужно делать отступы. и желательно писать комментарии. а имена переменных хорошо бы выбирать осмысленные. в таком коде легко разберется посторонний человек, у которого вы попросили помощи. да и вам самим легче будет искать ошибки в упорядоченной структуре. и вообще это считается хорошим тоном и отличает код от говнокода.
рекомендую довести это до автоматизма. лично меня соблюдение общепринятых стандартов всегда выручает, когда поднимаю старые проекты с километрами кода.
__________________
to be or not to be - it's not a question!
2b or not 2b = ff
(Offline)
 
Ответить с цитированием