сделать стартовой  |  добавить в избранное

   SciTE - редактор кода для программистов

Архив SciTE-форума


Автор: mozers, Отправлено:01:10 18-09-2009
Real Root
Цитата:
Вы в этом уверенны? Или просто сдлали предположение совершенно не вникая почему так?
Это - мое первое предположение. Извини, но в код я не вникал...
Я, к сожалению, в отличии от наших отмалчивающихся специалистов, код с листа не читаю и программистом никогда не был. Зачастую мне проще написать заново чем въехать в чужой алгоритм.
Но если уж так "очень нужно" то попробую помочь... (Быстро только, увы, не получится).

chitatel2
Цитата:
то команда на компиляцию может, например, выглядеть так
g95 -c "c:\dir 1\prog1.f95" "c:\dir 2\prog2.f95" "d:\dir 3\prog3.f95"
Если - так, то тогда добавь в SideBar.lua тройку строчек в районе 430 строки и будет тебе щастье
Код:

local favorites_name = ''
for _, s in ipairs(list_fav_table) do
list_favorites:add_item(s:gsub('.+\\',''), s)
favorites_name = favorites_name..'"'..s..'" '
end
props['favorites_name']=favorites_name

Автор: Real Root, Отправлено:01:29 18-09-2009
ALeXkRU

Цитата:
так, может, просто символ в тексте перепутан? вместо 'эр' используется латинская 'пэ' ?
на других текстах проверялось?



Все гениальное просто! Спасибо большое, а то я уже lua начал учить
Честно говоря, о вашей версии даже не задумывался

Всех прошу простить за переполох

Добавлено:
mozers

Цитата:
Но если уж так "очень нужно" то попробую помочь... (Быстро только, увы, не получится).

Впорос решен. Оказывается в оригинальном тексте, вместо русской Р использовалась английская P
В любом случае, и Вам тоже большое спачибо за участие.

ALL
Кстати, а на LUA не существует скриптов для смены кодировки. Например 1251 -> UTF8 или KOI8-R и обратно. Просто в данный момент перекодировка работает через js-скрипт, который требует, чтобы файл был сохранен. И все изменения делаются на оригинале без возможности отката. Что не очень удобно. Если бы код был на LUA, то работал бы откат.
если подобную функциональность на LUA реализовать проблематично, то можно пойти другим путем: Сдлеать так, что бы recode.js вызывался скриптом написанном на lua, а все изменения производились не на оригинальном файле, а на временном (temp-файле), и уже результат, с помощью lua возвращался в основное окно программы. Сам такое пока не осилю, если есть кто сможет сделать - пожалуйста сделайте. Делаю свою сборку на все случаи жизни для PE-системы

Всем еще раз спасибо за внимание.
Автор: chitatel2, Отправлено:10:37 18-09-2009

Цитата:
local favorites_name = ''
for _, s in ipairs(list_fav_table) do
list_favorites:add_item(s:gsub('.+\\',''), s)
favorites_name = favorites_name..'"'..s..'" '
end
props['favorites_name']=favorites_name


Реакция SciTe на скрипт получилась такой. После отбора файлов в Favorites,
переменная favorites_files остается пустой. Поэтому команда компиляции выполняется без
отобранных файлов. Отобранные файлы в переменной появляются только
после выхода из SciTe (файлы должны остаться в Favorites) и последующего его запуска. В этом случае команда компиляции выполняется с отобранными файлами Favorites на предыдущем запуске. Но в SideBar, в окне Favorites, появляются продублированные файлы из предыдущего запуска.

Получается, работать с таким скриптом можно, но только со второго запуска и
перед выходом из SciTe надо не забыть удалить продублированные файлы.

Можно ли устранить дублирование файлов? И запускать компиляцию
сразу после отбора файлов в окно Favorites?
Тогда работа с окном Favorites будет чем-то аналогична работе с файлами проекта,
принятой во многих GUI систем программирования.
Автор: TymurGubayev, Отправлено:11:08 18-09-2009
Real Root
я когда-то писал на Луа перекодировщик как модуль.
Понимает win, dos, koi8r и русский utf8
И плюс одна специфическая кодировка для телнета: win с большой Я.
Ссылка: http://luams.googlecode.com/svn/trunk/libs_l/encode.lua
пользоваться так:
require 'encode'
print( encode('somestringin WIN', 'win', 'dos') )

