Энциклопедия Turbo Pascal. Главы 9-11 - Зависимость от операционной системы

ОГЛАВЛЕНИЕ

Зависимость от операционной системы

Практически все коммерческие программы имеют коды, которые являются специфическими по отношению к операционной системе. Например, программа может использовать экранную память персонального компьютера  IBM PC для быстрого переключения экрана или специальные графические команды, применимые в данной операционной системе. Некоторые особенности, связанные с операционной системой, необходимы для быстрых коммерческих программ. Однако, нет причин делать код более зависимым, чем это необходимо.

Когда вы должны использовать системные вызовы для доступа к операционной системе, лучше сделать это в одной главной процедуре так, чтобы только ее надо было изменять при переводе в  другую операционную систему, оставив все остальные без изменения. Например, если системный вывод необходим для очистки экрана и помещения курсора в точку с координатами X,Y, то вы могли бы создать главную процедуру, аналогичную OpSysCall, показанной далее:

    {интерфейс с операционной системой}

    procedure OpSysCall(op, x, y: integer);
    begin
      case op if
      1: ClearScreen;
      2: ClearEOL;
      3: CotoXY(x,y);
    end;

Хотя эти вызовы стандартны для всех версий Турбо Паскаля, если вы будете переносить программу на другой компилятор Паскаля, то вы поймете ценность такого метода взаимодействия. Должен быть изменен только код, который формирует действительные функции, зависимые от операционной системы, оставляя нетронутым общий интерфейс.