Требования мои такие:
- хранение истории в разных вкладках, т.е. когда я программирую, хочу, чтобы куски копируемого текста не смешивались с теми, которые я использую при написании статей или рассылки писем
- удобное многократное копирование и вставка посредством горячих клавиш (без переключения на интерфейс программы)
- возможность обработки данных перед вставкой (например, конвертирование символов в верхний регистр, разбивка на слова построчно, сортировка строк, удаление пустых строк)
- анализ текста (поиск E-mail'ов, гиперссылок, дат и т.п.)
- возможность исправления раскладки набранного текста (как, например, в PuntoSwitcher)
Пробовал разные: ClipMate, Spartan, Ditto, CLCL, но, в результате, решился написать свою программу.
Система программирования:
С++ Builder XE3. Так уж получилось, что я являюсь счастливым (несчастным) обладателем лицензионной версией данной системы программирования. Простота и быстрота написания приложений компенсируются отсутствием подробной справки по некоторым функциям и классам, а также нежеланием Embarcaderro исправлять найденные косяки в старых версиях IDE.
Вот один из отзывов на мою программу:
Изумительно бесполезная программа. Эталон велосипедостроения.
(Виктор Дымов)
Внешний вид
Мой опыт использования
Формы бывают разные:
Вот такие
или такие
или даже такие
Моей знакомой пришлось на работе заполнять множество форм, а именно, чаще всего приходилось заполнять аналогичные формы с множеством полей. Казалось бы: какие проблемы? Но не всё так просто. При копировании информации из базы сотрудников нельзя допустить ни единой ошибки. Приходится переключаться из базы данных в браузер с формой, и так множество раз.
Вот её последовательность действий:
- Переключиться на базу данных
- Выбрать нужную ячейку
- Скопировать нужную информацию в буфер обмена
- Переключиться в браузер
- Найти нужное поле
- Вставить информацию из буфера обмена (Ctrl+V)
- Продолжить с начала
Я помог своей знакомой, предложив воспользоваться своей программой. Теперь она делает следующее:
- Выделяет нужное поле в базе данных и копирует его (Ctrl+C)
- Повторяет операцию для всех полей, которые необходимо скопировать
- Переключается на мою программу и выбирает в истории первую скопированную запись
- Переключается на окошко браузера
- Выбирает первое поле, которое необходимо заполнить
- Нажимает Ctrl+'+'
- Переключается на следующую запись и нажимает Ctrl+'+'
- Повторяет предыдущий пункт
Другому моему товарищу я посоветовал использовать программу для поиска контактов на страничках. Теперь ему достаточно посмотреть исходный код страницы и скопировать его в буфер обмена. Далее программа автоматически находит E-mail'ы, имена и телефоны.
Лично я использую программу (например) для авторизации на сайтах, которые не сохраняют пароли в браузерах:
- Переключился на текст с логином и паролем
- скопировал отдельно логин и отдельно пароль
- переключился на форму авторизации
- ввёл логин комбинацией (Ctrl+'1')
- ввёл пароль комбинацией (Ctrl+'0')
Сценарии использования
Я думаю, что программа может быть полезна в следующих сценариях:
- заполнение форм информацией из существующих таблиц (экономия времени и сил > 50%)
- мгновенная сортировка списков по алфавиту
- поиск некоторой информации (E-mail'ы, гиперссылки, имена)
- сохранение полезной информации для последующего многократного использования (куски кода, значения и прочее)
Другие возможности
Для своей программы я попытался добавить несколько полезных (на мой взгляд) функций:
- сетевой буфер обмена
- озвучка и визуализация текущей раскладки
- озвучка нажатий клавиш
- работа с напоминаниями
- ведение списков дел
- выбор поздравлений
- конвертирование значений из одних единиц измерений в другие (14 различных типов измерений: длина, площадь, объём, время ...)
Недостатки
Они есть и их много:
- поиск телефонов (я стараюсь искать не только сотовые, но и городские номера) частенько добавляет много мусора
- имена показывает по одному в строке, т.е. Иванов Иван Иванович будет представлен тремя строками по одному слову в каждой строке
- многословные названия городов не ищутся (Нижний Новгород пока пролетает мимо)
- для детектирования цен нужны находящиеся рядом «руб.» или «рублей» или знаки евро или фунта
- номера авто имеют строгий шаблон xYYYxxZZ (другие пока не понимает)
- находит не все даты и время (слишком много вариантов)
Будущие улучшения
- исправление вышеуказанных недостатков
- поиск адресов (анализ текста)
- выделение и использование отдельных столбцов, а не всего скопированного фрагмента (Обработка перед вставкой)
- добавление статических фрагментов до и после вставляемого текста (Обработка перед вставкой)
Думаю, что велосипед получился, хотя его ещё необходимо обкатать как следует. Ну, а насколько он хорош — решать Вам.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Комментарии (21)
Killy
01.05.2015 16:29Использую CopyQ. Конструктор команд позволяет делать всякие хитрые штуки.
Для авторизации — KeePass.alekseev_ap Автор
01.05.2015 19:36Спасибо за информацию. Не подскажете для навигации по истории нужно переключаться на программу? Навскидку посмотрел описание на сайте, но так и не понял. Вроде есть
PgDown/PgUp, Home/End, Up/Down
item list navigation
Left, Right, Ctrl+Tab, Ctrl+Shift+Tab
tab navigation
но скорее всего эти клавиши обрабатываются текущими приложениями.Killy
01.05.2015 21:04Это клавиши, разумеется, работают в окне CopyQ.
Можно добавить соответствующие команды и указать им глобальные горячие клавиши.Killy
01.05.2015 21:17Имеющиеся фрагменты документации на сайте, увы, не слишком полезны.
Нужно открывать окно настройки команд по F6 и разбираться на месте по примерам, как оно работает.
Lol4t0
01.05.2015 16:54+4Думаю, вам стоит добавить возможность запуска вашей программы без загрузки Windows.
Ivan_83
01.05.2015 17:35+3Дурацкий опрос, никаким софтом большинство не пользуется.
А некоторые и вовсе виндой не пользуются.alekseev_ap Автор
01.05.2015 19:41-1То, что другие не пользуются Windows ещё не повод не использовать программы работающие с буфером обмена. Как в Linux/Unix/MacOS так и в Android/iOS и т.п.
serafims
01.05.2015 18:08flashpaste.com/rus
тоже помогает с формамиalekseev_ap Автор
01.05.2015 19:50Заглянул на сайт. На первый взгляд неплохая программа, хотя я никогда ею не пользовался. Особенно заинтересовали макросы. Возможно, что то подобное попробую реализовать у себя. Спасибо за ссылку.
EminH
01.05.2015 18:40А добавьте хранение буфера в облако и замутите мобильную версию, глядишь и Дымову понравится
alekseev_ap Автор
01.05.2015 19:56Сетевой буфер обмена в моей программе тоже имеется. Но он предназначен для одного пользователя, т.к. идёт привязка к серийному номеру. Если у Вас есть ноутбук, планшет на Windows 8 и десктоп, то, установив программу на все устройства, легко можно обмениваться текстом между ними.
Flammar
04.05.2015 13:48Пользуюсь «колхозным» стековым языком программирования поверх JVM с поддержкой ленивых списков и с поддержкой вставки/получения содержимого клипборда в одну команду и с прозрачной интеграцией стандартных классов JDK.
Flammar
04.05.2015 14:25Ещё хорошая идея — колхозить содержимое тэгов
textarea
букмарклетами. Особенно в JIRA это эффективно.
Flammar
05.05.2015 17:26Идея расковыривать клипборд регулярками и засовывать результаты по каждой регулярке в соответствующее окно — хорошая, надо бы только сделать это настраиваемым.
alekseev_ap Автор
05.05.2015 17:51Подумаю над предложением.
Flammar
05.05.2015 21:48Ну это всего лишь обобщение идеи ваших разработок по поиску имён и контактов.
muslimov
> Изумительно бесполезная программа. Эталон велосипедостроения.
> (Виктор Дымов)
где можно найти виктора дымова чтобы его плюсануть?
alekseev_ap Автор
Мой круг