Изучение языка программирования
Турбо Паскаль (Turbo Pascal)

На этом сайте можно: скачать среду программирвания Турбо Паскаль, изучить язык программирования Турбо Паскаль, а так же скачать программы на языке Турбо Паскаль!
Процедуры и функции модуля CRT.tpu

Процедура AssignCrt

Назначение: Связывает текстовый файл с устройством CRТ (терминалом).
Описание: procedure AssignCrt(var f: Text)
Примечания: Процедура AssignCrt работает точно также, как стандартная процедура Assing, за исключением того, что имя файла не указывается. Вместо этого текстовый файл связывается с устройством CRТ (терминалом).
Это позволяет ускорить вывод (или ввод) по сравнению с той скоростью, которая была бы возможна при использовании стандартного вывода (или ввода).

Пример 28.1

uses crt;
var
i:longint;
f:text;

BEGIN
writeln('Вывод тектста на экран с обычной скоростью. Нажми Enter...');
readln;
for i:=1 to 100000 do writeln(i,' - вывод на экран!');
writeln('Выполнено с обычной скоростью');
readln;

writeln('Вывод тектста на экран с быстрой скоростью. Нажми Enter...');
readln;
AssignCrt(f);
rewrite(f);
for i:=1 to 100000 do writeln(f,i,' - вывод на экран!');
close(f);
writeln('Выполнено с быстрой скростью');
readln;
END.
Процедура ClrEol

Назначение: Стирает все символы, начиная от позиции курсора, до конца строки. Курсор при этом не перемещается.
Описание: procedure ClrEol;
Примечания: Все позиции символов заполняются пробелами. При этом используется текущее определение текстовых атрибутов. Таким образом, если в TextВаckground не задан черный цвет, то в позициях, начиная от курсора и до правой границы, экран приобретает фоновый цвет.

Пример 28.2

uses crt;

BEGIN
write('Следующая строка будет заменена пробелами на зеленом фоне. Нажми Enter...');
readln;
TextBackGround(10);
ClrEol;
readln;
END.
Процедура ClrScr

Назначение: Очищает экран и помещает курсор в верхний левый угол экрана.
Описание: procedure ClrScr;
Примечания: Все позиции символов заполняются пробелами. При этом используется текущее определение текстовых атрибутов. Таким образом, если для TextВасkGround не задан черный цвет, то для всего экрана устанавливается фоновый цвет. Это относится также к позициям символов, очищенных с помощью процедур ClrEоl, InsLine и DelLine, а также к пустым строкам,образующимся при пролистывании экрана.

Пример 28.3

uses crt;

BEGIN
write('Сейчас экран будет очищен, а фоновый цвет будет голубым. Нажми Enter...');
readln;
TextBackGround(9);
ClrScr;
readln;
END.
Процедура Delay

Назначение: Выполняет задержку на заданное число миллисекунд.
Описание: procedure Delay(Msec: word);
Примечания: Параметр Msec задает число миллисекунд интервала ожидания. Данная процедура является приблизительной, поэтому период задержки не будет точно равняться заданному числу миллисекунд.

Пример 28.4

uses crt;

BEGIN
write('Задержка перед выводом текста. Нажми Enter...');
readln;
delay(1000);
writeln('Следующий вывод текста через некоторое время...');
delay(5000);
writeln('Конец');
readln;
END.
Процедура DelLine

Назначение: Удаляет строку, на которой находится курсор.
Описание: procedure DelLine;
Примечания: Удаляется строка, в которой расположен курсор. При этом все строки, расположенные ниже данной строки, перемещаются на одну строку вверх (для этого используется программа листания экрана базовой системы ввода-вывода). Внизу экрана добавляется новая строка.
Все позиции символов заполняются пробелами. При этом используется текущее определение текстовых атрибутов. Таким образом, если для TextBасkGround не задан черный цвет, то для всего экрана устанавливается фоновый цвет.

Пример 28.5

uses crt;

BEGIN
writeln('Строка 1');
writeln('Строка 2');
writeln('Строка 3');
writeln('Строка 4');
write('Будет удалена 3 строка. Нажми Enter...');
readln;
GotoXY(1,3);                          {установить курсор с координатами (1,3)}
DelLine;                              {удалить строку где находится курсор   }
readln;
END.
Процедура GotoXY

