Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Операционные системы > Софт
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.11.2018, 00:08   #1
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию copyPaste manager by Vadim Moshev

Решил написать для себя программу, чтобы облегчить работу с заказчиками во фрилансе в плане взаимодействия и переписки. Не могу точно описать тип этой программы. Некий менеджер буфера обмена или записная книжка, с функцией копирования хранимой информации в буфер обмена.

Зачем нужная эта программа?
При общении с заказчиками иногда возникает необходимость использования неких одних и тех же шаблонных реплик, которые произносятся в адрес различных заказчиков. Чтобы каждый раз не писать одно и тоже, хранил такую информацию в текстовых файлах. Тем не менее, распределённое хранение информации оказалось для меня не очень удобным, поэтому решил хранить информацию централизовано, имея при этом возможность очень быстро вносить изменения в её структуру, а также копировать в буфер обмена.

Что может делать эта программа?
Для описания сущностей, обрабатываемых программой и хранимых во внешнем файле, используется термин «запись», который следует понимать скорей в бытовом смысле (запись в записной книжке), чем в программном (строго говоря, для хранения информации используются не записи, а объекты).
Звучит банально, но записи можно:
- добавлять;
- переименовывать;
- редактировать их содержимое;
- удалять
- помещать содержимое в буфер обмена.

Любое изменение записи или их количества влечёт за собой сохранение информации во внешний файл, именуемый records.dat и располагающийся в папке с программой. Это сделано для того, чтобы исключить как можно больше потерь информации, вызванных аварийным завершением работы программы, например, вследствие прекращения подачи электроэнергии. Если в программе удалить все записи, внешний файл также будет удалён, так как в этом случае в нём нет смысла.

При запуске программа считывает записи из внешнего файла и отображает их на главной форме программы. Если внешний файл отсутствует, то программа ничего не отображает, а вместо этого предлагает создать новую запись.

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

Под какую операционную систему написана эта программа?
Для компьютеров под управлением ОС семейства Windows. Сама программа писалась на Windows XP SP3 x86, была протестирована на ноутбуке с Windows 7 x64 Ultimate.

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

Напоследок хочу сказать, что программа не предназначена для хранения логинов, паролей и любой другой конфиденциальной информации, так как для её хранения не применятся шифрование. Архив с программой и демонстрационной записью лежит в приложении.

Да, ну и хотелось бы услышать критику и отзывы.
Вложения
Тип файла: rar CPManager.rar (282.0 Кб, 19 просмотров)

Последний раз редактировалось Вадим Мошев; 24.11.2018 в 11:11.
Вадим Мошев вне форума Ответить с цитированием
Старый 22.11.2018, 01:17   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
менеджер буфера обмена
Так есть же Ditto.
Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
Чтобы каждый раз не писать одно и тоже
AutoHotkey часто удобно для такого.

Например,
Код:
#Hotstring * ? 

::/mfrl::alexp.frl@gmail.com

