Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лек.№6 информ

.pdf
Скачиваний:
8
Добавлен:
18.03.2015
Размер:
206.89 Кб
Скачать

Фрагмент 4. Пример операторов для создания окон.

При регулярном размещении нескольких рядов одинаковых окон на экране можно использовать двойной цикл для раздельного изменения номера строки и столбца:

textmode(258);xm:=lo(windmax);ym:=hi(windmax);{размеры экрана} Nx:= 4; Ny:= 4; { Nx, Ny - число окон }

hx:= xm div Nx; hy:= ym div Ny; {hx, hy - размер окна по X и по Y} for i:= 0 to Nx-1 do { чередование столбцов }

for j:= 0 to Ny-1 do begin { наращивание строк } x1:= 1+hx*i; x2:=x1+hx-1;

y1:= 1+hy*j; y2:=y1+hy-1;

window(x1, y1, x2, y2); TextBackGroung(i+j); ClrScr; end;

6.2.1.3Работа с символьными переменными

Repeat c:=readKey; Write(c) until c=#13;

здесь "с" - переменная типа Char,

#13 - код клавиши Enter

#32 - SpaceBar #27 - Esc

Для запоминания вводимых символов можно использовать операторы: i:=0; repeat i:=i+1; ch[i]:=readKey; write(ch[i]) until ch[i]=#13;

Здесь ch[i] - элемент массива ch типа Char.

DelLine; InsLine;

Delay(M);

Фрагмент 5. Пример операторов, прокручивающих текст в окне.

Window(5,5,30,9);TextBackGround(1);Clrscr; TextColor(14); repeat delay(500); GotoXY(1, 5);

write('Всем большой привет !'); gotoXY(1, 1);

for k:=1 to 5 do begin { прокрутка вверх } delay(300); delLine end

until keyPressed ;

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

торы:

C:= chr(N); write(C);

где N - номер кода символа (тип Byte),

chr - функция преобразования целого типа в символьный.

6.2.1.4 Работа со строковыми переменными s1:='Hello!'

s2:='Привет!'

s3:=s1+'_'+s2; присвоится значение: "Hello! Привет!". s1[1]:='H' , s1[2]:='e'; и т. д. (см. 5.1)

L:=Ord(s1[0]);

L:=Length(s1);

Copy(S,L1,L2);.

где L1 - номер индекса первого копируемого символа, L2 - число копируемых символов.

Sc:=Copy(s1,1,5); примет значение "Hello".

Delete(S,L1,L2);

где L1 -номер индекса первого удаляемого символа, L2 - число удаляемых символов.

Delete(s1,6,1); переменная "s1" примет значение "Hello". Insert(Si, S, L1); здесь переменные L1, L2 - типа Integer.

6.2.1.5 Управление звуковыми сигналами

Sound(N); - включение звука с частотой тона N (измеряется в герцах). Delay(M); - задержка выполнения программы на M миллисекунд. NoSound; - выключение звука. Здесь N и M - типа Word.

Sound(F); Delay(N); NoSound;

Формула расчета частоты звука:

F=Round(440*Exp(Ln(2)*(No-(10-Nn)/12)));

где No - номер октавы -3<= No <=4; Для основной октавы No=0. Nn - номер ноты 1 - До, 2 - До#, 3 - Ре, и т. д. 12 - Cи.

При сквозной нумерации нот принять для No<0 - Nn<1, для No>0 - Nn>12.

Фрагмент 6. Пример операторов, позволяющих курсорными клавишами перемещать по экрану курсор, либо выводить на экран символ нажатой клавиши.

x:= whereX; y:= whereY; { опрос текущих координат курсора } repeat

ch := readkey; if ch = #0 then ch:= readkey; case ch of

#72: y:= y - 1; { курсор вверх } #80: y:= y + 1; { курсор вниз }

#77: x:= x + 1; { курсор вправо }

#75: x:= x - 1; { курсор влево }

#73:begin x:=x+1; y:=y-1; end;{ курсор вправо вверх Page Up } #81: begin x:=x+1;y:=y+1;end;{курсор вправо вниз Page Down } #71: begin x:=x-1;y:=y-1;end;{ курсор влево вверх Home }

#79: begin x:=x-1;y:=y + 1; end; {курсор влево вниз End } else write(ch) end; { вывод символа }

gotoXY(x, y) { перемещение курсора }

until ch= #27; { выход при нажатии клавиши Esc }

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]