Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » SciTE - Open Source Text Editor for Windows & Linux

Модерирует : gyra, Maz

Widok (09-10-2007 14:48): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

vladvro



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
local STYLES = {
    [1] = {color="008000"},
    [2] = {color="008000"},
    [4] = {color="AC00A9"},
    [5] = {color="0000DF"},
    [6] = {color="9999CC"},
    [7] = {color="9999CC"},
    [10] = {color="FF0000"},
    [13] = {color="0080C0"},
    [14] = {color="8000FF"},
    [15] = {color="0080C0"},
    [16] = {color="660000"},
    [17] = {color="B35900"},
    [18] = {color="408080"},
    [19] = {color="AAAA00"},
}
 
local new = ""
local text = editor:GetSelText()
local start = editor.SelectionStart - 1
local len = string.len(text)
local bold,color = false,nil
for i = 1, len do
    local sid = scite.SendEditor(SCI_GETSTYLEAT,start+i)
    local style = STYLES[sid]
    if style == nil then
        if color ~= nil then
            new = new.."[/color]"
            color = nil
        end
        if bold then
            new = new.."[/b]"
            bold = false
        end
    else
        if color ~= style.color and color ~= nil then
            new = new.."[/color]"
        end
        if bold and not style.bold then
            new = new.."[/b]"
            bold = false
        end
        if not bold and style.bold then
            new = new.."[b]"
            bold = true
        end
        if color ~= style.color then
            new = new.."[color="..style.color.."]"
            color = style.color
        end
    end
    new = new..string.sub(text,i,i)
end
-- update
local ss = editor.SelectionStart
editor:ReplaceSel(new)
editor:SetSel(ss, ss+string.len(new))

конвертирует выделенный текст в форматированный текст форума, используя синтаксическую подсветку самого редактора (номер стиля) и таблицу цветов STYLES
 
ремарки по использованию:
 - сам текст скрипта раскрасить не получается, т.к. нет возможности заэкранировать встречающиеся в нем теги форматирования
 - в таблице цветов можно задать жирный шрифт: bold=true (например: [1] = {color="008000",bold=true}), но мое личное мнение, что наглядности на форуме это не добавляет.

Всего записей: 281 | Зарегистр. 05-04-2006 | Отправлено: 10:37 19-03-2007 | Исправлено: vladvro, 10:48 19-03-2007
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » SciTE - Open Source Text Editor for Windows & Linux
Widok (09-10-2007 14:48): лимит страниц. продолжаем здесь


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru