АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Delay(300); delLine end

Читайте также:
  1. Практическое задание N 1. 38
  2. Текстовый вывод на экран

until keyPressed;

Практическое задание N 1. 39

 

1. В режиме ТextMode(1); создать в центре экрана окно размером 6 строк и 30 колонок. Вывести в нижней строке окна надпись и сделать прокрутку надписи вверх, меняя яркость символов (нормальная, повышенная, пониженная) и цвет фона (без оператора ClrScr;) после каждой прокрутки.

 

2. Аналогично п. 1 вывести в верхней строке окна надпись, сделать прокрутку надписи вниз.

 

 

Для вывода на экран символа по номеру его кода можно использовать операторы:

C:= chr(N); write(C); где N - номер кода символа (тип Byte), chr - функция преобразования целого типа в символьный. Напомним, что символы, используемые в MS-DOS, имеют коды с номерами от 0 до 255. Некоторые управляющие символы при выводе производят определенные действия, например: #7 - звуковой сигнал, #13 - перевод курсора на новую строку.

 

В рекламных надписях применяется прием "бегающих" символов. Заставить бегать символ по строке можно с помощью следующих операторов:

 

y:=5; Xm:=lo(WindMax)+1;

с:=readKey; { ввод символа с клавиатуры }

Repeat

for i:=1 to Xm-1 do begin { i - номер позиции в строке }

gotoXY(i, y); write(c); { вывести на экран символ }

delay(100); gotoXY(i,y); write('_') end { вывести на экран пробел }

until keyPressed;

 

 

Практическое задание N 1. 40

 

1. Разделить экран по горизонтали на две части. В первой части создать окно и вывести все символы от 0 до 255 с указанием номеров, во втором окне в двух строчках вывести два символа, бегающих в противоположные стороны.

 

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

 

Примечание: номера символов выбрать из первого окна.

 

 

При выводе "бегающих" символов изображение курсора портит картинку. Избавиться от курсора можно, поместив его в "дальний угол" перед задержкой программы, например: GotoXY(1, 1); delay(100); Можно также изменить размер курсора до нуля с помощью следующих операторов:

 

В разделе описания программы: Uses DOS; Var r: registers;

B разделе выполнения программы: r.ah:=1; r.ch:=$20; intr(16,r);

Приведем пример программы "падающие символы" для цифр от 0 до 9, имеющих кода

 

c номерами от 48 до 57. При нажатии на клавишу с “падающей цифрой”, генерируется другая “падающая цифра” и т. д. до нажатия клавиши ESC.

 

PROGRAM PULL_CH;

Uses CRT, DOS;

var r: registers;

x, y, i, xm, ym: byte;

c: array [41..57] of char; cha:char;

BEGIN

randomize; textMode(3);

xm:=lo(WindMax)+1; ym:=hi(WindMax)+1;

textBackGround(blue); ClrScr; TextColor(14);

r.ah:=1; r.ch:=$20; intr(16,r);

for i:=48 to 57 do begin

c[i]:=chr(i); write(c[i]) end; { вывод символов с позиции (1, 1) }

 

repeat gotoXY(10, 10); Write('ПРИГОТОВЬТЕСЬ -нажмите ENTER'); cha:= readKey

until cha=#13; { вывод надписи }

delay(500); gotoxy(10, 10); clreol; { стирание надписи }

GOTOXY(1, YM); Write('НАЖМИТЕ КЛАВИШУ С ПАДАЮЩИМ СИМВОЛОМ');

Write(' ДЛЯ ОКОНЧАНИЯ -нажмите ESC');

Repeat

i:= random(10)+48; c[i]:=chr(i); { выбор случайной цифры }

x:= i-48+1; for y:= 2 to ym-1 do begin

gotoXY(x,y); write(c[i]); delay(200); { вывод цифры }

gotoXY(x,y); write('_'); { стирание цифры }

if keypressed then cha:=readkey; { при нажатии клавиши - считать цифру }

if cha=#27 then Break;

if cha=c[i] then Break end { досрочный выход из цикла "for... " }

until cha=#27; { выход при нажатии ESC }


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.)