Страница 31 из 39
Зависимость от операционной системы Практически все коммерческие программы имеют коды, которые являются специфическими по отношению к операционной системе. Нап- ример, программа может использовать экранную память персонального компьютера IBM PC для быстрого переключения экрана или специаль- ные графические команды, применимые в данной операционной систе- ме. Некоторые особенности, связанные с операционной системой, не- обходимы для быстрых коммерческих программ. Однако, нет причин делать код более зависимым, чем это необходимо. Когда вы должны использовать системные вызовы для доступа к операционной системе, лучше сделать это в одной главной процедуре так, чтобы только ее надо было изменять при переводе в другую операционную систему, оставив все остальные без изменения. Напри- мер, если системный вывод необходим для очистки экрана и помеще- ния курсора в точку с координатами X,Y, то вы могли бы создать главную процедуру, аналогичную OpSysCall, показанной далее:
{интерфейс с операционной системой}
procedure OpSysCall(op, x, y: integer); begin case op if 1: ClearScreen; 2: ClearEOL; 3: CotoXY(x,y); end;
Хотя эти вызовы стандартны для всех версий Турбо Паскаля, если вы будете переносить программу на другой компилятор Паскаля, то вы поймете ценность такого метода взаимодействия. Должен быть изменен только код, который формирует действительные функции, за- висимые от операционной системы, оставляя нетронутым общий интер- фейс. |