
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comfort Software :: Форумы :: Обсуждение возможностей | |||
|
|||
[Comfort Typing] Сложная обработка текста в шаблонах |
| Автор | Добавил |
| DmitryN |
| ||
![]() Зарегистрирован: Fri Oct 17 2008, 01:53PM Сообщений: 23 | Использую Comfort Typing и очень доволен функциональностью. Но сейчас осознал что мне не хватает возможности производить сложную обработку шаблонов перед их вставкой. Например, при работе мне часто приходится вставлять имя файла в виде строковой константы в программный код (JScript, C++, C#). Я копирую полное имя файла в файловом менеджере и вставляю в код, после чего руками удваиваю слэши. Очень хотелось бы автоматизировать этот процесс. Я подумал было использовать Comfort Typing, но не нашёл подобной возможности. Отсюда вопрос: не пропустил ли я такую возможность и есть ли такая возможность в Comfort Keys? Если такой возможности нет, я могу описать довольно простой способ, как её можно было бы добавить. -- С уважением, Дмитрий | ||
| Наверх |
| Comfort |
| ||
![]() ![]() ![]() Зарегистрирован: Wed Sep 19 2007, 03:42PM Сообщений: 600 | Как сделать в текущей версии программы я не знаю. Можно добавить новый тег А какой способ можете предложить Вы? Have a nice day | ||
| Наверх |
| DmitryN |
| ||
![]() Зарегистрирован: 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 17 2008, 01:53PM Сообщений: 23 | Здравствуйте. Хочу добавить, что в качестве параметра должно быть можно использовать другие тэги, например: <SCRIPT> <FILE>MyHelperFunctions.js</FILE> <FUNCTION>doubleSlashes</FUNCTION> <PARAM><CLIPBOARD></PARAM> </SCRIPT> -- С уважением, Дмитрий | ||
| Наверх |
| Comfort |
| ||
![]() ![]() ![]() Зарегистрирован: Wed Sep 19 2007, 03:42PM Сообщений: 600 | Серьёзная штука. С такими возможностями можно много чего реализовать. Сложновато только для рядового пользователя. Поэтому очень хочу узнать примеры использования. Have a nice day | ||
| Наверх |
| DmitryN |
| ||
![]() Зарегистрирован: 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 |
| ||
![]() ![]() ![]() Зарегистрирован: Wed Sep 19 2007, 03:42PM Сообщений: 600 | Огромное спасибо за примеры. И спасибо за код. Обязательно реализую такую полезную возможность. Только будет это примерно через месяц. Have a nice day | ||
| Наверх |
| Comfort |
| ||
![]() ![]() ![]() Зарегистрирован: 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 |
| ||
![]() Зарегистрирован: Fri Oct 17 2008, 01:53PM Сообщений: 23 | Здравствуйте. Попробовал -- работает всё замечательно! Огромное вам спасибо. Вот только у меня Comfort Typing Pro, а не Comfort Keys, поэтому пока пользоваться не могу. Когда можно ждать Comfort Typing Pro с этой функциональностью? -- С уважением, Дмитрий | ||
| Наверх |
| Comfort |
| ||
![]() ![]() ![]() Зарегистрирован: Wed Sep 19 2007, 03:42PM Сообщений: 600 | Вот здесь: http://www.comfort-software.com/beta/ct_setup.zip Это практически готовая следующая версия. Have a nice day | ||
| Наверх |
| Модераторы: Comfort |