Согласие на обработку персональных данных.



04.11.2017
Новые видео и статья Функция Odd.

29.10.2017
Новые видео и статья Функция Low.

23.10.2017
Новая задача Даны натуральные числа от 1 до 33.

22.10.2017
Добавлен раздел Статьи по С/С++.

03.10.2017
Новая книга 1001 вопрос начинающего программиста.

Стандартные модули

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

Любой язык программирования предоставляет стандартные модули, которые содержат описания наиболее часто используемых функций, констант, типов данных и т.п.

Free Pascal имеет в своём арсенале несколько десятков стандартных модулей практически на все случаи жизни. Ниже перечислены только основные из этих модулей. Список все модулей и всех подпрограмм, которые объявлены в этих модулях, вы можете найти в документации среды разработки.

Модуль Описание
CRT Подпрограммы для работы с вводом-выводом в текстовом режиме
DateUtils Подпрограммы для работы с датой и временем
Dos Подпрограммы для работы с функциями DOS
Graph Подпрограммы для работы в графическом режиме
KeyBoard Подпрограммы для работы с клавиатурой
Math Математические функции
Mouse Подпрограммы для работы с мышью
Printer Подпрограммы для работы с принтером
Strings Подпрограммы для работы со строками
StrUtils Подпрограммы для работы со строками
System Основные подпрограммы общего назначения. Этот модуль не нужно подключать к вашей программе, так как он подключается автоматически.
SysUtils Дополнительные подпрограммы общего назначения.
Video Подпрограммы для работы с экраном в текстовом режиме
WinCRT Подпрограммы ввода-вывода
x86 Работа с портами ввода-вывода

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

Хочу только обратить ваше внимание на один очень важный момент:

в разных модулях могут быть разные подпрограммы с одинаковыми именами Впрочем, не только подпрограммы, но и другие данные могут иметь одинаковые идентификаторы.

Например, функция ReadKey есть как в модуле CRT, так и в модуле WinCRT.

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

Проблема в том, что функции с именем ReadKey в модулях CRT и WinCRT, хотя и имеют одинаковые имена, но работают по разному. Функция из модуля WinCRT не будет работать в консольном приложении, и наоборот.

Но что же всё-таки произойдёт, если вы подключите оба модуля? Какая из этих функций будет выполняться? Ведь по имени вы их отличить не сможете.

А выполняться будет та функция, чей модуль подключен последним. Например, если вы сделаете так:

program su;

uses
  CRT, WinCrt;

begin
  ReadKey;        //Выполняется функция из модуля WinCRT
end.

то выполнится функция из модуля WinCRT.

А если вы сделаете так:

program su;

uses
  WinCrt, CRT;

begin
  ReadKey;        //Выполняется функция из модуля CRT
end.

то выполняться будет функция из модуля CRT.

Пожалуй, на этой оптимистичной ноте разговор о стандартных модулях мы закончим. А в следующем уроке мы создадим свой собственный модуль и научимся его использовать в своей программе.


Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su

Яндекс.Метрика