Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мет_Паскаль_7.doc
Скачиваний:
2
Добавлен:
09.11.2019
Размер:
166.4 Кб
Скачать

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

В библиотеке Turbo Pascal 7.0 имеется несколько стандартных модулей. Ниже приведены некоторые из них:

System – основная библиотека (как бы автоматически прописывается в uses программы);

Crt – работа с консолью;

Graph – графическая библиотека;

Printer – работа с принтером.

Модуль Crt

Данный модуль содержит константы, переменные и подпрограммы, предназначенные для работы с консолью. В отличие от стандартного ввода-вывода, осуществляемого через ОС, подпрограммы модуля Crt работают с BIOS и даже непосредственно с видеопамятью.

При работе с экраном через модуль Crt весь экран разбивается на отдельные строки, а каждая строка – на отдельные позиции, в каждую из которых можно поместить 1 символ. Стандартный режим работы адаптера - 25 строк, в каждой по 80 позиций.

Для каждого символа можно задать цвет фона, цвет самого символа, а также мерцание.

Константы модуля Crt – коды цвета

Black = 0

черный

Blue = 1

темно-синий

Green = 2

темно-зеленый

Cyan = 3

бирюзовый

Red = 4

красный

Magenta = 5

фиолетовый

Brown = 6

коричневый

LightGray= 7

светло-серый

DarkGray = 8

темно-серый

LightBlue = 9

голубой

LightGreen = 10

салатовый

LightCyan = 11

светло-бирюзовый

LightRed = 12

розовый

LightMagenta = 13

малиновый

Yellow = 14

желтый

White = 15

белый

Blink =128

мерцание символа

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

TextBackGround(Color : Byte); - задает цвет фона

TextColor(Color : Byte); - задает цвет символов

LowVideo; - устанавливает малую яркость символов (заменяет цвета 8-15 на 0-7), выводимых далее на экран

NormVideo; - устанавливает первоначальную яркость символов, выводимых далее на экран

HighVideo; - устанавливает высокую яркость символов (заменяет цвета 0-7 на 8-15), выводимых далее на экран

Процедуры работы с экраном

TextMode(Mode : Word); - устанавливает текстовый режим, увеличивает окно до целого экрана, запускает NormVideo. Параметр Mode может быть одной из нижеприведенных констант:

Имя константы

Значение

Описание

BW40

0

40x25 черно-белый (ЧБ) для цветного адаптера (ЦА)

BW80

2

80x25 ЧБ для ЦА

CO40

1

40x25 ЦВ для ЦА

CO80

3

80x25 ЦВ для ЦА

ClrScr; - очистка текущего окна с заполнением его цветом фона, помещает курсор в позицию (1,1)

ClrEol; - удаление символов от курсора до конца строки

DelLine; - удаление строки, в которой находится курсор

GotoXY(X, Y : Byte); - перемещение курсора в позицию с координатами X – строки и Y – столбца (отсчитываются от левого верхнего угла текущего окна)

InsLine; – добавление пустой строки на экране

Window(X1, Y1, X2, Y2 : Byte) – задание размеров окна на экране и помещение курсора в левый верхний угол окна с координатами (1,1).

(X1, Y1) – координаты левого верхнего угла окна

(X2, Y2) – координаты правого нижнего угла окна

Функции работы с экраном

WhereX : Byte– текущая координата X курсора

WhereY : Byte – текущая координата Y курсора

Функции работы с клавиатурой

KeyPressed : Boolean – возвращает true, если клавиша нажата (за исключением вспомогательных Shift, Alt)

Процедуры управления звуком

Sound(Hz : Word); - запускает источник звука с частотой Hz герц (не забыть потом выключить с помощью Nosound)

Nosound; выключает источник звука

Прочие процедуры

Delay(Ms : Word); - выполняет задержку выполнения программы в Ms миллисекунд

Пример 3:

uses Crt;

var

X1, X2, Y1, Y2 : Integer;

procedure WriteFrame;

var

i : Integer;

begin

GotoXY(2,2);

write('╔'); {Alt+201}

for i := X1+2 to X2-2 do

write('═'); {205}

write('╗'); {187}

for i := Y1+2 to Y2-2 do begin

GotoXY(2, i-Y1+1);

write('║'); {186}

GotoXY(X2-X1, i-Y1+1);

write('║'); {186}

end;

GotoXY(2,Y2-Y1);

write('╚'); {200}

for i := X1+2 to X2-2 do

write('═'); {205}

write('╝'); {188}

end;

begin

TextBackGround(Black);

clrscr;

Randomize;

repeat

X1 := Random(30);

X2 := 40+Random(30);

Y1 := Random(10);

Y2 := 15+Random(10);

Window(X1, Y1, X2, Y2);

TextBackGround(Random(16));

clrscr;

TextColor(Random(16));

WriteFrame;

GotoXY(3, (Y2-Y1) div 2);

writeln('Hello');

Sound(200+Random(100));

Delay(1000);

Nosound;

until Keypressed;

end.

В примере 3 на экране в цикле случайным образом формируются экраны, закрашиваются случайным цветом, внутри каждого окна рисуется рамка, отстоящая от границ окна на 1 позицию и в середине (по высоте) у левой границы выводится надпись Hello. Для каждого нового окна случайным образом формируется звуковое сопровождение. Процедура Randomize используется для инициализации датчика случайных чисел. Процедура Random(N) выдает случайное целое число не большее N.

Для вставки символов псевдографики в редакторе Turbo Pascal используется комбинация клавиш Alt+Число, например, для ввода символа ╔ нужно набрать Alt+201.