Как стать автором
Обновить

Эффективная работа с текстом или как я изобретал велосипед

Программирование
Долгое время искал хорошую программу для удобной работы с буфером обмена.

Требования мои такие:
  • хранение истории в разных вкладках, т.е. когда я программирую, хочу, чтобы куски копируемого текста не смешивались с теми, которые я использую при написании статей или рассылки писем
  • удобное многократное копирование и вставка посредством горячих клавиш (без переключения на интерфейс программы)
  • возможность обработки данных перед вставкой (например, конвертирование символов в верхний регистр, разбивка на слова построчно, сортировка строк, удаление пустых строк)
  • анализ текста (поиск E-mail'ов, гиперссылок, дат и т.п.)
  • возможность исправления раскладки набранного текста (как, например, в PuntoSwitcher)


Пробовал разные: ClipMate, Spartan, Ditto, CLCL, но, в результате, решился написать свою программу.

Система программирования:

С++ Builder XE3. Так уж получилось, что я являюсь счастливым (несчастным) обладателем лицензионной версией данной системы программирования. Простота и быстрота написания приложений компенсируются отсутствием подробной справки по некоторым функциям и классам, а также нежеланием Embarcaderro исправлять найденные косяки в старых версиях IDE.

Вот один из отзывов на мою программу:

Изумительно бесполезная программа. Эталон велосипедостроения.
(Виктор Дымов)


Внешний вид

image

Мой опыт использования

Формы бывают разные:
Вот такие
image
или такие
image
или даже такие
image
Моей знакомой пришлось на работе заполнять множество форм, а именно, чаще всего приходилось заполнять аналогичные формы с множеством полей. Казалось бы: какие проблемы? Но не всё так просто. При копировании информации из базы сотрудников нельзя допустить ни единой ошибки. Приходится переключаться из базы данных в браузер с формой, и так множество раз.

Вот её последовательность действий:
  • Переключиться на базу данных
  • Выбрать нужную ячейку
  • Скопировать нужную информацию в буфер обмена
  • Переключиться в браузер
  • Найти нужное поле
  • Вставить информацию из буфера обмена (Ctrl+V)
  • Продолжить с начала


Я помог своей знакомой, предложив воспользоваться своей программой. Теперь она делает следующее:
  • Выделяет нужное поле в базе данных и копирует его (Ctrl+C)
  • Повторяет операцию для всех полей, которые необходимо скопировать
  • Переключается на мою программу и выбирает в истории первую скопированную запись
  • Переключается на окошко браузера
  • Выбирает первое поле, которое необходимо заполнить
  • Нажимает Ctrl+'+'
  • Переключается на следующую запись и нажимает Ctrl+'+'
  • Повторяет предыдущий пункт


Другому моему товарищу я посоветовал использовать программу для поиска контактов на страничках. Теперь ему достаточно посмотреть исходный код страницы и скопировать его в буфер обмена. Далее программа автоматически находит E-mail'ы, имена и телефоны.
image

Лично я использую программу (например) для авторизации на сайтах, которые не сохраняют пароли в браузерах:
  • Переключился на текст с логином и паролем
  • скопировал отдельно логин и отдельно пароль
  • переключился на форму авторизации
  • ввёл логин комбинацией (Ctrl+'1')
  • ввёл пароль комбинацией (Ctrl+'0')


Сценарии использования

Я думаю, что программа может быть полезна в следующих сценариях:
  • заполнение форм информацией из существующих таблиц (экономия времени и сил > 50%)
  • мгновенная сортировка списков по алфавиту
  • поиск некоторой информации (E-mail'ы, гиперссылки, имена)
  • сохранение полезной информации для последующего многократного использования (куски кода, значения и прочее)


Другие возможности

Для своей программы я попытался добавить несколько полезных (на мой взгляд) функций:
  • сетевой буфер обмена
  • озвучка и визуализация текущей раскладки
  • озвучка нажатий клавиш
  • работа с напоминаниями
  • ведение списков дел
  • выбор поздравлений
  • конвертирование значений из одних единиц измерений в другие (14 различных типов измерений: длина, площадь, объём, время ...)


image

Недостатки

Они есть и их много:
  • поиск телефонов (я стараюсь искать не только сотовые, но и городские номера) частенько добавляет много мусора
  • имена показывает по одному в строке, т.е. Иванов Иван Иванович будет представлен тремя строками по одному слову в каждой строке
  • многословные названия городов не ищутся (Нижний Новгород пока пролетает мимо)
  • для детектирования цен нужны находящиеся рядом «руб.» или «рублей» или знаки евро или фунта
  • номера авто имеют строгий шаблон xYYYxxZZ (другие пока не понимает)
  • находит не все даты и время (слишком много вариантов)


Будущие улучшения

  • исправление вышеуказанных недостатков
  • поиск адресов (анализ текста)
  • выделение и использование отдельных столбцов, а не всего скопированного фрагмента (Обработка перед вставкой)
  • добавление статических фрагментов до и после вставляемого текста (Обработка перед вставкой)


Думаю, что велосипед получился, хотя его ещё необходимо обкатать как следует. Ну, а насколько он хорош — решать Вам.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
А каким софтом для работы с буфером обмена пользуетесь Вы?
6.25% Ditto 4
3.13% ArsClip 2
0% Clipboard Magic 0
6.25% CLCL 4
7.81% ClipDiary 5
0% Global Clipboard 0
42.19% Punto Switcher 27
42.19% другие 27
Проголосовали 64 пользователя. Воздержались 108 пользователей.
Теги:AAP Assistantбуфер обменаистория буфера обмена
Хабы: Программирование
Всего голосов 10: ↑6 и ↓4 +2
Просмотры8.1K

Похожие публикации

Программист 1С
от 120 000 ₽REMONT.IOМоскваМожно удаленно
Senior C++ Developer
от 400 000 до 600 000 ₽Gara.CapitalМосква
C++ Embedded Developer (Linux)
от 150 000 до 250 000 ₽MicroAviaСанкт-Петербург

Лучшие публикации за сутки