Демонстрация процедуры window и различных цветов фона
Сейчас учу модуль CRT. В учебнике дан пример программы, которая должна изобразить на экране 7 полосок (окон), соответствующих разным цветам фона (без черного).
Задание: Определить сколько различных сигналов могло быть подано m флажками различных цветов Задание: Определить сколько различных сигналов могло быть подано m флажками различных цветов.
Демонстрация передачи информации различных форматов (текст, графика) через буфер обмена Здравствуйте, помогите пожалуйста, нужно сделать программу, которая демонстрирует, передачу.
Создать окно процедурой Window и установить цвета текста и фона Создать окно с помощью процедуры WINDOW и установить цвета для фона «окна» и символов в нем.
Изменять цвет фона путем выбора одного из нескольких цветов Помогите составить программу в результате выполнения которой будет изменяться цвет фона путем.
Плавное изменение различных цветов Доброго времени суток! Подскажите, есть код, нужно лишь реализовать бесконечную смену цвета, а не.
Пересечение фигур различных цветов Здравствуйте, рисуя Graphics’ом фигуры различных цветов, есть ли возможность, если фигуры.
Получить заданное количество различных цветов Делаю алгоритм раскраски графов. Алгоритм успешно определяет количество необходимых цветов и номер.
Работа с экраном в текстовом режиме (вывод всех цветов фона, разделяя цвета паузой) Пожалуйста подскажите, как сделать вывод всех цветов фона, разделяя цвета паузой. Задание.
На экране дисплея необходимо отражать 262144 различных цветов. На экране дисплея необходимо отражать 262144 различных цветов. Вычислить необходимый объем одной.
Во многих случаях стандартные для Turbo Pascal возможности ввода/вывода данных с помощью стандартных процедур оказывается недостаточными для разработки удобных в использовании диалоговых программ. В библиотеке (модуле) CRT, предусмотрены несколько подпрограмм, существенно увеличивающих возможности текстового ввода/вывода.
Оператор
Модуль
Назначение
Пример
WINDOW
CRT
Процедура. Установить границы текстового окна, относительно левого верхнего угла экрана. Форма записи:
Процедура. Очистить экран или текущее текстовое окно, помещая курсор в левый верхний угол (координаты 1,1) и закрасить текущим цветом фона.
Процедура. Стирает все символы до конца строки, начиная с позиции курсора.
Процедура. Вставить пустую строку, все нижестоящие строки перемещаются на одну позицию вниз.
Процедура. Стереть строку, на которой находится курсор, все нижестоящие строки перемещаются на одну позицию вверх.
Процедура. Установить цвет выводимых символов. Форма записи:
Процедура. Установить цвет фона выводимых символов. Форма записи:
Процедура. Установить позицию курсора, относительно левого верхнего угла активного текстового окна. Форма записи:
Функция целого типа. Узнать позицию курсора по X.
Функция целого типа. Узнать позицию курсора по Y.
Функция логического типа. Возвращает значение типа BOOLEAN, указывающее состояние буфера клавиатуры: FALSE означает, что буфер пуст, а TRUE что в буфере есть хотя бы один символ, ещё не прочитанный программой. Обращение к функции не задерживает исполнение программы.
Функция символьного типа, возвращает значение типа CHAR. Останавливает выполнение программы до нажатия любой клавиши и возвращает её код.
Процедура. Установить задержку работы программы на заданный интервал времени. Форма записи:
Процедура. Выдать звук заданной частоты. Форма записи:
Все, что необходимо начинающему и опытному программисту
Ввод и вывод данных
Заносить данные в ячейки памяти можно не только оператором присваивания, но и путем непосредственного ввода с клавиатуры. Это удобно тем, что в программу при каждом запуске можно вводить разные начальные значения, что добавляет ей универсальности.
Вводим переменные с клавиатуры
Пример 2.8. Ввод с клавиатуры значения переменной N
Красивый вывод на экран
Рассмотрим еще одну задачу: задать с клавиатуры цвет фона (экрана), символов и координат для вывода текста, а затем вывести текст в окно с заданными координатами. Продумаем алгоритм решения данной задачи (рис. 2.9).
Рис. 2.9. Алгоритм решения задачи из примера 2.9
< Блок 2: > write(‘Введите цвет для экрана:’); readln(C11);
< Блок 3: > write(‘Введите цвет для символов;’); readln(C12);
< Блок 6: > writeln(‘Введите координаты X и Y’); readln(X,Y);’
2011-07-31 ответил Так будет лучше
Так будет лучше. А то слишком рано цвет меняет. program Inp_Color; uses Crt; var C11,C12:0..15; X,Y:Integer; begin ClrScr; Window(4,4,40,10); Write(‘Vvedite cvet ekrana’); Readln(C11); Write(‘Vvedite cvet bukv’); Readln(C12); Write(‘Vvedite X i Y’); Readln(x,y); TextBackGround(C11); TextColor(C12); ClrScr; GoToXY(x,y); Writeln(‘My SUPER!!’); Readln end.
2012-11-09 ответил Виго
Спасибо, ваш курс мне зздорово помог!
2013-10-15 ответил Саша
всё получается, но лично у меня пишет «функция window не реализована» не знаю почему?
2013-11-08 ответил Grizzly
Здравствуйте, поделитесь советом тем кто с толкнулся с тем что цвет не меняется. Ввожу цвет фона, цвет текста и координаты.Выходит финальный текст, все остается в стандартном цвете. За помощь большое спасибо.
2013-12-30 ответил Денис
Спецом так много ошибок в коде шоб новички парились и сами решали проблемы?)
В состав Free Pascal входит целый ряд стандартных модулей, перечислим некоторые из них:
· math – модуль содержит много дополнительных математических, тригонометрических и статистических функций;
· wincrt – модуль для поддержки терминал подобного текстового окна в экране. При этом не нужно писать специальный код для поддержки окон.
Для полного описания экранной позиции кроме символа следует задать еще и атрибут, содержащий информацию о цвете символа и фона на экране. Символ и атрибут занимают в памяти по 1 байту. В модуле CRT определена переменная
Структура байта-атрибута показана на рис. Л.1.
Рис. Л.1.Структура байта-атрибута консоли
Рассмотрим некоторые функции и процедуры модуля CRT :
Все экранные координаты, кроме координат самого окна, являются зависимыми относительно текущего окна. Например, GotoXY (1, 1) всегда будет устанавливать курсор в верхний левый угол текущего окна.
11. FUNCTION WhereX : Byte и
Программа, очищающая экран и печатающая слово ПРИВЕТ! в заданном месте экрана.
Пример программы, которая рисует улитку Паскаля в текстовом режиме при помощи символа *.
TextBackground(Black); // цвет фона черный
X := succ ( Random (80)); // начальная координата окна меньше пределов
Текст, который мы выводим на экран с помощью процедуры Writeln или с помощью оператора Write можно изменять. Процедура Textcolor используется для изменения цвета выводимого текста. Процедура Textbackground изменяет цвет фона, на котором выводится текст. Процедура Window задает окно, в котором будет выводиться текст.
Строка №2. Подключаем к программе модуль Crt. Мы уже упоминали этот модуль, когда использовали процедуру очистки экрана Clrscr. Помимо этого данный модуль подключается к программе для управления способами вывода на экран. Он позволяет устанавливать курсор в нужную позицию на экране (gotoxy), устанавливать цвет фона (textbackground) и цвет выводимых символов (textcolor) и многое другое. В конце обязательно ставится точка с запятой.
В строке №6 записываем процедуру Textbackground, которая устанавливает цвет для фона, на котором будет выводиться текст. После записи слова Textbackground в скобках указывается значение. Мы указали значение 14. Это число соответствует желтому цвету в палитре цветов Паскаля. Ниже находится таблица, в которой указаны все 16 цветов, входящих в палитру цветов Паскаля.
В строке №7 записываем процедуру Textcolor. Эта процедура устанавливает цвет для выводимого на экран текста. После записи Textcolor в скобках записываем значение 1, что соответствует синему цвету.
Строка №8. Выводим на экран сообщение.
Теперь набрем программу в Паскале и запустим ее.
У нас выводится сообщение. Обратите внимание, что оно выводится не в начале экрана, а в начале невидимого экрана, определенного процедурой Window. Кроме того, сообщение выводится, синим цветом, на желтом фоне. Это действие Textbackground и Textcolor.
Дополнение к материалу.
CRT – английская аббревиатура, которая обозначает электронно-лучевую трубку. Таким образом, название модуля Crt подчеркивает, что он умеет управлять способами вывода на экран.