Александр К писал(а):
Как в рабочий журнал вывести жирную или подчёркнутую надпись? Как вывести другим шрифтом?
Это не очень просто, так как базовая реализация журнала не имеет специальных команд для изменения цвета или шрифта. Однако это возможно сделать, и пример есть в модуле LibFmtrs подсистемы Lib (
http://www.zinnamturm.eu/downloadsIN.htm#Lib).
Накидал небольшое демо, чтобы было понятно как это делать:
Код:
MODULE Demo;
IMPORT StdLog, Log, TextMappers, TextModels, Ports;
PROCEDURE ColorLog*;
VAR f: TextMappers.Formatter;
BEGIN
Log.FlushBuf; (* выводим буфер журнала *)
f.ConnectTo(StdLog.text); (* подключаемся к тексту журнала *)
f.rider.SetAttr(TextModels.NewColor(f.rider.attr, Ports.red)); (* ставим красный цвет в свойства форматтера *)
f.WriteString("красная строка"); (* выводим текст *)
f.WriteLn;
Log.FlushBuf; (* на всякий случай опять выводим буфер журнала *)
StdLog.String("черная строка"); StdLog.Ln;
END ColorLog;
END Demo.
Предлагаю в качестве тренировочного задания Вам написать свою версию StdLog. Назвать ее ExtLog (Extended Log) с поддержкой разных шрифтов, разных цветов и т.п.