Здравствуйте, Niemand, Вы писали:
N>Один раз у меня был цикл
N>N>for i:=0 to 8 do
N>...
N>
N>каково было мое удивление когда он после 8 шел в 9, 10 и так до 12, где вылезала ошибка доступа. Тогда я отнес код преподу, который слегка о*[удивился]*л с таких дел.
Скорее всего хреновый был препод. Тема с оператором for постоянно всплывает в разных форумах по Delphi, проблема в том что отладчик неправильно показывает значение счётчика цикла for (если бы он его вообще не показывал, было бы меньше вопросов). На практике это часто выглядит так: пишется for-цикл с неочевидной ошибкой, начинают его отлаживать и обнаруживают, что ошибка проявляется когда счётчик цикла находится вне допустимого диапазона. Самое интересное начинается, если эта ошибка исчезает при отключении оптимизации или при замене for на while (и такое бывает

). У меня самого однажды было такое, для поиска ошибки пришлось неспешно изучать ассемблерный код в отладчике, и в результате for был оправдан.