Да, оно требует lpeg, но только для utf, емнип.
UPD: Нет, не так. Я переделал под lpeg, и utf будет только с ним работать. Но если utf не нужен, то несложно вернуть назад, старый код просто закомментирован: 17-23 строки
Автор: Real Root, Отправлено:13:35 18-09-2009
TymurGubayev

Цитата:
require 'encode'
print( encode('somestringin WIN', 'win', 'dos') )

Я так и не понял, как его подключить к меню tools.
А точнее заменить recode.js ра encode.lua

Пробовал так (по прмеру вызова других скриптов):

Код:
command.parent.21.*=21
command.name.21.*=OEM 866 #2
command.21.*=dofile "$(SciteDefaultHome)\tools\encode.lua" win dos
command.mode.21.*=subsystem:lua,savebefore:no

Не не прокатило.

Приведите пример пожалуйста, если это Вас не затруднит.
Спасибо
Автор: mozers, Отправлено:16:11 18-09-2009
ALeXkRU перевел последние новшества SciTE.
Прошу всех кто соображает внести свои коррективы до публикации в сборке.

Цитата:
Release 2.01
Released on 19 August 2009.

Версия 2.01 от 19 августа 2009 г.


Fix to positioning rectangular paste when viewing line ends.
Исправлено размещение прямоугольной области при вставке в конце просматриваемой строки.

Don't insert new lines and indentation for line ends at end of rectangular paste.
Не вставляются новые строки и отступы для концов строки в конце прямоугольной вставки.

When not in additional selection typing mode, cutting a rectangular selection removes all of the selected text.
(!!) Когда в режиме ввода нет дополнительного выделения, вырезание прямоугольного выделения удаляет весь выделенный текст.

Rectangular selections are copied to the clipboard in document order, not in the order of selection.
Прямоугольные выделения копировались в буфер обмена в порядке размещения в тексте, а не в порядке выбора.

SCI_SETCURRENTPOS and SCI_SETANCHOR work in rectangular mode.
SCI_SETCURRENTPOS и SCI_SETANCHOR работают в режиме прямоугольного выделения.

On GTK+, drag and drop to a later position in the document now drops at the position.
В GTK+ перетаскивание в более позднюю позицию документа теперь вставляется в указанное место.

Fix bug where missing property did not use default value.
Исправлена ошибка, при которой для пустых параметров не использовались значения по умолчанию.


Release 2.0
Released on 11 August 2009.

Версия 2.00 от 11 августа 2009 г.


Multiple pieces of text can be selected simultaneously by holding control whil dragging the mouse. Typing, backspace and delete may affect all selections together.
С помощью мыши и клавиши Ctrl можно выделить нескольких несмежных частей текста. Ввод символов, нажатие на BackSpace или Delete может действовать одновременно на все выделенные области.

Virtual space allows selecting beyond the last character on a line.
Виртуальные пробелы позволяют устанавливать каретку правее последнего символа в строке.

SciTE on GTK+ path bar is now optional and defaults to off.
В GTK+ индикатор текущего пути (path bar) теперь опционален и по умолчанию выключен.

MagikSF lexer recognises numbers correctly.
Лексер MagikSF корректно распознает числа.