Назначение: Позиционирует курсор в точку с заданными координатами.
Описание: procvedure GoToXY(X, Y: Byte);
Примечания: Курсор перемещается в ту позицию внутри текущего окна, которая задана координатами Х и Y (Х задает столбец, Y задает строку). Верхний левый угол задается координатами (1,1).
Ограничения: Если задаются недопустимые координаты, то обращение к процедуре игнорируется.

См. пример 28.5

Процедура HighVideo

Назначение: Устанавливает для символов подсветку.
Описание: procedure HighVideo;
Примечания: В модуле Crt имеется байтовая переменная TextAttr, которая используется для хранения текущих атрибутов изображения. Процедура HighVideo устанавливает для цвета символов переменной TextAttr бит подсветки. Таким образом, цвета 0..7 отображаются в цвета 8..15.

Пример 28.6

uses crt;

BEGIN
textcolor(4);                               {установить цвет текста - красный}
write('Сейчас текст красный. Нажми Enter...');
readln;
HighVideo;
write('Сейчас текст ярко-красный.');
readln;
END.
Процедура InsLine

Назначение: Начиная с позиции курсора вставляет пустую строку.
Описание: procedure InsLine;
Примечания: Все строки, расположенные ниже добавленной строки, перемещаются на одну строку вниз, а нижняя строка исчезает с экрана (при этом используется программа прокрутки изображения на экране базовой системы ввода-вывода).
Всем позициям символов новой строки присваивается значение пробела с текущими атрибутами текста. Таким образом, если процедурой TextВасkGround не установлен фоновый черный цвет, то новая строка имеет черный фоновый цвет.

Пример 28.7

uses crt;

BEGIN
writeln('Строка 1');
writeln('Строка 2');
writeln('Строка 3');
writeln('Строка 4');
write('Будет вставлена строка в позицию (7,3) с зеленым фоном. Нажми Enter...');
readln;
GotoXY(7,3);                          {установить курсор с координатами (7,3)}
TextBackGround(10);                   {установить цвет фона зеленый          }
InsLine;                              {вставить строку где находится курсор  }
readln;
END.
Функция KeyPressed

Назначение: Возвращает значение Truе, если на клавиатуре нажата клавиша и False в противном случае.
Описание: function KeyPressed: Boolean;
Примечания: Символ (или символы) остаются в буфере клавиатуры. Данная функция не распознает клавиш перевода регистра, таких, как Shift, Аlt, NumLock и т.д. Клавишу можно считать с помощью функции ReadKey.

Пример 28.8

uses crt;
var
k:char;
BEGIN
write('Считывание символов с клавиатуры. Нажми Enter...  (для выхода нажмите ESC)');
readln;

repeat                                        {ЦИКЛ                           }
if KeyPressed=true then                         {если нажата клавиша, тогда}
 begin
  k:=ReadKey;                                   {считать ее в переменную k }
  writeln('Нажата клавиша с кодом ',ord(k),'=',k);
 end;
until k=#27;                                  {выход из цикла, если нажали ESC}
END.
Процедура LowVideo

Назначение: Выбирает символы с пониженной яркостью.
Описание: procedure LowVideo;
Примечания: В модуле Crt имеется байтовая переменная TextAttr, которая используется для хранения текущих атрибутов изображения. Процедура HighVideo устанавливает для цвета символов переменной TextAttr бит подсветки. Таким образом, цвета 8..15 отображаются в цвета 0..7.

Пример 28.9

uses crt;

BEGIN
textcolor(14);                               {установить цвет текста - желтый}
write('Сейчас текст желтый. Нажми Enter...');
readln;
LowVideo;
write('Сейчас текст корричневый.');
readln;
END.
Процедура NormVideo

Назначение: Выбирает обычный атрибут текста для позиции курсора во время загрузки и запуска программы.
Описание: procedure NormVideo;
Примечания: В блоке Crt имеется байтовая переменная ТехtAttr, которая используется для сохранения текущего видеоатрибута. Данная процедура восстанавливает для TехtAttr то значение, которое эта переменная имела до запуска программы.

Пример 28.10

uses crt;

BEGIN
write('Цвет и фон текста установленый до запуска программы. Нажми Enter...');
readln;
textcolor(14);                               {установить цвет текста - желтый}
TextBackGround(1);                           {установить фон текста - синий  }
writeln('Желтый текст на синем фоне. Нажми Enter...');
readln;
NormVideo;
write('Восстановили цвет и фон текста установленый как до запуска программы.');
readln;
END.

Это еще не все процедуры и функции модуля CRT.tpu!


<<< Назад * Оглавление *