Движение текста по экрану с помощью клавиш управления курсором - Turbo Pascal
Формулировка задачи:
осуществить движение текста по экрану с помощью клавиш управления курсором. Текст содержит имя студента и номер группы;
Решение задачи: «Движение текста по экрану с помощью клавиш управления курсором»
textual
Листинг программы
uses crt; const s='Андрей 1234'; var c1,c:char; n,x,y:integer; begin clrscr; n:=length(s); x:=(80-n)div 2; y:=13; gotoXY(x,y); write(s); repeat if keypressed then begin c:=readkey; if c=#0 then c:=readkey; case c of #75:if x>2 then begin clrscr; x:=x-1; gotoXY(x,y); write(s); delay(100); end; #77:if x<80-n then begin clrscr; x:=x+1; gotoXY(x,y); write(s); delay(100); end; #72:if y>2 then begin clrscr; y:=y-1; gotoXY(x,y); write(s); delay(100); end; #80:if y<24 then begin clrscr; y:=y+1; gotoXY(x,y); write(s); delay(100); end; #27:exit end; end; until c=#27; end.
Объяснение кода листинга программы
- В начале кода подключается библиотека crt, которая обеспечивает функции для работы с консолью.
- Далее объявляются переменные: s - строка, содержащая текст
Андрей 1234
; c1 и c - символы, которые будут использоваться для движения курсора; n, x и y - целые числа, которые определяют положение курсора на экране. - Затем происходит очистка экрана с помощью функции clrscr.
- После этого вычисляется значение x, которое равно 80 минус длине переменной s, деленной на 2, и округленное вниз до ближайшего целого числа. Значение y устанавливается равным 13.
- Далее происходит вызов функции gotoXY, которая устанавливает положение курсора в точку x, y на экране.
- Затем выполняется запись переменной s на экран с помощью функции write.
- После этого начинается цикл repeat, который будет продолжаться до тех пор, пока не будет нажата клавиша с номером 27.
- Внутри цикла проверяется, была ли нажата клавиша. Если да, то считывается символ, который будет использоваться для движения курсора. Если считанный символ равен #0, то повторяется попытка его считывания.
- Далее происходит проверка нажатой клавиши. Если это клавиша #75, то курсор перемещается на одну позицию влево, если текущая позиция курсора больше 2, и экран очищается, иначе курсор перемещается на одну позицию вправо. После этого происходит запись переменной s на экран и задержка в 100 мс.
- Если нажата клавиша #77, то ситуация аналогична предыдущему пункту, но движение происходит вправо.
- Если нажата клавиша #72, то ситуация аналогична предыдущему пункту, но движение происходит вниз.
- Если нажата клавиша #80, то ситуация аналогична предыдущему пункту, но движение происходит вверх.
- Если нажата клавиша #27, то цикл повторяется до тех пор, пока не будет нажата эта клавиша, после чего программа завершается.
- Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д