Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Использование модулей
Модуль компилируется так же, как и обычные программы, но так как модуль сам по себе не выполняем, то в результате получается специальный файл с расширением TPU (Turbo Pascal Unit). Для того чтобы получить доступ к интерфейсным объектам модуля, необходимо указать в программе имя нужного TPU-файла в разделе спецификаций используемых модулей, идущего сразу за заголовком: USES <список модулей>; При ее наличии в программе считаются известными все описания из интерфейсной части подключенного модуля, и к ним можно обращаться так же, как если бы они были описаны в самой этой программе: Program Prim; Uses Complex; Var R,X,Y,Z: Complex; Begin Read (X.RE,X.IM,Y.RE,Y.IM,Z.RE,Z.IM); R:= CADD(CMUL(X,Y),CADD(CMUL(X,Z),CMUL(Y,Z))); Writeln(R.RE,'+',R.IM,'i') end. Правила использования. 1. Иногда некоторые имена используемого модуля могут совпадать с именами использующей его программы. Тогда интерфейсные имена модуля, указанного в списке первым, образуют самый внешний блок программы, имена второго модуля образуют блок, вложенный в первый и т.д. Например, в программе есть спецификация: Uses A,B; то вложенность блоков будет следующей: То есть имена выполняемой программы «экранируют» одинаковые имена модулей А и В. Получить доступ к одноименным переменным модуля можно, используя составное имя. Пусть есть модуль: Unit A; Interface Var X:Real; Procedure Pr(Y:integer); implementation ...... end. Пусть программа, использующая этот модуль, так же содержит переменную Х: Program P; Uses A; Var X:Integer; Begin ...... X:=8; { определение внутренней целой переменной } A.X:=2.5; { переменная модуля (составное имя) } Pr(X); { X - фактический целый параметр-значение } ...... end. 2. Разрешены косвенные использования модулей. Причем в спецификации использования указываются только модули, непосредственно используемые в программе. Пример косвенного использования модуля А в программе Р: Unit A; Unit B; Program P; Interfase Interfase Uses B; ...... Uses A;..... end....... end. end. 3. Схема взаимного использования модулей может иметь структуру любой сложности, но недопустимо явное или косвенное обращение модуля к самому себе. Unit A; Unit B; Interfase Interfase Uses B; Uses A; <- недопустимо ............ 4. При наличии раздела инициализации операторы модуля выполняются первыми в порядке описания: Program P; Uses A,B; ...... Выполняются: 1. операторы модуля А; 2. операторы модуля В; 3. операторы программы Р. 5. Рекомендуется, чтобы имя модуля совпадало с именем файла на внешнем носителе информации, например: Unit Module1; ...... Текст программы необходимо поместить в файл Module1.pas, а оттранслированный модуль будет находиться в файле Module1.tpu. При необходимости хранить код модуля в файле с другим именем используют директиву компилятора $U. Она имеет параметр дискового имени файла с данным модулем и должна находится непосредственно перед именем модуля в спецификации пользователя. Например, запись Uses {$U MY} MyUnit; приведет к тому, что компилятор будет искать код модуля MyUnit в файле MY.TPU. Стандартные модули Обычно все используемые модули находятся в текущем каталоге или в системном библиотечном файле TURBO.TPL (Turbo Pascal Library). В этот файл можно добавлять и свои модули, но в стандартном варианте там находятся 5 модулей, содержащих все системные константы, типы, процедуры и функции: SYSTEM, DOS, CRT, PRINTER, OVERLAY. Остальные модули GRAPH, STRINGS, WINDOS, TURBO3 и GRAPH3 размещаются в отдельных файлах TPU.
В модуле System находятся все процедуры и функции стандартного языка Паскаль и расширения для Турбо Паскаля, относящиеся к типам и операторам. Этот модуль подключается к любой программе автоматически, то есть считается, что в каждой программе есть строка Uses SYSTEM; Модули Dos и WinDos содержат средства доступа к основным функциям операционной системы и обработки файлов. Модуль Crt обеспечивает работу с экраном дисплея в текстовом режиме, работу с клавиатурой и простейшее управление звуком. Модуль Printer содержит единственный интерфейсный элемент – файловую переменную Lst стандартного типа Text, системно связанную с печатающим устройством. Ее использование в стандартных процедурах приводит к выводу информации не на экран, а на печать. Модуль Overlay предоставляет средства для организации программ, размер которых превышает объем доступной оперативной памяти. Модуль Graph объединяет многочисленные программные средства управления графическим режимом работы дисплея. Модуль Strings позволяет использовать строки с завершающим нулем, что вместе с расширенным синтаксисом позволяет создавать Windows-приложения. Модули Turbo3 и Graph3 предназначены для обеспечения совместимости программ, созданных на ранних версиях Турбо Паскаля и сейчас не используются. Модуль Crt Формирование изображения на экране монитора происходит с помощью дисплейного адаптера (видеокарты). В зависимости от него дисплей может работать в разных текстовых и графических режимах. Текстовый режим поддерживают все типы адаптеров. В этом режиме каждый символ кодируется одним байтом и занимает от 16х16 до 8х8 точек или пикселов, чем существенно экономится память. В зависимости от типа адаптера и включенного режима количество строк на экране и символов в строке может быть разным: от 40х25 до 120х50, но стандартным является размер экрана в 25 строк по 80 символов. Черно-белый текстовый режим является частным случаем цветного. Для последнего совместно с кодом самого символа задается байт атрибута цвета. Каждый символ имеет цвет начертания, или цвет переднего плана и цвет фона. Кроме этого символ может мерцать. Эта информация кодируется в байте атрибута символа:
Таким образом, цвет фона может задаваться восьмью темными тонами, а цвет символа 16-ю, и каждому из них соответствует константа со стандартным именем.
Темные цвета: 0 (Black) – черный; 1 (Blue) – синий; 2 (Green) – зеленый; 3 (Cyan) – голубой; 4 (Red) – красный; 5 (Magenta) – фиолетовый; 6 (Brown) – коричневый; 7 (LightGrau) – светло-серый. Светлые цвета: 8 (DarkGray) – темно-серый; 9 (LightBlue) – светло-синий; 10 (LightGreen) – светло-зеленый; 11 (LightCyan) – светло-голубой; 12 (LightRed) – светло-красный; 13 (LightMagenta) – светло-фиолетовый; 14 (Yellow) – желтый; 15 (White) – белый. Начальная координата экрана находится в левом верхнем углу, а увеличение идет по осям Х и Y аналогично записи на бумаге по позициям и строкам. То есть экран в стандартном текстовом режиме выглядит в соответствии с рис. 9.1. Рис. 9.1. Координаты знакомест в стандартном текстовом режиме монитора То есть увеличение Х соответствует перебору символов в одной строке слева направо, а увеличение Y – перебору строк сверху вниз. Date: 2016-07-22; view: 359; Нарушение авторских прав |