Контрольная сумма выделения

Russian main discussion
  • Author
  • Message
Offline
Posts: 39
Joined: Fri Feb 08, 2013 6:49 am

Контрольная сумма выделения

Post by akkorn »

Шапка:
Текст скрипта имет свой постоянный адрес и находится здесь:
viewtopic.php?p=21273#p21273

Текст первого сообщения в этой ветке:
Здравствуйте.
Порыскал по форуму, не нашел. Скажите, можно ли в AkelPad встроить функцию вывода контрольной суммы выделенного текста. Желательно в статус-строке. Таким образом можно было бы сравнивать два куска текста. Это на мой взгляд была бы очень удобная фича и она прекрасно бы заменила существующий аналог, который показывает только один символ перед курсором
(я про %cl и %CH в файле AkelPad.ini в блоке [Options], пункт StatusUserFormat).

Спасибо :wink:
Last edited by akkorn on Tue Mar 12, 2013 10:24 am, edited 1 time in total.

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

akkorn
Имеется скрипт getHash.js, но он работает либо диалогом либо копированием текста в буфер обмена. Нужно попросить Infocatcher'а добавить режим вывода в Log-плагин, и Ваша проблема решается красиво и непринуждённо :)
Думаю, что идея здравая, и когда он увидит, то добавит эту функциональную возможность.

Offline
Posts: 1862
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

VladSh wrote:добавить режим вывода в Log-плагин
Правда, это не совсем то, что просили. :)

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Infocatcher
Ну да. Не добавление в StatusUserFormat (что я считаю чрезмерным и излишним).
Но зато решает задачу сравнения.

Хотя, по большому счёту это же решается с помощью плага HexSel. Но вот если бы допилить (возможно опционально) этот плаг вот так, то сравнение было бы очень удобным.

Offline
Posts: 39
Joined: Fri Feb 08, 2013 6:49 am

Post by akkorn »

Здравствуйте всем :)
VladSh wrote:Infocatcher
Ну да. Не добавление в StatusUserFormat (что я считаю чрезмерным и излишним).
Но зато решает задачу сравнения.

Хотя, по большому счёту это же решается с помощью плага HexSel. Но вот если бы допилить (возможно опционально) этот плаг вот так, то сравнение было бы очень удобным.
Согласен. Это должен быть плагин, который можно будет отключить (представьте тормоз при выборе текста из открытого >10 мб файла).

На самом деле идея пришла из архиваторов- увидел контрольные суммы файлов (WinRAR, 7-zip) и подумал, что CRC32 текстового файла- это CRC самого текста в файле.
VladSh wrote:akkorn
Имеется скрипт getHash.js, но он работает либо диалогом либо копированием текста в буфер обмена. Нужно попросить Infocatcher'а добавить режим вывода в Log-плагин, и Ваша проблема решается красиво и непринуждённо :)
Думаю, что идея здравая, и когда он увидит, то добавит эту функциональную возможность.
На самом деле идея была такая: Есть (будет/ не будет) поле. Открыл два текстовых файла (как пример, да?) в двух вкдадках, нажал в каждой Ctrl+A и сравнил 8 символов (это от CRC32). Сходятся- значит тексты одинаковы. Не сходятся- нет.

Вот и вся задумка.

Всем пАсибки :wink:
Last edited by akkorn on Tue Mar 05, 2013 5:47 am, edited 1 time in total.

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

akkorn
Если вопросы по конкретным плагинам, то ищем его тему и задаём там, если по скриптам, то в теме "Дискуссии скриптов". Если какие-то предложения по проге, то ищем в форуме "Discussion (Russian)", если есть такая тема уже поднималась, продолжаем. Если нет, то зависит от вопроса, если идейка маленькая, то сюда кидаем, если же предполагает обсуждение, создаём отдельную тему.
Как-то так.

По первой части - см. плагин HexSel, им и сейчас можно пользоваться (для выделения в одном файле).
Хотя я за доработку getHash.js.

Для визуального сравнения файлов можно попробовать WinMerge.js. У меня всё работает, но при каких-то неопределённых условиях возникает ошибка. К сожалению никто в этом так и не помог :( А скрипт реально хороший.

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

akkorn wrote:На самом деле идея была такая: Есть (будет/ не будет) поле. Открыл два текстовых файла (как пример, да?) в двух вкдадках, нажал в каждой Ctrl+A и сравнил 8 символов (это от CRC32). Сходятся- значит тексты одинаковы. Не сходятся- нет.
Я делаю так:
- выделяю кусок текста в первом файле или Ctrl+A, если нужно весь файл сравнить, и копирую его.
- переключаюсь на второй файл, перехожу в начало файла, вызываю диалог поиска (Ctrl+F), вставляю в поле поиска скопированный текст и нажимаю найти (или F3 в диалоге).

Offline
Posts: 1862
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

VladSh wrote:Хотя я за доработку getHash.js.
Ok: viewtopic.php?p=21218#p21218
Впрочем, я не уверен, что так будет удобно сравнивать. :)