Folding of Python comments and blank lines improved. Bug #210240.
Улучшена свертка пустых строк и комментариев в Python. (ошибка #210240)

Bug fixed where background colour of last character in document leaked past that character.
Исправлена ошибка с исчезновением фонового цвета последнего символа в документе.

Crash fixed when adding marker beyond last line in document. Bug #2830307.
Ликвидировано падение SciTE при добавлении маркера ниже последней строки в документе. (ошибка #2830307)

Resource leak fixed in SciTE for Windows when printing fails. Bug #2816524.
Ликвидирована утечка ресурсов в SciTE для Windows при неудачной печати документа. (ошибка #2816524)

Bug fixed on Windows where the system caret was destroyed during destruction when another window was using the system caret. Bug #2830223.
Исправлена ошибка в Windows, при которой системная каретка (курсор) уничтожалась во время уничтожения, если другое окно использует системную каретку. (ошибка #2830223)

Bug fixed where indentation guides were drawn over text when the indentation used a style with a different space width to the default style.
Исправлена ошибка, при которой направляющая линия отступов рисовалась поверх текста, если отступ использовал стиль с другой шириной просветов, чем в стиле по умолчанию.

SciTE bug fixed where box comment added a bare line feed rather than the chosen line end. Bug #2818104.
В SciTE исправлена ошибка, при которой блок комментариев добавлял пустой перевод строки вместо конца выбранной строки. (ошибка #2818104)

Reverted fix that led to wrapping whole document when displaying the first line of the document.
Восстановлено исправление, приводившее к свертке всего документа при отображении первой строки документа.

Export to LaTeX in SciTE fixed to work in more cases and not use as much space. Bug #1286548.
При экспорте из SciTE в LaTeX исправлена работа в большинстве случаев и не используется столько места. (ошибка #1286548)

Bug fixed where EN_CHANGE notification was sent when performing a paste operation in a read-only document. Bug #2825485.
Исправлена ошибка, когда уведомление EN_CHANGE отправлялось при выполнении вставки в документ в режиме "только для чтения". (ошибка #2825485)

Refactored code so that Scintilla exposes less of its internal implementation and uses the C++ standard library for some basic collections. Projects that linked to Scintilla's SString or PropSet classes should copy this code from a previous version of Scintilla or from SciTE.
Переработан код Scintilla, чтобы снизить влияние ее внутренней реализации и использовать стандартную библиотеку C++ для некоторых базовых коллекций. В проекты, использующие классы SString или PropSet в Scintilla, необходимо скопировать этот код из предыдущих версий Scintilla или SciTE.


Добавлено:
chitatel2
Цитата:
После отбора файлов в Favorites, переменная favorites_files остается пустой
...
Отобранные файлы в переменной появляются только после выхода из SciTe (файлы должны остаться в Favorites) и последующего его запуска
...
в окне Favorites, появляются продублированные файлы из предыдущего запуска.
Никак не врублюсь как это у тебя получилось У меня все работает как надо...

Автор: Real Root, Отправлено:10:50 19-09-2009
Кстати товарищи, а можно ли как-нибудь SciTE научить определять кодировку при открытии файла. Есть много тектовых редакторов, которые при открытии файлов в 866 кодировке отображают ее соответствующе. Есть ли эта возможность в SciTE?
Автор: mozers, Отправлено:17:27 20-09-2009
Real Root
Вот, доработал маленько CodePage.lua : [more]
Код:
--[[--------------------------------------------------
CodePage.lua
Authors: YuriNB, VladVRO, mozers™
Version: 2.1
------------------------------------------------------
Гибрид 2х скриптов:
win1251 to cp866 keyboard mapper (YuriNB icq#2614215)
Переключатель кодировки текущего ввода и отображения win1251/dos866
Одновременно переключается кодировка окна консоли
и
codepage.lua (VladVRO)
Показ текущей кодировки в статусной строке.

Кроме того, скрипт пытается отличить кодировку cp866 от win1251 при открытии файла или при переключении на него.
Если это удается, то происходит автоматическое переключение отображения и ввода.
------------------------------------------------------
Connection:
In file SciTEStartup.lua add a line:
dofile (props["SciteDefaultHome"].."\\tools\\CodePage.lua")
Set in a file .properties:
command.name.29.*=DOS Mode (cp866)
command.29.*=change_codepage_ru
command.checked.29.*=$(code.page.866)
command.mode.29.*=subsystem:lua,savebefore:no
--]]--------------------------------------------------

local function UpdateToolBar() -- лучшего способа обновить тулбар не нашел
scite.MenuCommand(IDM_TOGGLEOUTPUT)
scite.MenuCommand(IDM_TOGGLEOUTPUT)
end

local function
UpdateStatusCodePage(mode)
props["code.page.866"]='0'
if mode == IDM_ENCODING_UCS2BE then
props["code.page.name"]='UCS-2 BE'
elseif mode == IDM_ENCODING_UCS2LE then
props["code.page.name"]='UCS-2 LE'
elseif mode == IDM_ENCODING_UTF8 then
props["code.page.name"]='UTF-8 BOM'
elseif mode == IDM_ENCODING_UCOOKIE then
props["code.page.name"]='UTF-8'
else
if
props["character.set"]=='255' then
props["code.page.name"]='DOS-866'
props["code.page.866"]='1'
elseif props["character.set"]=='204' then
props["code.page.name"]='WIN-1251'
elseif tonumber(props["character.set"])==0 then
props["code.page.name"]='CP1252'
elseif props["character.set"]=='238' then
props["code.page.name"]='CP1250'
elseif props["character.set"]=='161' then
props["code.page.name"]='CP1253'
elseif props["character.set"]=='162' then
props["code.page.name"]='CP1254'
else
props["code.page.name"]='???'
end
end
UpdateToolBar()
scite.UpdateStatusBar()
end

local function
CharsetDetect(mode)
function CharsetDOS()
return editor:findtext("[\128-\191][\128-\191][\128-\191]", SCFIND_REGEXP, 0)
end
if
mode == IDM_ENCODING_DEFAULT then
if
(props["character.set"]=='204' and CharsetDOS())
or (props["character.set"]=='255' and not CharsetDOS()) then
change_codepage_ru()
end
end
end

-- Добавляем свой обработчик события OnSwitchFile
local old_OnSwitchFile = OnSwitchFile
function OnSwitchFile(file)
local result
if old_OnSwitchFile then result = old_OnSwitchFile(file) end
CharsetDetect(tonumber(props["editor.unicode.mode"]))
UpdateStatusCodePage(tonumber(props["editor.unicode.mode"]))
return result
end

-- Добавляем свой обработчик события OnOpen
local old_OnOpen = OnOpen
function OnOpen(file)
local result
if old_OnOpen then result = old_OnOpen(file) end
CharsetDetect(tonumber(props["editor.unicode.mode"]))
UpdateStatusCodePage(tonumber(props["editor.unicode.mode"]))
return result
end

-- Добавляем свой обработчик события OnMenuCommand
local old_OnMenuCommand = OnMenuCommand
function OnMenuCommand(cmd, source)
local result
if old_OnMenuCommand then result = old_OnMenuCommand(cmd, source) end
if
cmd > 149 and cmd < 155 then -- IDM_ENCODING_DEFAULT, IDM_ENCODING_UCS2BE, IDM_ENCODING_UCS2LE, IDM_ENCODING_UTF8, IDM_ENCODING_UCOOKIE
UpdateStatusCodePage(cmd)
end
return
result
end

-------------------------------------------------------------
-- win1251 to cp866 keyboard mapper
-------------------------------------------------------------

function change_codepage_ru()
scite.MenuCommand(IDM_ENCODING_DEFAULT)
if props["character.set"]=='255' then
props["character.set"]='204'
else
props["character.set"]='255'
end
scite.Perform('reloadproperties:')
UpdateStatusCodePage()
end

local
charset1251to866 =
{
[
168]=240, --Ё
[184]=241, --ё
[185]=252, --№
[192]=128,[193]=129,[194]=130,[195]=131,[196]=132,
[
197]=133,[198]=134,[199]=135,[200]=136,[201]=137,
[
202]=138,[203]=139,[204]=140,[205]=141,[206]=142,
[
207]=143,[208]=144,[209]=145,[210]=146,[211]=147,
[
212]=148,[213]=149,[214]=150,[215]=151,[216]=152,
[
217]=153,[218]=154,[219]=155,[220]=156,[221]=157,
[
222]=158,[223]=159,[224]=160,[225]=161,[226]=162,
[
227]=163,[228]=164,[229]=165,[230]=166,[231]=167,
[
232]=168,[233]=169,[234]=170,[235]=171,[236]=172,
[
237]=173,[238]=174,[239]=175,[240]=224,[241]=225,
[
242]=226,[243]=227,[244]=228,[245]=229,[246]=230,
[
247]=231,[248]=232,[249]=233,[250]=234,[251]=235,
[
252]=236,[253]=237,[254]=238,[255]=239
}

local function Win2DOS(charAdded)
local a1=string.byte(charAdded)
if charset1251to866[a1] ~= nil then
local
pos = editor.CurrentPos
editor:SetSel(pos, pos - 1)
editor:ReplaceSel( string.char( charset1251to866[a1] ) )
end
end

-- Добавляем свой обработчик события OnChar
local old_OnChar = OnChar
function OnChar(char)
local result
if old_OnChar then result = old_OnChar(char) end
if
props["character.set"]=='255' then
Win2DOS(char)
end
return
result
end
[/more] теперь автоматом переключает.
Скажу сразу - скрипт нуждается в доработке (детектирует - посредственно, переключает - ненадежно)... Кому интересно - займитесь...

Добавлено:
Скрипт поправлен. Теперь переключение работает как часы. Что же касается детектирования - предлагайте свои алгоритмы определения кодировки.
Автор: entada, Отправлено:12:16 22-09-2009
Пожалуйста, подскажите новичку, как поставить сборку Ru-Board под линукс [InfraLinux, почти Ubuntu]? Из репозитория скачалась стандарная версия...
Автор: Real Root, Отправлено:14:56 22-09-2009
Товарищи.
Продолжаю пилить SciTE Ru-Board напильником
Можно ли как нибудь ввести различные комментарии для ini, inf и properties файлов.
Тут по всей видимости все программисты. А я сисадмин
Так вот, для inf и ini файлов символом комментария является ;
А для properties - #
Но, в настройках others.properties есть только общая опция комментария для всех файлов.
Как разделить символ комментария, чтоб для каждого типа файла, символ был бы свой?
Автор: mozers, Отправлено:20:13 22-09-2009
entada
На SVN лежат исходники, которые компилятся под gtk.
Работает. Правда, результат будет очень похож на оригинальный SciTE, поскольку многие фичи SciTE-Ru написаны только для Виндов.
Frank Wunderlich нашу сборку периодически переделывает с тем чтобы работать с ней в gtk...

Real Root
Цитата:
Можно ли как нибудь ввести различные комментарии для ini, inf и properties файлов.
Нет, поскольку все эти расширения обрабатываются одним и тем же лексером - props.

Автор: vladvro, Отправлено:20:56 22-09-2009
Real Root, mozers

Цитата:
> Можно ли как нибудь ввести различные комментарии для ini, inf и properties файлов.
Нет, поскольку все эти расширения обрабатываются одним и тем же лексером - props.

можно попробовать повесить на открытие файла и смену буфера обработчик, кторый будет менять это значение в зависимости от расширения открываемого файла.
Автор: Real Root, Отправлено:00:07 23-09-2009
vladvro
можно попробовать повесить на открытие файла и смену буфера обработчик, кторый будет менять это значение в зависимости от расширения открываемого файла.
А как это сделать?
Или можно разделить other.properties на 2 файла? Чтоб один для ini, inf, reg был, а другой для остального?
Автор: mozers, Отправлено:09:29 23-09-2009
vladvro
Отличная идея

Real Root
Цитата:
А как это сделать?
Вот так, например [more]
Код:
local function ChangeCommentChar()
function IsINI(ext)
local ini = {'ini', 'inf', 'reg'}
for _, x in pairs(ini) do
if
x == ext then return true end
end
return false
end
if
editor.LexerLanguage == 'props' then
local
ext = props['FileExt']:lower()
if IsINI(ext) then
props['comment.block.props']=';'
else
props['comment.block.props']='#'
end
end
end

-- Добавляем свой обработчик события OnSwitchFile
local old_OnSwitchFile = OnSwitchFile
function OnSwitchFile(file)
local result
if old_OnSwitchFile then result = old_OnSwitchFile(file) end
ChangeCommentChar()
return result
end

-- Добавляем свой обработчик события OnOpen
local old_OnOpen = OnOpen
function OnOpen(file)
local result
if old_OnOpen then result = old_OnOpen(file) end
ChangeCommentChar()
return result
end
[/more]

Цитата:
Или можно разделить other.properties на 2 файла? Чтоб один для ini, inf, reg был, а другой для остального?
Любой параметр можно записать в любом подключенном файле настроек. Ничего от этого не изменится. Деление на отдельные файлы *.properties - только для удобства.

Автор: entada, Отправлено:13:13 23-09-2009
mozers, спасибо!
Действительно, хоть и нет таких вкусностей, как в Windows, но редактор собрался и работает.

Автор: oldBob, Отправлено:11:02 25-09-2009
Доброго времени суток!
Добавил к SciTE под Linux FuncProcList.lua и получил два подарка.


Цитата:

/home/bob/private/scite_tools/FuncProcList.lua:36: Editor pane is not accessible at this time.
>Lua: error occurred while loading startup script
/home/bob/private/scite_tools/FuncProcList.lua:40: attempt to call field 'GetTranslation' (a nil value)
>Lua: error occurred while processing command


FuncProcList.lua - ver. 1.3
Из COMMON.lua в FuncProcList.lua скопирована функция IsComment

Можно ли вылечить и как?

Автор: mozers, Отправлено:23:46 25-09-2009
oldBob
Цитата:
/home/bob/private/scite_tools/FuncProcList.lua:36: Editor pane is not accessible at this time.
>Lua: error occurred while loading startup script
Этот скрипт вызывается из меню. Добавлять его в SciTEStartup.lua не нужно.

Цитата:
/home/bob/private/scite_tools/FuncProcList.lua:40: attempt to call field 'GetTranslation' (a nil value)
>Lua: error occurred while processing command
Видимо функция GetTranslation не работает в gtk. Можно просто исключить все ее вызовы из скрипта записав текст непосредственно, т.е. вместо
Код:
print('> '..scite.GetTranslation('List of Functions / Procedures')..':')
написать
Код:
print('> List of Functions / Procedures:')

Я бы, на твоем месте, лучше вытащил код из SideBar.lua (там FunctionsList работает на порядок более корректно). Правда, повозится придется побольше...
Автор: oldBob, Отправлено:13:42 26-09-2009
mozers, спасибо, попробую


Цитата:
Я бы, на твоем месте, лучше вытащил код из SideBar.lua (там FunctionsList работает на порядок более корректно). Правда, повозится придется побольше...

- и это попробую.

Автор: megli, Отправлено:14:35 27-09-2009
Помогите синхронизировать sctie на 3- машинах: xp, xp, vista. Было бы неплохо иметь одну папку со ВСЕМИ файлоами настроек, которую я бы смог синхронизировать через svn. Спасибо!
Автор: mozers, Отправлено:16:17 27-09-2009
megli
С первым постом!
Можно, конечно, переназначить папку для хранения пользовательских настроек (параметр scite.userhome). Но, фактически, и все остальные файлы (properties, abbrev, api и скрипты) - тоже настроечные. Тогда правь пути и к ним...
Таким образом остается только ядро (SciTE.exe и SciLexer.dll) которое, кстати, так же модернизируется и не факт что новые настройки будут корректно работать со старым ядром. Поэтому, чтобы на всех компах иметь актуальную версию надо модифицировать все файлы.




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 / 105 / 106 / 107 / 108 / 109 / 110 / 111 / 112 / 113 / 114 / 115 / 116 / 117 / 118 / 119 / 120 / 121 / 122 / 123 / 124 / 125 / 126 / 127 / 128 / 129 / 130 / 131 / 132 / 133 / 134 / 135 / 136 / 137 / 138 / 139 / 140 / 141 / 142 / 143 / 144 / 145 / 146 / 147 / 148 / 149 / 150 / 151 / 152 / 153 / 154 / 155 / 156 / 157 / 158 / 159 / 160 / 161 / 162 / 163 / 164 / 165 / 166 / 167 / 168 / 169 / 170 / 171 / 172 / 173 / 174 / 175 / 176 / 177 / 178 / 179 / 180 / 181 / 182 / 183 / 184 / 185 / 186 / 187 / 188 / 189 / 190 / 191 / 192 / 193 / 194 / 195 / 196 / 197 / 198 / 199 / 200 / 201 / 202 / 203 / 204 / 205 / 206 / 207 / 208 / 209 / 210 / 211 / 212 / 213 /
SciTE © 2004 - 2011