Запись информации с экрана в переменную - Free Pascal
Формулировка задачи:
На экране имеется некоторая последовательность символов. Нужно это символы занести в строковую переменную. Пробовал вводить Reset(Output); Read(Output,stroka); но как-то безрезультатно. Как можно это реализовать?
Неужели никто не знает? Если кто не понял, мне нужно символы, отображающиеся на экране(неважно как они туда попали) занести в строковую переменную.
Решение задачи: «Запись информации с экрана в переменную»
textual
Листинг программы
uses crt; type VideoType = record ch : Char; attr : Byte; end; const ScreenWidth = 80; ScreenHeight = 25; var VideoBuf : array[1 .. ScreenHeight, 1 .. ScreenWidth] Of VideoType absolute $B800 : $0000; var s : string; i : integer; begin clrscr; for i := 1 to 20 do writeln('test'); s := ''; for i := 1 to 5 do s := s + videobuf[1, i].ch; writeln('|' + s + '|'); end.
Объяснение кода листинга программы
- Объявление переменных и констант: — VideoType - тип записи, используемый для хранения информации о видеопамяти. — ScreenWidth и ScreenHeight - константы, определяющие ширину и высоту экрана соответственно. — VideoBuf - массив, используемый для хранения информации о видеопамяти. — absolute $B800 : $0000 - данная строка используется для инициализации сегмента данных видеопамяти. — s - строка, используемая для хранения считанной информации о видеопамяти. — i - целочисленная переменная, используемая для цикла.
- Очистка экрана с помощью функции clrscr.
- Цикл for, выполняющийся 20 раз, каждая итерация выводит на экран текст
test
. - Считывание информации о видеопамяти в строку s. Для этого используется цикл for, который выполняется 5 раз, считывая информацию о символах по горизонтали экрана.
- Вывод на экран информации о считанной строке с помощью функции writeln, к которой добавляется символ вертикальной черты (|) и символ конца строки (»).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д