::/pfcodetag::
(
______________________
Используйте тег CODE (кнопка с решеткой # в форме сообщения) при вставке кода на форум.
)
Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
Тем не менее, распределённое хранение информации оказалось для меня не очень удобным, поэтому решил хранить информацию централизовано
Так а что мешало использовать 1 файл?
Или OneNote, Evernote, ...
Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
ну и хотелось бы услышать критику
опять программа без исходников в этом разделе.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 22.11.2018 в 01:20.
Alex11223 вне форума Ответить с цитированием
Старый 22.11.2018, 09:46   #3
kvitaliy
Участник клуба
 
Регистрация: 17.05.2011
Сообщений: 1,660
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
есть что-то подобное и разработанное им лично.
Забавно, но у меня есть подобное. И что интересно, интерфейс схожий.
Правда, функционал пошире, есть возможность вставить из буфера обмена изображение, поиск информации, конвертирование информации в HTML, печать страницы и т.п.
Несколько иной подход в хранению инфы. Использую SQLite, причем кол-во таких баз не ограничено. После запуска можно выбрать любую базу и программа превращается, например, в справочник кулинарии
katrcp.jpg
или в справочник игр
katgam.jpg
Так же это может быть телефонным справочником или каталогом видеофильмов. В общем неограничен набор возможностей, вплоть до хранения исходных кодов программ.
Я называю это приложение Каталогизатором.
kvitaliy вне форума Ответить с цитированием
Старый 22.11.2018, 15:35   #4
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Так есть же Ditto.
быть может, это было громко сказано, я говорил про менеджер буфера обмена (МБО). Моя программа, получается, дублирует функционал МБО частично.


Цитата:
Сообщение от Alex11223 Посмотреть сообщение
AutoHotkey часто удобно для такого.

Например
AutoHotKey - хорошая программа, как-то однажды пользовался. Но пользовался давно, поэтому о современных версиях ничего не знаю. Если я не ошибаюсь, надо надо заучивать, какая комбинация клавиш соответствует тому или иному вставляемому тексту. Впрочем, это не так сложно, тем более, если комбинации будут аналогичны друг другу, например, CTRL+ALT+0...9. Но в моей программе даже этого не надо делать. Пусть она обладает по сравнению с AHK/Ditto более урезанным функционалом, но я не ставил перед собой цель написать свой МБО/Автоматизатор/хотКейБиндер с блекджеком и... Я понял, какой функционал мне был нужен и реализовал его.

Кстати, для вставки сообщений на этот форум (например, Пожалуйста, оформляйте Ваш код согласно правилам., или "Начните решать задачу самостоятельно. Если что-то не будет получаться, показывайте то, что сделали, задавайте конкретные вопросы".) у меня используется другая наработка в виде пользовательского скрипта для tamperMonkey. Впрочем, можно, наверное, теперь отказаться от последнего в пользу coopyPaste manager.


Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Так а что мешало использовать 1 файл?
Неудобно. Если записей много, то на поиск нужной тратится некоторое время, также надо выделять нужный фрагмент для копирования. Думаю, это скоро надоело бы.

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Или OneNote, Evernote
Так то же самое, наверное, да ещё много функционала, который не требуется.


Цитата:
Сообщение от Alex11223 Посмотреть сообщение
опять программа без исходников в этом разделе.
А зачем нужны исходники? Нет, мне конечно интересно услышать критику своего кода, алгоритмических решений (хотя у данной программы алгоритмическая сложность на нуле, больше было проблем именно с технической реализацией того или иного функционала). Но с другой стороны, я стесняюсь показывать свой код открыто... Да и потом, имея исходники, очень легко приписать программе своё авторство, стерев моё. Я понимаю, учитывая сложность и полезность программы широкому кругу людей, никому это не надо, но эта некая защитная мера от "мерзкой школоты", неспособной даже Hello World написать.


Цитата:
Сообщение от kvitaliy Посмотреть сообщение
Забавно, но у меня есть подобное. И что интересно, интерфейс схожий.
О вашей разработке слышу впервые, ничего не воровал. Схожесть, по всей видимости, имеет место из-за того, что специфика одна и та же.

Цитата:
Сообщение от kvitaliy Посмотреть сообщение
Несколько иной подход в хранению инфы. Использую SQLite, причем кол-во таких баз не ограничено.
Мне не понятно, зачем для каждого справочника использовать отдельную базу? Судя по внешнему виду программы, для каждого справочника достаточно одной таблицы То есть, одна таблица - один справочник. Рецепты хранятся в одной таблицы, каталог видеоИгр - в другой. При запуске, соответственно, выбирать не базу, а таблицу.
Вадим Мошев вне форума Ответить с цитированием
Старый 22.11.2018, 15:52   #5
kvitaliy
Участник клуба
 
Регистрация: 17.05.2011
Сообщений: 1,660
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
зачем для каждого справочника использовать отдельную базу?
Удобно, если нужно с поделиться с человеком. Например, я хочу поделиться справочником по играм, но не хочу давать свой личный телефонный справочник.
kvitaliy вне форума Ответить с цитированием
Старый 22.11.2018, 16:27   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Все равно в одной базе удобней. А поделиться - выгрузка только нужной категории в базу такой же структуры например
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 22.11.2018, 16:38   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
какая комбинация клавиш соответствует тому или иному вставляемому тексту
У меня выше просто замена при вводе текста, а не хоткеи.

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
А зачем нужны исходники?
Потому что нет смысла не выкладывать их для своих небольших некоммерческих программок. Мало ли кому зачем пригодятся, или кому-то не охота запускать чужие ехе.

ЗЫ если не какая-нибудь древняя Дельфи без Юникода, то вместо кривых иконок из Пеинта проще и лучше использовать символы (в Юникоде даже и полноценные иконки есть).

Form1 2018-11-22 15.37.24.png
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 22.11.2018, 17:01   #8
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Цитата:
Сообщение от kvitaliy Посмотреть сообщение
Удобно, если нужно с поделиться с человеком. Например, я хочу поделиться справочником по играм, но не хочу давать свой личный телефонный справочник.
Можно сделать экспорт таблицы, а он, если тоже разрабатывает что-то, создаст БД, загрузит в неё таблицу. Хотя да, с БД было бы удобнее, если речь идёт о импорте в *.sql файлы, как это можно сделать в MySQL. Если не программист, то можно сделать просто выгрузки в html-файл.


Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Потому что нет смысла не выкладывать их для своих небольших некоммерческих программок. Мало ли кому зачем пригодятся
Против опенсорса (точнее, я бы сказал, форков) ничего не имею. Но как быть с защитой авторских прав? Я говорил, программка небольшая, не серьёзная, но будет обидно, если некто присвоит авторство себе.


Цитата:
Сообщение от Alex11223 Посмотреть сообщение
ЗЫ если не какая-нибудь древняя Дельфи без Юникода, то вместо кривых иконок из Пеинта проще и лучше использовать символы (в Юникоде даже и полноценные иконки есть).
Да, у меня древняя, Delphi 7, и, похоже, без юникода. У меня в программе нет ни одной иконки (значок программы и иконка в трее - не в счёт). У меня используются символ + и буква x.
Вадим Мошев вне форума Ответить с цитированием
Старый 22.11.2018, 18:32   #9
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
У меня используются символ + и буква x.
А, видимо что-то не так сглаживанием в ОС и т.п. раз не так выглядит:

WindowsFormsApp1 - Microsoft Visual Studio 2018-11-22 16.05.11.png
Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
будет обидно, если некто присвоит авторство себе
И что ему с ним делать? Ну и если станет известно, то всегда можно рассказать об этом тем, перед кем он его присвоил )
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 22.11.2018, 19:22   #10
kvitaliy
Участник клуба
 
Регистрация: 17.05.2011
Сообщений: 1,660
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Все равно в одной базе удобней.
Интересно чем же?

Недостатки я могу накидать сходу:
- Как уже сказал, сложнее поделиться только определённой информацией
- Большой размер базы приходиться всегда таскать с собой, даже если в данный момент какие то элементы не нужны.
- Повреждение файла может привести к потере всей информации
kvitaliy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Task manager KaTVisiom Помощь студентам 2 23.04.2018 09:49
Far manager Настен@ Помощь студентам 8 13.12.2013 21:59
far manager malevich Общие вопросы Delphi 1 21.11.2006 12:34