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

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

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

Widok (09-10-2007 14:48): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104

   

Spab



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

A free source code editor for Win32 and X
Русскоязычный форум поддержки

  • Один из самых настраиваемых текстовых редакторов из ныне существующих. Настраивается практически все.
  • Индивидуальная подсветка для разных языков програмирования, фолдинг для классов, функций и структур, авто-дополнение, и т.д. и т.п. ...
     
  • Scite-interest -- Discussion of the SciTE editor
  • Русский сайт SciTE (документация, FAQ, снимки экрана, утилиты, скрипты и т.д. и т.п....)
  • Мечта кодера. статья
  • Burgaud.com - US.SciTE
  • SciTE: Scintilla Text Editor with Extensions
  • Filerx, SideWinder
  • ......
     
       
  • Project file releases
  • Project summary (including basic statistics)
  • Новости со SciTE.ru
     
    Последняя версия редактора - SciTE 1.74
     
    SciTE 1.74 .52Ru-Board Edition [Сборка 20.09.2007]
    Oписание: сборки ядра  
     
    Дружественная тема: Доработка исходного кода и компилирование сборки Ru-Board Edition
     
    Нерешенные задачи и вопросы ( Для умных и талантливых форумчан )
     
    P.S. Если вы используете SciTE для своих нужд, таких как: написание HTML, CSS, Java Script, PHP и др. кода для сайта, или просто вам нравится этот редактор, поставьте пожалуйста ссылку или баннер на сайт - http://scite.ruteam.ru, благодаря этому у сайта повышается индекс цитирования, соответственно увеличивается количество пользователей редактора.

  • Всего записей: 64 | Зарегистр. 02-09-2001 | Отправлено: 03:05 04-06-2002 | Исправлено: mozers, 13:45 04-10-2007
    unreal666



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

    Цитата:
    Я вообще думал что сам догадаешся...

    Я вообще предполагал, что нужно создавать какую-то переменную, связанную с событиями. Но я не знаю, какие события вообще есть в Скайте.
    Где взять список этих стандартных событий?
     
    Еще вопрос
    Где устанавливается максимальная длина строки состояния? А то у меня уже не влазит в строку состояния всё нужное мне.
     
    И надо как-то поправить исходники Скайта, что при поиска русских слов он искал без учета регистра.
     
    mozers
    Сделал все как ты написал. Нифига не показывает текущий лексер. Просто пустые [] выводятся.  
     
    ЗЫ. Функцию OnUpdateUI() тоже добавил в SciTEStartup.lua.


    ----------
    ASUS M4A77TD / Phenom II X6 1055T / RAM 12Gib / 6 HDD = 6Tib / Radeon RX 560 2Gib / Win 7 x64 // POB, PVD
    * Не называть меня на Вы, только на ты.

    Всего записей: 6598 | Зарегистр. 14-02-2005 | Отправлено: 12:55 20-09-2006 | Исправлено: unreal666, 13:11 20-09-2006
    mozers



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Билин! Какой Moon_aka_Sun хитрый! Он сделал оказывается, то, чего я так добивался от Нейла и его отказ вынудил меня написать скрипт для автодополнения!
    Его SciTE позволяет использовать точку в качестве символа запускающего автодополнение! Таааак... Интересно... Копаем дальше... Как ты это сделал?....

    Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 13:19 20-09-2006
    gansA

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

    Цитата:
    А со мной поделился кодом Мишель Форал. Теперь из встроенного LUA можно выполнять команды вида  scite.MenuCommand(IDM_WHATEVER)  

    Вот это действительно мощная вещь ))))
    Тока где применять её практически хз , можно пару примеров.
     

    Всего записей: 51 | Зарегистр. 07-12-2004 | Отправлено: 13:21 20-09-2006
    mozers



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

    Цитата:
    Где взять список этих стандартных событий?
    \SciTE\help\SciTEExtension.html

    Цитата:
    Еще вопрос  
    Где устанавливается максимальная длина строки состояния?
    Это не вопрос, а пожелание (я так же присоединяюсь) для наших программистов
    Можно, конечно, писать не в statusbar.text.1 а в statusbar.text.2 или в другие, но как то кликать по статусбару мне обломно

    Цитата:
    Нифига не показывает текущий лексер
    Все должно работать. Что то ты не так сделал. Вставь в OnUpdateUI че нить типа print("test") и погляди. Потом замени на props["lexer.name"]=test . Ну и т.д.... У меня - работает - значит и у тебя будет.
     
     
    Добавлено:
    gansA
    Даже не знаю... (С новыми идеями - вообще туго). Мне это понадобилось для того чтобы автоматизировать переключение раскраски С++ со стандартной на ту классическую, что сделал mimir. Как выяснилось, добавление строчки import languages\cpp_style_classic_ ничего не дает - надо обязательно сохранить измененный файл. Как??? Сейчас - запросто:
    Код:
    scite.MenuCommand(106)


    Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 13:46 20-09-2006
    unreal666



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mozers
    Нашел, где была проблема. Просто оказывается у меня уже была такая функция, а я создал такую же в начале файла.
    Перенес props["lexer.name"] = GetLexerName() в существующую функцию и все стало ОК.
    Сенкс.

    ----------
    ASUS M4A77TD / Phenom II X6 1055T / RAM 12Gib / 6 HDD = 6Tib / Radeon RX 560 2Gib / Win 7 x64 // POB, PVD
    * Не называть меня на Вы, только на ты.

    Всего записей: 6598 | Зарегистр. 14-02-2005 | Отправлено: 14:12 20-09-2006
    Jus

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mozers
    calltip.pyton.parameters.start= (  
    autocomplete.pyton.start.characters=.
    Установленны уже изначально - вот как раз то когда вставляешь точку в код Питона список автодополнения не появляется, а если его принудетельно вызвать то этот список явно не полный...
    Прошу прощения, а как отключить скрипт с алгоритмом автозаполнения?

    Всего записей: 18 | Зарегистр. 30-04-2003 | Отправлено: 15:44 20-09-2006
    mozers



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Jus
    Я же выше написал, что дело - не в этом! Просто Moon_aka_Sun правил код чтобы точка срабатывала! В оригинале она не работает или работает только со скриптом (который надо маленько настроить).
    Тот список, что появляется по Ctrl+Enter не зависит ни от скрипта ни от кода (только от api-файла)  
    Вообще то я подключил python.api от Moon_aka_Sun (он действительно значительно полнее). И теперь у меня по Crll+Enter возникает классический список автодополнения, а при записи вида operator. после нажатия на точку - срабатывает скрипт и возникает список свойств/методов operator.
     
    Добавлено:
    Добил список Нерешенные задачи и вопросы.
    Вообще то если бы в меню Language (Lexer) ставились галочки при выборе пункта, то вопроса unreal666 могло бы и не быть...

    Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 15:58 20-09-2006 | Исправлено: mozers, 17:30 20-09-2006
    Moon_aka_Sun



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

    Цитата:
    (про вызов ехе без создания окна) Или Луу саму модифицировать
    Оказалось проще всего. Сделал os.execute через CreateProcess и теперь у него три параметра - cmd_line, start_path, flags. Естественно, для совместимости можно не указыать второй и третий параметры. В flags можно, напрмер, написать 134217728, что есть 0x08000000 (Луа 5.0.2 не понимает хекс) или, по-человечески, CREATE_NO_WINDOW (см. документацию по CreateProcess). Будет в следующем билде
     
    mozers написал:

    Цитата:
    Как
    Хм. Скорее всего, не знаю. Я в этом не копался. Может М.Форал что-то менял, я у него брал некоторые изменения. Или ещё кто. А разве точка раньше не работала?
     
    Я помню, что раньше беда с числами была. Набираешь 1. и можно уходить за кофе - SciTE собирал дополнение со всего python.api, который был у меня под 1.5 мегабайта. Сейчас - лучше: 1) на числа автодополнение не реагирует, 2) разумно всё-таки разбить питоновский api на части, которыми действительно пользуешься и части, которые представляют чисто академический интерес.
     

    Цитата:
    Как бы увеличить допустимую длину строки в параметре
    Очень похоже, что это ограничения (или скорее, умолчания) Виндовс.
     
    В месте создания статусбара он "делится" на одну часть о четырёх тысячах пикселей:
        ::SendMessage(reinterpret_cast<HWND>(wStatusBar.GetID()),
                      SB_SETPARTS, 1,
                      reinterpret_cast<LPARAM>(widths)); // тут { 4000 }
     
    SciTE просто берёт, что ему дают (s) и передаёт дальше:
        ::SendMessage(reinterpret_cast<HWND>(wStatusBar.GetID()),
                      SB_SETTEXT, 0, reinterpret_cast<LPARAM>(s));
     
    3/4 ширины окна, если не больше, отданы под сообщение.
     
    Другое дело, что можно было бы переключение статусбара на клавишу навесить - надо обработку NM_CLICK в SciTEWinBar.cxx превратить в функцию, добавить IDM_команду и т.д. и т.п.

    Всего записей: 60 | Зарегистр. 20-04-2005 | Отправлено: 19:51 20-09-2006
    mozers



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Moon_aka_Sun
    Цитата:
    Сделал os.execute через CreateProcess  
    Вах, молодец! Интересно, а на nix-ах это будет работать?

    Цитата:
    А разве точка раньше не работала?
    А ты попробуй (только чтобы всплывающая подсказка при этом не пропала) У меня - так и не получилось. Вот написал скрипт - теперь радуюсь - родное автодополнение как и раньше по ctrl+Enter работает, а мое врубается автоматом как поставишь точку или двоеточие, причем выводит не всю конструкцию как родное, а как путные редакторы - только символы после точки. Попробуй - понравится
    Кстати, подключив твой python.api сразу маленькую ошибочку в скрипте выявил.
    Ща все путем - автодополнение и вплывающая подсказка работают как часы

    Цитата:
    Очень похоже, что это ограничения (или скорее, умолчания) Виндовс
    Может и так Предельное число символов - где то как раз 256.

    Цитата:
    можно было бы переключение статусбара на клавишу навесить  
    Нахрена? Если мышой лень тыкать? Имхо - не стоит. Лучше подумать о том так ли уж необходима вся представленная инфа именно на 1й статусной строке. Может проще перенести ее на следующую?
    А в случае с unreal666 идеальным решением было бы проставление галок в меню напротив выбранного лексера.
     
     
    Добавлено:
    Вопрос к знатокам LUA
    Есть таблица со значениями, я ее отсортировал
    Код:
    table.sort(my_table)
    как теперь мне из нее удалить все повторяющиеся строки, чтобы остались только уникальные? Можно как нить 1 оператором это сделать? (а то чето у меня очень громоздко получается)

    Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 22:11 20-09-2006
    Moon_aka_Sun



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

    Цитата:
    Интересно, а на nix-ах это будет работать?
    Нет, конечно. Там что-то другое должно быть. Я оттуда только fork знаю А, вспомнил, там spawn* и exec* есть. Но cmd.exe они не запускают. В общем, там всё по-другому. Может им и старого os.execute хватало.
     

    Цитата:
    Лучше подумать о том так ли уж необходима вся представленная инфа именно на 1й статусной строке. Может проще перенести ее на следующую?
    У меня две строки. Вполне счастлив. Это я так, для поддержания беседы написал
     

    Цитата:
    автодополнение
    Автодополнения я сейчас как следует не проверял. Помню, что в старом (1.68) почему-то не делались многострочные подсказки (но Форал теперь как-то лихо там всё обошёл). Что-то я ещё делал для посказок для констант и модулей, но всё пропало вместе со старым диском.
     

    Всего записей: 60 | Зарегистр. 20-04-2005 | Отправлено: 23:12 20-09-2006
    mozers



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

    Цитата:
    Нет, конечно. Там что-то другое должно быть

    тогда может лучше вместо новой os.execute сделать новый метод типа os.run ? (а то нас люниксоиды побъют).

    Цитата:
    Автодополнения я сейчас как следует не проверял. Помню, что в старом (1.68) почему-то не делались многострочные подсказки (но Форал теперь как-то лихо там всё обошёл).  
    Я - про раскрывающийся список с автодополнением, а ты - про вплывающие подсказки!
    А Форал действительно поступил элементарно просто - включил в список символов разрешенных в тексте подсказки \n и все
     
    Ща все таки собрался и доделал SciTE.Helper (COM-сервер для управления SciTE).
    Добавил всего один метод - Send. Смысл его в том что он с помощью SciTE Director Interface посылает Скайту команду (их достаточно много) и читает полученный результат. (Подробности - в файле SciTEDirector.html в дистрибутиве Скайта). С отсылкой проблем нет - все отправляется и послушно выполняется подопытным Скайтом. С получаемыми от Скайта - данными - такая комедия...
    Ща пробую... Смеюсь и плачу...
    Если кто хочет посмеятся (а еще лучше истолковать результат) - выложу

    Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 00:21 21-09-2006
    vladvro



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

    Цитата:
    Во-первых - поздравляю с регистрацией!

    Ага, спасиб, только правильние было бы поздравлять с первым сообщением, зарегистрировался я (как сам с удивлением выяснил!) с полгода назад

    Цитата:
    Может быть тебя заинтересуют какие то из еще нерешенных вопросов ? (в шапке)

    Может, особенно если пересекутся с моими пожеланиями в расширении функционала

    Цитата:
    А насчет макросов я, честно говоря, до конца не въехал...
    Где же они хранятся? С именами - ясно, а сами команды? Можно ли их выудить из памяти и записать в файл?  

    Хранятся в глобальной переменной glb_macros_table в виде таблицы.
    Извлекаются без проблем, предлагаю вашему вниманию функции для извлечения из памяти в текущий буфер (MacroFillToBuffer) и загрузку из выделенного текста (MacroLoadFromSelection),

    Код:
    function MacroFillToBuffer ()
        for i,macro in glb_macros_table do
            editor:BeginUndoAction()
            editor:append("\n--- record"..i.." ---\n")
            for _,val in macro do
                local c,lp,wp = unpack(val)
                editor:append(c..";"..wp..";"..lp.."\n")
            end
            editor:EndUndoAction()
        end
    end
     
    function MacroLoadFromSelection ()
        local macro = {}
        local text = editor:GetSelText().."\n"
        for str in string.gfind(text, "([^\n]*)[\n]") do
            if string.sub(str, 1, 3) == "---" then
                MacroAddToList(macro)
                macro = {}
            else
                for c,wp,lp in string.gfind(str, "(%d+);(%d+);(.*)") do
                    table.insert(macro, {c,lp,wp})
                end
            end
        end
        MacroAddToList(macro)
    end
     
    function MacroAddToList (macro)
        if table.getn(macro) > 0 then
            table.insert(glb_macros_table, 1, macro)
            while table.getn(glb_macros_table) > MAX_MACRO_RECORDS do
                table.remove(glb_macros_table)
            end
        end
    end
     

     
    Можно сделать текстовое представление более читаемым, если добавить преобразование кода в название функции.
    Думаю что я сделаю это в ближайшее время и выложу обновление на сайт.

    Всего записей: 281 | Зарегистр. 05-04-2006 | Отправлено: 09:48 21-09-2006 | Исправлено: vladvro, 09:51 21-09-2006
    mozers



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    vladvro
    Цитата:
    функции для извлечения из памяти в текущий буфер (MacroFillToBuffer) и загрузку из выделенного текста (MacroLoadFromSelection),  
    Круть! Работает
    Только с порядком как то нелогично. Последний записанный макрос получает 1 номер. Первый - последний. При добавлении - то же... Поправить бы...

    Цитата:
    Можно сделать текстовое представление более читаемым, если добавить преобразование кода в название функции.
    Вообще - мечта    
    Записал нужную последовательность действий, маленько отредактировал, заменив конкретные буквы и цифры на переменные, добавил цикл по условию - вот и готово очередное средство автоматизации - запускай где хошь и когда хошь только входные параметры меняй
     

    Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 14:31 21-09-2006
    St_MPA3b



    Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Отличная прога
     
    А вот оболочка для настроек: http://sourceforge.net/projects/tsct/
     
    Добавлено:
    Даже так
    http://sourceforge.net/project/showfiles.php?group_id=152041&package_id=169261

    Всего записей: 365 | Зарегистр. 02-03-2005 | Отправлено: 22:47 21-09-2006
    Jus

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

    Цитата:
    Кстати, подключив твой python.api сразу маленькую ошибочку в скрипте выявил.

    Обновленный скрипт где можно взять? или подскажи где и что поправить.
     
    Скрипт gen_python_api.py для генерации python.api можно скачать тут:
    http://www.scintilla.org/gen_python_api.zip
    http://scintilla.sourceforge.net/gen_python_api.zip

    Всего записей: 18 | Зарегистр. 30-04-2003 | Отправлено: 09:04 22-09-2006 | Исправлено: Jus, 08:36 25-09-2006
    vladvro



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

    Цитата:
    Только с порядком как то нелогично. Последний записанный макрос получает 1 номер. Первый - последний. При добавлении - то же... Поправить бы...

    Согласен с порядком не логично получилось
    В новой версии порядок идет четко по возрастающей, можно выбрать куда в списке будут добавлятся новые записанные макросы, за это отвечает параметр MACRO_LIST_NEW_RECORDED_POS
    кроме того при загрузке макросов считываются и их имена, можно задать любое состоящее из букв, цифр и подчерка.
    Новая версия выложена взамен старой:
    http://scite.ruteam.ru/scite/realizaciya-zapisi-makrosov-s-pomoschyu-lua
     

    Цитата:
    Записал нужную последовательность действий, маленько отредактировал, заменив конкретные буквы и цифры на переменные, добавил цикл по условию - вот и готово очередное средство автоматизации - запускай где хошь и когда хошь только входные параметры меняй  

    Сперва я такую возможность даже не рассматривал, макросы на это не расчитаны, там нет управляющих конструкций (циклы, условия), да на мой взгляд и не особо нужно, всегда же можно написать функцию на Луа.
    Но посмотрев на то, что получается в тектовом представлении макроса, решил что можно формировать и Луа скрипт, который можно уже использовать для написания своих функций, правда понятно что обратно в макрос это уже не загрузить

    Всего записей: 281 | Зарегистр. 05-04-2006 | Отправлено: 13:29 22-09-2006
    Grisper

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Многострочные подсказки в SciTe:
    \scite\src\SciTEBase.cxx  
    находим  
    SendEditorString(SCI_CALLTIPSHOW, lastPosCallTip - currentCallTipWord.length(), functionDefinition.c_str());
    вставляем перед ней
    functionDefinition.substitute("\\n", "\n");
    всё.
     
    идея Форала...
    пересобрал бы кто .RU сборку с этой фичей....

    Всего записей: 52 | Зарегистр. 21-01-2006 | Отправлено: 16:05 22-09-2006
    mozers



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Jus
    Цитата:
    Обновленный скрипт где можно взять? или подскажи где и что поправить.

    Код:
    local end_str = string.find(str_method,'[^a-zA-Z_]')
    подчеркивание добавил
    в python_.properties (только исправленные строки):
    Код:
    # Символы, после ввода которых возникает подсказка
    calltip.python.parameters.start= (
    # Символы - разделители параметров
    calltip.python.parameters.separators=,
     
    # Символ, после которого включается автодополнение
    autocomplete.python.start.characters=.
     
    # Символы, из которых строятся операторы языка (используется для всплывающей подсказки)
    calltip.python.word.characters=$(chars.alpha)$(chars.numeric)_-.
     
     
    vladvro
    Качаю...    
     
    Grisper
    В новой сборке будет столько фич, что эта среди них - затеряется
    Потом, поскольку перенос надо вставлять вручную, то надо все api файлы ревизировать и вставлять \n где это необходимо...
    Не люблю обещать (а вдруг в выходные загрузят?) но постаряюсь на следующей неделе выложить новую сборку...

    Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 17:27 22-09-2006
    mozers



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ядро 1.71 .17Ru
    Source: SciTE_171_17Ru_src.rar [185kB] (только измененные файлы)
    EXE + DLL: SciTE_171_17Ru.rar [375kB]
    Список всех доработок: Version_Changes.txt
     
    Компилировал в Visual Studio .NET 2003. Размер EXE и DLL получился поменьше и тот хитрый скрипт о котором я уже говорил не вызывает теперь крушения SciTE
     
    Со сборкой ситуация хуже. Слишком много чего хотелось бы исправить и добавить. Не успел пока оформить все по человечески...

    Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 13:22 25-09-2006
    Grisper

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

    Код:
     
    keywordclass2.lua4=word1 \
    word2 word3 \
    <пустая строка>
    word4 \
    word5
     

    после word3 всё отваливается. с предыдущим работает нормально

    Всего записей: 52 | Зарегистр. 21-01-2006 | Отправлено: 16:00 25-09-2006
       

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104

    Компьютерный форум 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.Board
    © Ru.Board 2000-2020

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru