Вывести на экран текстовое окно, границы которого управляются клавишами - Turbo Pascal
Формулировка задачи:
Друзья помогите пожалуйста решить задачу а то препод уже достал а сам я не могу решить её)))
Разработать программу, которая при нажатии клавиши <F9> выводит на экран текстовое окно. При нажатии клавиши <влево> сдвигается влево левая рамка окна, при нажатии <вправо> - вправо правая рамка окна, при нажатии <вниз> - вниз нижняя рамка окна, при нажатии <вверх> вверх верхняя рамка окна.
Заранее спасибо))
Решение задачи: «Вывести на экран текстовое окно, границы которого управляются клавишами»
textual
Листинг программы
uses crt; var c,c1,s:char; x,y,w,h:byte; begin textbackground(0); textcolor(15); clrscr; writeln('Нажмите клавишу F9'); write('Выход-Enter'); c:=readkey; if c=#0 then c1:=readkey; if c1=#67 then begin x:=35; y:=11; w:=10; h:=5; window(x,y,x+w,y+h); textbackground(7); clrscr; repeat if keypressed then begin s:=readkey; case s of #75:begin x:=x-1; w:=w+1; window(x,y,x+w,y+h); textbackground(7); clrscr; end; #77:begin w:=w+1; window(x,y,x+w,y+h); textbackground(7); clrscr; end; #72:begin y:=y-1; h:=h+1; window(x,y,x+w,y+h); textbackground(7); clrscr; end; #80:begin h:=h+1; window(x,y,x+w,y+h); textbackground(7); clrscr; end; end; end; until s=#13; end; end.
Объяснение кода листинга программы
- Используется библиотека crt для работы с консолью.
- Объявлены переменные c и c1 типа char, которые будут использоваться для чтения клавиш.
- Функция textbackground(0) устанавливает цвет фона текста на экране в черный.
- Функция textbackground(15) устанавливает цвет фона текста на экране в белый.
- Функция clrscr() очищает экран.
- Строки 'Нажмите клавишу F9' и 'Выход-Enter' выводятся на экран с помощью функции write().
- Чтение клавиш происходит с помощью функции readkey().
- Переменные x, y, w, h типа byte используются для координат и размеров окна на экране.
- Функция window(x,y,x+w,y+h) выводит на экран прямоугольное окно с заданными координатами и размерами.
- Строка 'x=x-1; w=w+1; window(x,y,x+w,y+h); textbackground(7); clrscr;' выполняет следующие действия: уменьшает значение переменной x на 1, увеличивает значение переменной w на 1, выводит на экран окно с координатами (x,y) и размерами (x+w, y+h), затем меняет цвет фона текста на белый и очищает экран.
- Строка 's:=readkey(); case s of #75:begin x=x-1; w=w+1; window(x,y,x+w,y+h); textbackground(7); clrscr; end;' выполняет следующие действия: считывает клавишу, затем проверяет, является ли она символом '#75'. Если это так, то уменьшает значение переменной x на 1, увеличивает значение переменной w на 1, выводит на экран окно с координатами (x,y) и размерами (x+w, y+h), затем меняет цвет фона текста на белый и очищает экран.
- Строка 's:=readkey(); case s of #77:begin w=w+1; window(x,y,x+w,y+h); textbackground(7); clrscr; end;' выполняет аналогичные действия, как и предыдущая строка, но для символа '#77'.
- Строка 's:=readkey(); case s of #72:begin y=y-1; h=h+1; window(x,y,x+w,y+h); textbackground(7); clrscr; end;' выполняет аналогичные действия, как и предыдущая строка, но для символа '#72'.
- Строка 's:=readkey(); case s of #80:begin h=h+1; window(x,y,x+w,y+h); textbackground(7); clrscr; end;' выполняет аналогичные действия, как и предыдущая строка, но для символа '#80'.
- Строка 'until s=#13;' выполняет цикл до тех пор, пока не будет введена клавиша '#13'.
- Код написан на языке Turbo Pascal.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д