программирование.лекция9.pptx
- Количество слайдов: 11
Uses Crt; Var n: Byte; procedure proc 1; begin end; procedure proc 2; begin end; begin repeat Clr. Scr; Write. Ln('Program 1 - 1'); Write. Ln('Program 2 - 2'); Write. Ln('Exit - 0'); Write('Select program: '); Read. Ln(n); Case n of 1: proc 1; 2: proc 2; end; until n = 0; end.
Очистка Clr. Scr очистит весь экран Clr. Eol очистит текущую строку Del. Line удалит строку, в которой находится курсор. Ins. Line очистит текущую строку целиком. • Звук Sound(hz : Word) включит звуковой сигнал с частотой hz Герц. No. Sound выключит звуковой сигнал
Цвет фона Text. Background(color : Byte) Цвет выводимого текста Textcoloe(color : Byte) Функция Textattr: Byte
Константа Значение Black 0 (черный) Dark. Gray 8 (темно-серый) Blue 1 (синий) Light. Blue 9 (светло-синий) Green 2 (зеленый) Light. Green 10 (светло-зеленый) Cyan 3 (голубой) Light. Cyan 11 (светло-голубой) Red 4 (красный) Light. Red 12 (розовый) Magenta 5 (малиновый) Light. Magenta Brown 6 (коричневый) Yellow 14 (желтый) Light. Gray 7 (светло-серый) White 15 (белый) Blink 128 (мерцание) 13 (светломалиновый)
7 -бит 6 -бит 5 -бит 4 бит 3 -бит 2 -бит 1 -бит 0 -бит Red Green Blue Яркость Red Green Blue Мерцание Цвет фона Text. Attr: =4; Text. Attr: =16*Blue+White; Цвет символов
Процедура Goto. XY(x, y : Byte) переместит курсор в заданную позицию в пределах текущего окна. Функция Where. X: Byte вычислит положение курсора в текущем окне: его горизонтальную составляющую Функция Where. Y : Byte вычислит положение курсора в текущем окне (или на экране): его вертикальную составляющую. Ожидание • Процедура Delay(ms : Word) приостановит исполнение программы на ms миллисекунд. • Функция Read. Key: Char возвращает значение символьного типа • Функция Key. Pressed: Boollean возвращает значение истина , если нажата клавиша
uses Crt; const NORM=Light. Gray; { цвет невыделеного пункта } SEL=Green; { цвет выделенного пункта } N=3; var menu: array[1. . N] of string[12]; { названия пунктов меню } punkt: integer; ch: char; x, y: integer; Procedure punkt 1; begin Clr. Scr; writeln('Процедура 1. Нажмите <Enter> для продолжения. '); readln; end; Procedure punkt 2; begin Clr. Scr; writeln('Процедура 2. Нажмите <Enter> для продолжения. '); readln; end;
Procedure Menu. To. Scr; { вывод меню на экран } var i: integer; begin Clr. Scr; for i: =1 to N do begin Go. To. XY(x, y+i-1); write(menu[i]); end; Text. Attr: =SEL; Go. To. XY(x, y+punkt-1); write(menu[punkt]); { выделим строку меню } Text. Attr: =NORM; end;
begin menu[1]: =' Действие 1 ‘; menu[2]: =' Действие 2 ‘; menu[3]: =' Выход '; punkt: =1; x: =5; y: =5; Text. Attr: =NORM; Menu. To. Scr; repeat ch: =Read. Key; if ch=#0 then begin ch: =Read. Key; case ch of #80: { стрелка вниз } if punkt<N then begin Go. To. XY(x, y+punkt-1); write(menu[punkt]); punkt: =punkt+1; Text. Attr: =SEl; Go. To. XY(x, y+punkt-1); write(menu[punkt]); Text. Attr: =NORM; end;
#72: { стрелка вверх } if punkt>1 then begin Go. To. XY(x, y+punkt-1); write(menu[punkt]); punkt: =punkt-1; Text. Attr: =SEl; Go. To. XY(x, y+punkt-1); write(menu[punkt]); Text. Attr: =NORM; end; end else if ch=#13 then begin { нажата клавиша <Enter> } case punkt of 1: punkt 1; 2: punkt 2; 3: ch: =#27; { выход } end; Menu. To. Scr; end; until ch=#27; { 27 - код <Esc> } end.
программирование.лекция9.pptx