Offline
Posts: 39
Joined: Fri Feb 08, 2013 6:49 am

Post by akkorn »

Instructor wrote:Я делаю так:
- выделяю кусок текста в первом файле или Ctrl+A, если нужно весь файл сравнить, и копирую его.
- переключаюсь на второй файл, перехожу в начало файла, вызываю диалог поиска (Ctrl+F), вставляю в поле поиска скопированный текст и нажимаю найти (или F3 в диалоге).
Согласен. Вы ищите выделенный текст. Найдет- значит он есть в тексте 2 файла. Можо и так, но это уже другая песня...

Кстати, по поиску не подскажете?
Поле поиска в AkelPad. На WinXP я вижу значок перевода строки, на Win7- не вижу его... Чтотакое и как вернуть оное?
Пасибки :)

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

akkorn, шрифт. То что Вы видите - квадратик - подстановка для отображения символов нелпределенных в шрифте. В 7-ке очевидно доопределили(пустышкой).

Offline
Posts: 39
Joined: Fri Feb 08, 2013 6:49 am

Post by akkorn »

FeyFre wrote:akkorn, шрифт. То что Вы видите - квадратик - подстановка для отображения символов нелпределенных в шрифте. В 7-ке очевидно доопределили(пустышкой).
Спасибо за пояснение. Однако, вопрос остался: можно ли это как-нить изменить? Правда теперь этот вопрос связан с OS Win7, а не с AkelPad-ом.. Потому вопрос снимается наверно. :cry:

Offline
Posts: 39
Joined: Fri Feb 08, 2013 6:49 am

Post by akkorn »

Всем здрасть. Ждать не стал- наваял утилитку, которая выводит CRC32, переданного ей в командной строке, текста. Плюс запоминает текущий результат и сравнивает его с предыдущим.

Скачать утилитку можно тут: http://webfile.ru/6381950

Назвал ее CRC32txt.

Теперь новая проблема: мне в нее ни как не передать ВЫДЕЛЕННЫЙ текст.. Использую для ее запуска плагин ToolBar.
Команда для запуска проги такая:

Code: Select all

"Узнать CRC32 выделенного текста" Exec('%a\AkelFiles\Source\Resources\CRC32txt.exe %t') Icon(38)
Правда надо понимать, что переменной %t в программе не существует. Для примера можно отправить программе переменную %f или %d, но это для проверки работы...

p.s. пока программка в тестовом режиме, поэтому внизу сообщения я дополнительно вывожу переданный текст. Текст выводится с обрамлением значками (что бы можно было отслеживать невидимые символы (пробелы)). Еще для минимизации размера файла я пока туда не залил значок, ибо размер сразу вырастет кб на 10..

Что делать? Как можно получить выделенный текст в программе? Я конечно могу написать более тяжелую утилиту, отслеживающую кто ее запустил, и поиском в том окне выделенного текста... Тока нужно ли оно, если создатель сможет вывести в переменную выделенный текст.. Хотя тоже под вопросом...

В общем вопросов куча. А хакерскими способами действовать не хочу.

Что посоветуете?

p.s. в моей программе (ссылка выше) нет вирусов и всякой другой чепухи. Это на всяк.случай :)
pp.s. утилитку проверить просто: Создайте bat-файл и вызывайте ее с командной строкой. Либо просто можно на нее что-либо перетащить.
Last edited by akkorn on Sun Feb 17, 2013 3:42 pm, edited 1 time in total.

KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Post by KDJ »

akkorn
You can use standard script EvalCmd.js:

Code: Select all

"Узнать CRC32 выделенного текста" Call("Scripts::Main", 1, "EvalCmd.js", "AkelPad.Exec(AkelPad.GetAkelDir(1)+'\\Source\\Resources\\CRC32txt.exe '+AkelPad.GetSelText());") Icon(38)

Offline
Posts: 39
Joined: Fri Feb 08, 2013 6:49 am

Post by akkorn »

KDJ wrote:akkorn
You can use standard script EvalCmd.js:

Code: Select all

"Узнать CRC32 выделенного текста" Call("Scripts::Main", 1, "EvalCmd.js", "AkelPad.Exec(AkelPad.GetAkelDir(1)+'\\Source\\Resources\\CRC32txt.exe '+AkelPad.GetSelText());") Icon(38)
Выводит ошибку:

Code: Select all

Невозможно открыть файл "..\AkelPad\AkelFiles\Plugs\Scripts.dll"
Да и что-то я не найду ни Scripts.dll ни EvalCmd.js

KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Post by KDJ »

akkorn
You must to install Scripts plugin.
Post Reply