Вывожу собщение об ошибке:
io.write("Error code: " .. ErrorCode);
Хочу, чтобы оно было красным. Можно как то добиться?
Как сменить цвет при выводе io.write
-
- Posts: 6839
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Как сменить цвет при выводе io.write
Видимо можно разными способами (точно можно, используя FFI).
Вот пример, использующий приложенную библиотеку cons (положить в %farprofile%\Macros\lib32 или lib64)
Вот пример, использующий приложенную библиотеку cons (положить в %farprofile%\Macros\lib32 или lib64)
Code: Select all
local cons = require "cons"
local GRAY = 0x07
local RED = 0x0C
local hndl = cons.GetStdHandle("STD_OUTPUT_HANDLE")
hndl:SetConsoleTextAttribute(RED)
io.write("Hello\n")
hndl:SetConsoleTextAttribute(GRAY)
io.write("Hello\n")
Как сменить цвет при выводе io.write
Shmuel, А исходников нету от этого?
Как другой вариант, при наличии ansicon.exe:
получится смишно
Как другой вариант, при наличии ansicon.exe:
lua:far.Timer(100, function(sender) io.write(string.char(27).."[35;1mX") end)
получится смишно
Last edited by citRiks on Wed 19 May, 2021 12:00, edited 1 time in total.
-
- Posts: 3651
- Joined: Wed 23 Nov, 2005 11:11
- Location: Москва-Питер
- Has thanked: 2 times
- Been thanked: 19 times
Как сменить цвет при выводе io.write
Спасибо, все получилось.
Использую в макросе Edt-Run.lua, удобен для активной работы с консольными утилитами.
Использую в макросе Edt-Run.lua, удобен для активной работы с консольными утилитами.
-
- Posts: 6839
- Joined: Thu 23 Mar, 2006 21:36
- Location: Israel
- Has thanked: 41 times
- Been thanked: 530 times
Как сменить цвет при выводе io.write
Max Rusov, ваш скрипт можно немного укоротить:
1. Убрать condition и SuitableFile(), вместо этого добавить
Этот вариант лучше ещё и тем, что поддерживается система масок Фара (несколько масок, маски исключения, регулярные выражения).
2. Пять строчек, начиная от "if res == 0", можно заменить на одну:
1. Убрать condition и SuitableFile(), вместо этого добавить
filemask="*.txt"
.Этот вариант лучше ещё и тем, что поддерживается система масок Фара (несколько масок, маски исключения, регулярные выражения).
2. Пять строчек, начиная от "if res == 0", можно заменить на одну:
SetColor(res==0 and GREEN or RED)