Иллюстрированный самоучитель по Tirbo Pascal


Текстовый вывод на экран - часть 6


GotoXY(2,Y2-Y1+1); {Возвращаем курсор из левого верхнего угла окна на нужное место}

{Горизонтальная рамка}

for k:= X1+1 to X2-1 do Write(H);

Write(RD); {Правый нижний угол} 

{Определяем внутреннюю часть окна} 

Window(X1+1,Y1+1,X2-1,Y2-1); 

{Выводим левый столбец} 

for k := Y1+1 to Y2-2 do

WriteLn('Левый столбец, строка ',k-Y1);; 

{Ждем нажатия любой клавиши} 

Write('Нажмите любую клавишу...'); 

k := ord(ReadKey); if k=0 then

k := ord(ReadKey);

DelLine; {Стираем приглашение} 

{Выводим правый столбец} 

for k := Y1+1 to Y2-2 do 

begin

GotoXY((X2-X1) div 2,k-Y1); 

Write('Правый столбец, строка ',k-Y1) 

end ;

{Выводим сообщение и ждем нажатия клавиши Enter} 

GotoXY((X2-X1-Length(Txt)) div 2,Y2-Y1-1); 

TextColor(White); 

Write(Txt); 

ReadLn;

{Восстанавливаем стандартный режим} 

TextMode(CO80) 

end.

Три следующие процедуры без параметров могут оказаться полезными при разработке текстовых редакторов.

Процедура ClrEOL.

Стирает часть строки от текущего положения курсора до правой границы окна (экрана). Положение курсора не меняется.

Процедура DelLine.

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

Процедура InsLine.

Вставляет строку: строка с курсором и все строки ниже ее сдвигаются вниз на одну строку; строка, вышедшая за нижнюю границу окна (экрана), безвозвратно теряется; текущее положение курсора не меняется.

Процедуры LowVideo, NormVideo и HighVideo.

С помощью этих процедур без параметров можно устанавливать соответственно пониженную, нормальную и повышенную яркость символов. Например:

Uses CRT; 

begin

LowVideo;

WriteLn('Пониженная яркость');

NormVideo;

WriteLn('Нормальная яркость'); 

HighVideo;

WriteLn('Повышенная яркость') 

end.

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




- Начало -  - Назад -  - Вперед -