Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
21
Добавлен:
30.04.2013
Размер:
101.89 Кб
Скачать

14.5. Использование модулей

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

Оператор Uses может быть помещен:

  • в тексте программы непосредственно после заголовка

  • в разделе Interface модуля Unit

  • в разделе Implementation модуля Unit.

Пример: Uses CRT, Graph;

14.6. Стандартные модули турбо-паскаля

В Турбо-Паскале имеется некоторый набор модулей, устанавливаемых в процессе инсталяции по умолчанию. Наиболее часто используемые из них: DOS, CRT, GRAPH. Приведем краткие сведения о них.

Модуль DOS содержит информацию, обеспечивающую возможность:

  • работать с файлами (чтение, поиск и т.д.);

  • запрашивать из программы текущие время и дату;

  • узнавать размер свободной памяти на диске.

Модуль CRT обеспечивает управление персональным компьютером при работе:

  • с экраном монитора,

  • со звуком,

  • с клавиатурой и др.

Модуль GRAPH – содержит широкий набор процедур и функций, обеспечивающих вывод информации на экран в графическом режиме.

Во встроенном справочнике системы Турбо Паскаль и в любой книге по Турбо Паскалю приводятся полный перечень «стандартных» модулей и полные сведения о функциях каждого модуля.

Здесь мы рассмотрим несколько более подробно только функции модуля CRT, обеспечивающие вывод на экран информации в текстовом режиме.

Прежде всего, учтем, что с точки зрения стандартного Турбо Паскаля экран монитора при работе в текстовом режиме представляется матрицей знакомест:

В одном знакоместе может быть размещен только один символ (в том числе и символ пробела). Каждое знакоместо характеризуется, кроме символа, еще цветом символа и цветом фона, на котором он выделяется.

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

В модуле CRT объявлен ряд констант, определяющих режимы монитора:

  • константы, определяющие число знакомест (наиболее распространенный режим 25 х 80 – 25 строк по 80 знакомест в строке);

  • константы, определяющие цветовую палитру: монохромный (черно-белый) режим или цветной (16 цветов – от черного до белого)

  • и ряд других.

Цвета. В текстовом режиме (для цветного монитора) предусмотрено 16 цветов. Каждому цвету сопоставлена константа, а объявление цветов размещается в интерфейсной части модуля:

const

Black=0;

Blue=1;

. . . .

White=15;

Цвет фона может принимать значения воссьми первых (от 0 до 7) цветов, а цвет символа – всех шестнадцати.

Процедуры определения цвета:

  • цвета символа:

procedure TextColor(Color:Byte);

  • цвета фона:

procedure TextBackGround(Color:Byte);

Процедуры яркости вывода символов:

Procedure HighVideo;

Procedure LowVideo;

Procedure NormVideo;

Очистка экрана:

Procedure ClrScr - полностью;

Procedure ClrEol - до конца текущей строки от позиции курсора.

Управление курсором:

Function WhereX:Byte; - вернуть значение Х-координаты курсора

Function WhereY:Byte; - вернуть значение Y-координаты курсора

Procedure GoToXY(X:Byte;Y:Byte); - переместить кусор в (X,Y)

Procedure Window(X1,Y1,X2,Y2:Byte); - объявить окно в виде прямоугольника с координатами (X1,Y1) для верхнего левого знакоместа и (X2,Y2) для правого нижнего знакоместа. После выполнения данной процедуры вывод на экран будет проводиться только внутри данного окна. При этом левое верхнее знакоместо будет иметь координаты (1,1) , а нижнее правое – координат (X2-X1+1, Y2-Y1+1). При этом все знакоместа вне пределов данного окна будут оставаться неизменными.

Клавиатура:

Для обработки нажатой клавиши:

Function ReadKey:Char - если нажата ASCII- клавиша, то функция возвращает символ, а если нажата функциональная клавиша, то функция возвратит значение 0.

Чтобы считать клавишу при повторном вызове существует

Function KeyPressed:Boolean - значение истинно, если нажата какая-либо клавиша.

Звук:

Procedure Sound(Hz:Word); - вывести на встроенный динамик синусоидальный сигнал с частотой Hz (Гц).

Procedure NoSound; – выключить динамик.

Procedure Delay(Ms:Word) - задержка на определенный интервал времени.

Соседние файлы в папке лекции