Discussion:
EUM hrc-schema
bakunin
2006-03-30 07:28:24 UTC
Permalink
==========================================================================
Здравствуйте !
~~~~~~~~~~~~~~
Теперь вопросы из другой области.
3. Написал hrc-схему для конфигов своего плагина EditorUserMenu (EUM)
(http://forum.farmanager.com/viewtopic.php?t=1031). Куда её выслать, чтобы
она добавилась в следующую версию плагина colorer?
Можно Игорю, можно мне.
То, что было уже отправлено.
Любой из трёх параметров может быть пустым (т.е ""), второй и третий
могут быть многострочными.
_Между_ параметрами перевод строк может быть?
Между параметрами не может быть ничего. Две кавычки - строгий разделитель
При этом сразу же после $chk"Title""true_value""false_value" может быть
ещё одна или более кавычек, которые уже будут относится к другой конструкции.
Сразу же? Или все-таки через перевод строки?
Именно, что сразу же. Ещё, как я вспомнил, внутри параметров может быть конструкция
$curdate"%d.%M.%Y", и кавычки в этой конструкции ничем не отделяются от обычных

Вот небольшая выдержка из хелпа (и эта дикая конструкция,
как ни странно, работает!):
---------------------
Пример 3:
~~~~~~~~
# Вставка комментариев в проект, который пишет команда программистов.
# Выглядит совсем жутко, и не дай вам Бог ошибиться хоть в одной кавычке!
c:Begin Code
replace://*** Begin code JBAK. Date: $txt"Д&ата""$curdate"%d.%m.%Y""$chk"Вы&вести время"" Time: $curdate"%H:%M"""" ***

Эта команда выведет на экран диалоговую форму:
------------------- Введите параметры команды -------------------|
| |
|Дата |
|19.02.2006____________________________________________________ |
|[x] Вывести время |
| |
|----------------------------------------------------------------|
Если включить птичку "Вывести время", получится скромненькая строчка:
//*** Begin code JBAK. Date: 19.02.2006 Time: 13:46 ***
Если эту галочку выключить, то получится строчка ещё скромнее:
//*** Begin code JBAK. Date: 19.02.2006 ***
А если на диалоге нажать Esc, то вообще ничего не вставится.
И стоило так возиться? :-)
---------------------
Если же и параметры от последующих строк никак не отделены, и следующие
строки также в кавычках -- то задача нерешаема. Но такое решение крайне
неудачно с точки зрения читабельности этого языка...
Да уж, насчёт читабельности... Читабельность кода EditorUserMenu на уровне
читабельности метасимволов стандартного UserMenu - один раз написал, а через
пару дней уже боишься что-то трогать. Вот и хочется написать максимально



--------------------------------------------------------------------------
С уважением,
Юрий Бакунин,
***@bk.ru
==========================================================================




-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
Eugene Efremov
2006-03-30 09:10:04 UTC
Permalink
Hello!
Post by bakunin
Можно Игорю, можно мне.
То, что было уже отправлено.
Кстати, а это, часом, не та схема, которая входит в дистрибутив этого
самого EUM?
Post by bakunin
Любой из трёх параметров может быть пустым (т.е ""), второй и третий
могут быть многострочными.
_Между_ параметрами перевод строк может быть?
Между параметрами не может быть ничего. Две кавычки - строгий разделитель
После кавычки, закрывающей _последний_ параметр, появление еще одной
кавычки исключено? Если да, то
<block start='/\$(txt|chk)/' end='/\M[^"]/' ... />
Post by bakunin
Именно, что сразу же. Ещё, как я вспомнил, внутри параметров может быть конструкция
$curdate"%d.%M.%Y", и кавычки в этой конструкции ничем не отделяются от обычных
Ну это, как раз, просто. С вложенными конструкциями у колорера никогда
проблем небыло...
<block start='/\$curdate"/' end='/"/' ... />
Post by bakunin
Да уж, насчёт читабельности... Читабельность кода EditorUserMenu на уровне
читабельности метасимволов стандартного UserMenu - один раз написал, а через
пару дней уже боишься что-то трогать.
Гм... Раз появился такой опасный симптом, то, imho, стоит подумать о
том, что сделано не так. И принять меры.

Вообще, если бы я писал что-то подобное -- придумал бы для конфигов
некий XUL-подобный XML. И понятнее, и разбирать куда легче (благо
готовых XML-парсеров кругом -- как собак нерезаных).
--
WBR, Eugene




-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
Loading...