[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 1 месяц
  • Сообщений: 1264
  • Репутация:127

    [+] [-]
Compare strings
Скачать: yandex upload.ee
Назначение
Сравнивает один/два списка выдавая результат Уникальных или Недостающих строк, также подсчёт и объединение. Допустим есть список подключения IP вчерашний и сегодняшний, можно получить список тех, которые подключались только сегодня, или сравнить два списка орфографии добавленных сленгов, или 2 списка пакетов обновления или два списка кодов драйверов.
Использование
1. Открыть или бросить файл в поле ввода, или скопировать текст и нажать кнопку "Буфер обмена".
2. Нажать старт, откроется файл с результатами сравнения.
3. В качестве разделителя можно использовать любой символ, в том числе метасимволы \r\n\t\f (перенос строки, табуляция и т.д.)
Обновления
Защита от пустых строк в полях ввода
Удаление разделителя в конце строки
Добавлен вывод числа строк и время выполнения задачи в строку состояния.
Добавлено "Объединить строки 2-х файлов"


Последний раз редактировалось: AZJIO (2022-06-18 21:57), всего редактировалось 3 раз(а)

[Цитировать]

    rekshd
  • 19892
  • Стаж: 5 лет 3 месяца
  • Сообщений: 331
  • Репутация:7

    [+] [-]
Как я понимаю, можно пристыковать к ПКМ в проводнике с помощью zRegistration. Сейчас потестю.
Спасибо за очередную полезняшку
aa

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 1 месяц
  • Сообщений: 1264
  • Репутация:127

    [+] [-]
95570 можно пристыковать к ПКМ
нет, но могу сделать, уже не сегодня. На секунду возникала идея переноса в окно сразу двух файлов и они падали бы в свои поля. Просто случай использования проги не частый, но случается время от времени, да и люди по AutoIt3-версии частенько говорили что пригождается.

[Цитировать]

    rekshd
  • 19892
  • Стаж: 5 лет 3 месяца
  • Сообщений: 331
  • Репутация:7

    [+] [-]
95574возникала идея переноса в окно сразу двух файлов и они падали бы в свои поля
Да, текущая версия через zRegostration не заполняется выбранными в проводнике файлами.
А функция то нужная.
При пользовании программой Compare strings в первую очередь и возникнет потребность
сравнить именно два файла.

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 1 месяц
  • Сообщений: 1264
  • Репутация:127

    [+] [-]
rekshd,перекомпилировал с поддержкой ком-строки, т.е. через ПКМ "Отправить". (только на яндекс)

[Цитировать]

    rekshd
  • 19892
  • Стаж: 5 лет 3 месяца
  • Сообщений: 331
  • Репутация:7

    [+] [-]
Крайняя версия, подключенная через zRegistration в проводник, передаёт два выделенных txt или bat файла
в два окна Compare_strings в внутренние окошки №1.
Таким образом пока не получилось передать два разных txt файла в одно окно Compare_strings во внутренние окошки 1 и 2
ai

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 1 месяц
  • Сообщений: 1264
  • Репутация:127

    [+] [-]
rekshd, мы же выясняли вроде уже что программы сравнения, которые требуют двух файлов работают только через "Отправить", любые варианты ком-строки через реестр вынуждают программу запускаться для каждого множественного файла. Если движок обработчика так написан, это не изменить, все претензии к майкрософт.

[Цитировать]

    Gemostarter
  • 15956
  • Стаж: 7 лет
  • Сообщений: 324
  • Репутация:35

    [+] [-]
AZJIO, Обычно в таких случаях передают данные первому процессу. Запустились, проверили, есть ли запущенный процесс, и если да, то передали ему данные и завершились, не показывая окна. То есть, программа должна сама поддерживать такой вариант. Можно попробовать сделать универсальную "прокладку"...
А по одному файлу в строке вроде все передают, так принято.

[Цитировать]

    AZJIO
  • 17953
  • Стаж: 6 лет 1 месяц
  • Сообщений: 1264
  • Репутация:127

    [+] [-]
Gemostarter, проги Meld, WinMerge так не делают, несмотря что у них такая же необходимость открывать 2 файла или 2 папки. А также по предыдущей ссылке я отписывал, что правильно получить дескриптор списка, чтобы не запускать прогу дважды. Ну а про твой вариант тоже имеет место быть, вот только это действительно лучше делать через посредника, чтобы запускать на 10 кб небольшой исполняемый файл, а не всю основную программу в память, но тоже есть подводные камни, как запускать копию программы, если она будет пытаться вставлять пути в уже открытую.
rekshd, ты подтолкнул меня на идею добавить поддержку ком-строки везде где это возможно, а это Rename (для папки), Synchronization (для 2-х папок), Search duplicates (для папки), RegExp (для обработки текстового файла, уже давно сделано). Пробую в Linux, в файловом менеджере Nemo и тут нет проблем оба файла получить из выделенного, даже более избирательно, если выделено 2 файла, то только тогда показывать пункт в меню.

[Цитировать]

    rekshd
  • 19892
  • Стаж: 5 лет 3 месяца
  • Сообщений: 331
  • Репутация:7

    [+] [-]
95663Можно попробовать сделать универсальную "прокладку"...
Да, универсальное решение - "прокладка", позволяющая передавать два файла в подобные программы -
было бы идеальным решением !
Ведь позволяющие передавать из контекстного меню проводника в себя два и более файла программы и так используют подобные по функционалу прокладки в виде своих библиотек.
Вот тока заточены эти dll под них самих. Универсальности ноль. am
Думаю, что сделать абсолютно универсальную прокладку в принципе невозможно, но ...
AZJIO стоит попробовать сделать универсальное решение для написанных тобой программ.
Вот это как раз может получиться ah


Показать сообщения:    

Текущее время: 28-Мар 20:46

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы