Как изменить цвет текста в паскале
Перейти к содержимому

Как изменить цвет текста в паскале

  • автор:

Подпрограммы для работы со шрифтом

Вывод текста осуществляется текущим шрифтом. Доступ к свойствам текущего шрифта можно осуществлять как в процедурном, так и в объектно-ориентированном стиле.

Процедуры и функции для доступа к свойствам шрифта сгруппированы парами: если Prop — имя свойства пера, то функция PenProp возвращает значение этого свойства, а процедура SetPenProp(p) устанавливает это свойство:

procedure SetFontSize(size: integer);
Устанавливает размер текущего шрифта в пунктах
function FontSize: integer;
Возвращает размер текущего шрифта в пунктах
procedure SetFontName(name: string);
Устанавливает имя текущего шрифта
function FontName: string;
Возвращает имя текущего шрифта
procedure SetFontColor(c: Color);
Устанавливает цвет текущего шрифта
function FontColor: Color;
Возвращает цвет текущего шрифта
procedure SetFontStyle(fs: integer);
Устанавливает стиль текущего шрифта
function FontStyle: integer;
Возвращает стиль текущего шрифта

Можно также изменять свойства текущего пера через объект Font .

Кроме того, для определения ширины и высоты строки при текущих настройках шрифта используются следующие функции:

function TextWidth(s: string): integer;
Возвращает ширину строки s в пикселях при текущих настройках шрифта
function TextHeight(s: string): integer;
Возвращает высоту строки s в пикселях при текущих настройках шрифта

Как изменить цвет текста в паскале

Подскажите, плиз, как во фри паскале изменить расцветку?
Например в турбо паскале в опциях можно задать любой цвет для фона, текста, рамок. в общем для любого элемента.
А во фри паскале я не нашел где это можно поменять.

yuihjk незнакомец Сообщения: 3 Зарегистрирован: 27.09.2015 16:42:29

Re: Вопрос по расцветке

yuihjk писал(а): А во фри паскале я не нашел где это можно поменять.

А Вы принципиально не хотите разглашать, расцветку чего именно Вы хотите поменять?
Vadim долгожитель Сообщения: 4112 Зарегистрирован: 05.10.2006 08:52:59 Откуда: Красноярск

Re: Вопрос по расцветке

Vadim писал(а):
yuihjk писал(а): А во фри паскале я не нашел где это можно поменять.

А Вы принципиально не хотите разглашать, расцветку чего именно Вы хотите поменять?

Я хочу поменять расцветку чисел и текста (то, что между ‘ ‘) в меню ввода программы.
http://joxi.ru/Rmzgk5XhBMpV2O
Вот скриншот расцветки по умолчанию, как хорошо заметно, цифры сливаются с фоном, а это не есть гуд.

yuihjk незнакомец Сообщения: 3 Зарегистрирован: 27.09.2015 16:42:29

Re: Вопрос по расцветке

yuihjk
Так Вам надо сменить расцветку в IDE, а вовсе не в FreePascal.
На всякий случай:
— FreePascal — это компилятор;
— IDE — это совершенно самостоятельный продукт.

Vadim долгожитель Сообщения: 4112 Зарегистрирован: 05.10.2006 08:52:59 Откуда: Красноярск

Re: Вопрос по расцветке

yuihjk писал(а): Подскажите, плиз, как во фри паскале изменить расцветку?
Например в турбо паскале в опциях можно задать любой цвет для фона, текста, рамок. в общем для любого элемента.
А во фри паскале я не нашел где это можно поменять.

Очень странно. Возможность задокументирована. Но почему-то отсутствует в IDE. смахивает на какой-то глюк.

* Remove color selection and startup option menus for now.

————————————————————————

