Форумы


Comfort Software :: Форумы :: Обсуждение возможностей
<< Предыдущая тема | Следующая тема >>   

[Comfort Typing] Сложная обработка текста в шаблонах

Автор Добавил
DmitryN
Fri Oct 17 2008, 02:07PM
ID пользователя #201
Зарегистрирован: Fri Oct 17 2008, 01:53PM
Сообщений: 23
Использую Comfort Typing и очень доволен функциональностью. Но сейчас осознал что мне не хватает возможности производить сложную обработку шаблонов перед их вставкой. Например, при работе мне часто приходится вставлять имя файла в виде строковой константы в программный код (JScript, C++, C#). Я копирую полное имя файла в файловом менеджере и вставляю в код, после чего руками удваиваю слэши.

Очень хотелось бы автоматизировать этот процесс. Я подумал было использовать Comfort Typing, но не нашёл подобной возможности. Отсюда вопрос: не пропустил ли я такую возможность и есть ли такая возможность в Comfort Keys?

Если такой возможности нет, я могу описать довольно простой способ, как её можно было бы добавить.

--
С уважением,
Дмитрий
Наверх
Comfort
Fri Oct 24 2008, 12:16PM


Зарегистрирован: Wed Sep 19 2007, 03:42PM
Сообщений: 600
Как сделать в текущей версии программы я не знаю. Можно добавить новый тег . Но для этого нужны еще примеры применения.
А какой способ можете предложить Вы?

Have a nice day
Наверх
DmitryN
Fri Oct 24 2008, 02:02PM
ID пользователя #201
Зарегистрирован: Fri Oct 17 2008, 01:53PM
Сообщений: 23
Здравствуйте.

Можно было бы сделать так:
1. Добавить новый тэг такого вида:
<SCRIPT>
<FILE>имя файла скрипта</FILE>
<FUNCTION>имя функции</FUNCTION>
<PARAM>параметр, может быть несколько</PARAM>
</SCRIPT>

2. Обрабатывать этот тэг с помощью ActiveX объекта Microsoft Scripting Control, который поставляется с Internet Explorer и есть на любой машине с Windows. Контрол позволяет выполнять скрипты JScript и VBScript внутри других приложений.

Пример на Delphi приаттачен.
scripttest.zip

--
С уважением,
Дмитрий
Наверх
DmitryN
Fri Oct 24 2008, 02:15PM
ID пользователя #201
Зарегистрирован: Fri Oct 17 2008, 01:53PM
Сообщений: 23
Здравствуйте.

Хочу добавить, что в качестве параметра должно быть можно использовать другие тэги, например:
<SCRIPT>
<FILE>MyHelperFunctions.js</FILE>
<FUNCTION>doubleSlashes</FUNCTION>
<PARAM><CLIPBOARD></PARAM>
</SCRIPT>


--
С уважением,
Дмитрий
Наверх
Comfort
Sat Oct 25 2008, 12:27AM


Зарегистрирован: Wed Sep 19 2007, 03:42PM
Сообщений: 600
Серьёзная штука. С такими возможностями можно много чего реализовать. Сложновато только для рядового пользователя.
Поэтому очень хочу узнать примеры использования.

Have a nice day
Наверх
DmitryN
Mon Oct 27 2008, 04:50AM
ID пользователя #201
Зарегистрирован: Fri Oct 17 2008, 01:53PM
Сообщений: 23
Здравствуйте.

Это может быть фича "для продвинутых" пользователей. Скриптовые языки эти простые -- они используются на веб страницах. Очень много людей с ними знакомо.

Помимо уже предложенного варианта с удвоением слэшей, навскидку могу придумать:


Обработка текста:

- Создание форматированных списков. Через Clipboard передаётся текст, состоящий из нескольких строк. Скрипт добавляет каждой строке отступ и номер (или просто тире).

- Удаление лишних пробелов из текста (пример привести не могу, форум слишком умный, удаляет лишние пробелы ).

- Транслитерация текста (Билл и Стив друзья на век -> Bill i Stiv druz'a na vek).

- Калькулятор. В буфер заносится '234^3-45+23*45', а выдается результат.


Использование WMI -- здесь практически неограниченное поле работы с системой. Например, вставка актуальной на текущий момент информации о:

- текущей учётной записи;
- имени компьютера;
- информации о компьютере (процессор, память, свободное место);
- IP адреса;
- версии ОС;
- uptime текущей сессии;
- версии, даты создания и модификации, размера указанного файла;
- и т.д. и т.п.


Другие примеры:

- Запрос информации из базы данных (реляционная БД, документ Excel, файл CSV). Например получение e-mail по имени человека ('ИвановИ' -> 'Иванов Иван Иванович <ivan.ivanov@microsoft.com>'). Получение e-mail, кстати, можно организовать из адресной книги Outlook.

- Вставка текста из указанного файла (имя файла в буфере обмена).

- Запуск приложения и возврат exit кода или даже содержимого потока вывода.


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


--
С уважением,
Дмитрий
Наверх
Comfort
Mon Oct 27 2008, 10:19PM


Зарегистрирован: Wed Sep 19 2007, 03:42PM
Сообщений: 600
Огромное спасибо за примеры. И спасибо за код.
Обязательно реализую такую полезную возможность.
Только будет это примерно через месяц.

Have a nice day
Наверх
Comfort
Mon Dec 01 2008, 04:17PM


Зарегистрирован: Wed Sep 19 2007, 03:42PM
Сообщений: 600
Свершилось! Добавил возможность обработки текста с помощью JScript.
Скачать версию 3.2.6.1, которая поддерживает эту возможность можно здесь: http://www.comfort-software.com/beta/ck_setup.zip

В инсталляцию добавлен файл Common.js, который содержит три полезные функции:

Транслитерация выделенного текста
<SCRIPT>
<FILE>Common.js</FILE>
<FUNCTION>Translit</FUNCTION>
<PARAM><SELECTION></PARAM>
</SCRIPT>


Удаление в выделенном тексте лишних пробелов
<SCRIPT>
<FILE>Common.js</FILE>
<FUNCTION>DeleteSpace</FUNCTION>
<PARAM><SELECTION></PARAM>
</SCRIPT>


Удвоение слешей в выделенном тексте
<SCRIPT>
<FILE>Common.js</FILE>
<FUNCTION>DoublingSlashes</FUNCTION>
<PARAM><SELECTION></PARAM>
</SCRIPT>



Have a nice day
Наверх
DmitryN
Thu Dec 04 2008, 12:17AM
ID пользователя #201
Зарегистрирован: Fri Oct 17 2008, 01:53PM
Сообщений: 23
Здравствуйте.

Попробовал -- работает всё замечательно! Огромное вам спасибо.

Вот только у меня Comfort Typing Pro, а не Comfort Keys, поэтому пока пользоваться не могу. Когда можно ждать Comfort Typing Pro с этой функциональностью?

--
С уважением,
Дмитрий
Наверх
Comfort
Thu Dec 04 2008, 02:38PM


Зарегистрирован: Wed Sep 19 2007, 03:42PM
Сообщений: 600
Вот здесь: http://www.comfort-software.com/beta/ct_setup.zip
Это практически готовая следующая версия.

Have a nice day
Наверх
Модераторы: Comfort

Перейти:     Наверх

Транслировать сообщения этой темы: rss 0.92 Транслировать сообщения этой темы: rss 2.0 Транслировать сообщения этой темы: RDF
Powered by e107 Forum System