«for now» длится с 2006
можно попробовать раскоментировать строчку с menu_options_env_colors, в fpide.pas и потом эту самую IDE пересобрать.
Код: Выделить всё < NewItem(menu_options_env_startup,'', kbNoKey, cmStartup, hcStartup,
NewItem(menu_options_env_colors,», kbNoKey, cmColors, hcColors,>

но оно тебе нужно? может таки лазарус?

скалогрыз долгожитель Сообщения: 1803 Зарегистрирован: 03.09.2008 02:36:48

Re: Вопрос по расцветке

скалогрыз писал(а): но оно тебе нужно? может таки лазарус?

Я немного объясню ситуацию.
На данный момент единственное что я знаю о программировании — это то как запустить турбо паскаль скул пак и писать в нем относительно простые программы.
Но в турбо паскале есть несколько минусов, которых нет во фри паскале, например, турбо паскаль не воспринимает формат int64 который необходим для решения программ с большими числами, также в турбо паскале стоит гораздо большее ограничение на задействованную память.
Поэтому я решил разобраться во фри паскале, т. к. визуально он практически полная копия турбо паскаля.
Я скачал последнюю версию фри паскаля с официального сайта, установил ее, запустил и обнаружил расцветку как на скриншоте.
Сейчас у меня стоит задача — сменить эту расцветку.
Но при этом я не имею ни малейшего понятия, что такое IDE, и вообще как именно работает фри паскаль.
Я знаю только то, что если запустить ярлык фри паскаля на рабочем столе, то откроется меню ввода программы. Затем когда я введу текст программы и нажму cnrl+F9, я попаду в меня ввода переменных и когда я их введу и нажму enter, программа выдаст мне ответ.
Это все что я знаю. Как именно эта вся махина работает, я не имею ни малейшего представления.
Что касается лазаруса, то он не подходит по причине совершенно другого интерфейса и другой направленности.
Вообще, мой род деятельности — это обучение школьников написания простых программ на паскале (программы на ввод-вывод данных, сложение, вычитание, умножение, деление, работа с одномерными и двумерными массивами), т. е. мне не нужно использовать так называемое объектное программирование.
Поэтому я был бы очень благодарен тому человеку, которой помог бы мне, дав четкую инструкцию: как изменить цвет цифр и текста между одинарными кавычками в меню ввода программы во фри паскале (скриншот меню я выкладывал).

Textcolor, Window, Textbackground в Pascal.

Текст, который мы выводим на экран с помощью процедуры Writeln или с помощью оператора Write можно изменять. Процедура Textcolor используется для изменения цвета выводимого текста. Процедура Textbackground изменяет цвет фона, на котором выводится текст. Процедура Window задает окно, в котором будет выводиться текст.

program number4; uses crt; begin clrscr; Window (20,5,60,20); Textbackground (14); Textcolor (1); writeln(‘Это сообщение выводится синим цветом на желтом фоне’); readln end.

Строка №2. Подключаем к программе модуль Crt. Мы уже упоминали этот модуль, когда использовали процедуру очистки экрана Clrscr. Помимо этого данный модуль подключается к программе для управления способами вывода на экран. Он позволяет устанавливать курсор в нужную позицию на экране (gotoxy), устанавливать цвет фона (textbackground) и цвет выводимых символов (textcolor) и многое другое. В конце обязательно ставится точка с запятой.

Строка №5. Записываем процедуру Window. Эта процедура определяет, где на экране будет находиться текстовое окно. Window (x1, y1, x2, y2): (x1, y1) — координаты для верхнего левого угла окна. (x2,y2) – координаты для нижнего правого угла окна. Таким образом, запись Window (20,5,60,20) означает, что у нас задается окно. Его координаты: левый верхний угол (20,5) и нижний правый угол (60,20). Ниже дана простая схема.

razmetka okna v windows

Самый большой черный прямоугольник – это весь экран. В компиляторе Turbo Pascal ширина экрана равна 80 столбцам и 43 строкам (для Free Pascal — 80 столбцов и 38 строк). Красный прямоугольник внутри – это экран, определяемый процедурой Window (20,5,60,20). Самое главное здесь – запомнить, что координаты отмеряются с верхнего левого угла. Теперь все действия, которые будут производится в программе (например, вывод сообщения на экран) будут производится в этом окне.

В строке №6 записываем процедуру Textbackground, которая устанавливает цвет для фона, на котором будет выводиться текст. После записи слова Textbackground в скобках указывается значение. Мы указали значение 14. Это число соответствует желтому цвету в палитре цветов Паскаля. Ниже находится таблица, в которой указаны все 16 цветов, входящих в палитру цветов Паскаля.

В строке №7 записываем процедуру Textcolor. Эта процедура устанавливает цвет для выводимого на экран текста. После записи Textcolor в скобках записываем значение 1, что соответствует синему цвету.

palitra tsvetov v Pascal

Строка №8. Выводим на экран сообщение.

Теперь набрем программу в Паскале и запустим ее.

textbackground textcolor window

textbackground textcolor window.

У нас выводится сообщение. Обратите внимание, что оно выводится не в начале экрана, а в начале невидимого экрана, определенного процедурой Window. Кроме того, сообщение выводится, синим цветом, на желтом фоне. Это действие Textbackground и Textcolor.

Дополнение к материалу.

CRT – английская аббревиатура, которая обозначает электронно-лучевую трубку. Таким образом, название модуля Crt подчеркивает, что он умеет управлять способами вывода на экран.

Оформление текста на экране в Паскаль

Оформление текста на экране в Паскаль

Оформление и разметку текста используют довольно редко , однако бывают случаи , когда они вам пригодятся.

Возможно , когда-нибудь вы столкнетесь с такой задачей : как оформить текст в паскале.

В данной статье вы узнаете о том , как изменить цвет текста , как добавить цветной фон , как очистить экран и т.д.

Модуль crt

Для всех ниже приведенных функций требуется подключать дополнительный модуль crt. Подключать его нужно в блоке uses :

program mypascal;
uses crt;

Если вы не подключите данный модуль , то функции по оформлению текста не будут работать.

После того , как вы его подключите , программа будет работать в новом окне размером 80×25. Представлять такое окно можно как таблица в 25 строк и 80 столбцов.

Рабочее окно программа в модуле crt

GotoXY

Когда мы выводим текст на экран , то курсор находится в координате 1,1 ( столбец-1 , строка-1 ). Но для того , чтобы изменить место положение выводимого текста , в паскале предусмотрена функция gotoxy.

program mypascal;
uses crt;
begin
gotoxy(25,5);
writeln(‘Hello’);
end.

Применение gotoxy

TextColor

Стандартно , в языке программирования паскаль текст выводится строго черным цветом , но его также можно изменить. Изменить цвет текста можно командой textcolor. Чтобы изменить цвет текста требуется использовать команду textcolor(red) , а в скобках указать цвет ( например red ). В скобках можно использовать название цвета , а также код цвета.

Но стоит помнить , что команда textcolor не меняет весь текст на экране ,а только тот , который выводится после этой команды.

program mypascal;
uses crt;
begin
writeln(‘Hello’);
textcolor(green);
writeln(‘Hello’);
end.

Применение textcolor

Результат выполнения данной программы будет выглядеть примерно так :

Clrscr

Функция clrscr стирает весь текст , который был выведен на экран до использования данной функции. Также с помощью неё можно закрасить экран в определенный цвет. О том как это сделать читайте далее.

TextBackGround

Тексту также можно задавать цвет фона. Фон для текста задается командой textbackground. В скобках , в аналогии с textcolor можно указывать имя или код цвета.

program mypascal;
uses crt;
begin
writeln(‘Hello’);
textbackground(green);
writeln(‘Hello’);
end.

Применение textbackground

Результат выполнения данной программы будет выглядеть так :

С помощью данной команды можно задать фон всему рабочему окну программы,
Сделать это можно так :

program mypascal;
uses crt;
begin
textbackground(green);
clrscr;
writeln(‘Hello’);
writeln(‘Hello’);
end.

В данном случае всё окно рабочей программы будет окрашено в зеленый цвет.

Delay

С помощью команды delay можно остановить программу на определенное количество времени . Это время указывается в скобках в мкс.

program mypascal;
uses crt;
begin
delay(1000);
writeln(‘Hello’);
end.

В данном случае на экран будет выведено сообщение «hello» с задержкой 1000 мкс.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *