Page 6 of 10

Панель для результатов поиска файлов

Posted: Wed 17 Apr, 2019 12:26
by IgorZ
Описание:
Скрипт является панельным модулем, предназначенным заменять временную панель при выводе результатов поиска файлов. Основные отличия:
  • форма вывода информации приближёна к формату результатов поиска в диалоге поиска Far;
  • функциональность скрипта, в отличие от стандартной временной панели, ограничена реальными файлами;
  • работа с файлами внутри архивов.


Требуемая версия Far 3.0.5182+.

Замечание: скрипт передаёт список содержимого плагину "Временная панель" через файл. Сборки плагина 107-109 при заполнении Временной панели содержимым из файла для каждого элемента заполняют APanel.UNCPath полным именем (включая абсолютный путь) файла-списка. Если это может сломать работу Ваших скриптов, используйте сборку Временной панели 106 от более ранней версии Far, а лучше перейдите на Far 3.0.5641+, содержащий Временную панель сборки 110+ с устранённой вышеописанной особенностью.




Панель для результатов поиска файлов

Posted: Fri 14 Feb, 2020 00:16
by LAT

Latest post of the previous page:

citRiks wrote: Thu 13 Feb, 2020 23:02 Спросил я совета у старца XeRoX'a об этой незадаче, и вот он так говорит:
Перво-наперво, нужно прочитать "Отче Наш" со смиренным сердцем
И придет разумение, что в UTF8 дьявол прячется окаянный.
Второй дьявол прячется в РегЕкспе, к православной кириллице негодном.
Третий же дьявол в цифирях года сидит,
оные по еретической задумке 4-значные должны быть.

И увещеваю народ православный мануалы от лукаваго и не читать!
Ибо пустое это, лишь молитва спасает
Паче чаяния, старец ваш в грехе погряз. Ибо UTF8 есмь универсальная кодировка, Богу угодная, а РегЕкспы Божественным Промыслом предвселися, и не висети от святого Кирилла письмен. Иже цифери года и лукавы, то весьма не понеже враг рода человеческого лютует, а поелику грех первородный довлеет над человеками. И негоже взор свой вменяти на ереси и нерадити Писанием.

Панель для результатов поиска файлов

Posted: Fri 14 Feb, 2020 05:53
by IgorZ
skipik wrote: Thu 13 Feb, 2020 12:25 IgorZ, теперь так:



Это на полностью свежем фаре, с одним макросом.
Ну что я могу сказать? Дата не преобразуется корректно. Дальнейшие эксперименты показали, что с третьего раза "старец Григорий" таки угадал: функция win.SystemTimeToFileTime не преобразовывает дату, если год указан двумя цифрами. Пока, для скорости, предлагаю такой костыль: строку 394 оригинального файла

Code: Select all

    FT.wDay,FT.wMonth,FT.wYear,s,a,n = v.Text:match("^%s*(%d+)%D+(%d+)%D+(%d+)%s*│%s*(%S*)%s*│%s*(%S*)%s*│%s*(%S*)%s*$") -- достанем данные
меняем на

Code: Select all

    FT.wDay,FT.wMonth,FT.wYear,s,a,n = v.Text:match("^%s*(%d+)%D+(%d+)%D+(%d+)%s*│%s*(%S*)%s*│%s*(%S*)%s*│(.*)$") -- достанем данные
    if tonumber(FT.wYear)<100 then FT.wYear = FT.wYear+2000 end -- костыль для года без века
(заодно правится ещё один косяк, с пробелами в имени файла).
Позже постараюсь сделать покрасивее, без магических констант.

P. S. Кстати, а почему у Вас в списке найденных файлов вообще дата настроена на год из двух цифр? В чём смысл? Неужто знакоместо под два символа настолько критично?

Панель для результатов поиска файлов

Posted: Fri 14 Feb, 2020 06:21
by АНОНИМ
Вот с последней корректировкой всё заработало.

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

P.P.S. Хотя надо будет поэкспериментировать и выяснить, будет ли теперь работать неправленная версия 1.2, если год сдедать четырёхзначным. Вот только разберусь, где именно отображение даты меняется именно для этой панели.

Панель для результатов поиска файлов

Posted: Fri 14 Feb, 2020 06:48
by skipik
IgorZ, спасибо, теперь починилось!
IgorZ wrote: Fri 14 Feb, 2020 05:53 P. S. Кстати, а почему у Вас в списке найденных файлов вообще дата настроена на год из двух цифр? В чём смысл? Неужто знакоместо под два символа настолько критично?
Это по умолчанию так, я ничего там не менял.

Панель для результатов поиска файлов

Posted: Fri 14 Feb, 2020 08:18
by АНОНИМ
Так и не удалось найти, где именно надо поменять отображение даты, чтобы заработала версия 1.2 без костыля.

Настройки режима панелей файлов на это не влияют никак (во всех режимах делал отображение года четырёхзначным).

Кое-какой эффект есть, если поменять в дополнительных параметрах поиска ширину колонок. У меня там стояло 0,0,0. Хотя в справке почему-то указано, что по умолчанию значения полей равны 14,13,0. Изменение этих параметров ошибку не убрало, но проявляется она по-разному.
Если параметры равны 0,0,0, то после возникновения ошибки и после двукратного нажатия Enter появляется пустая панель результатов поиска.

Если поставить параметры 14,13,0, то после возникновения ошибки и двукратного нажатия Enter появляется панель с результатами поиска.

Панель для результатов поиска файлов

Posted: Fri 14 Feb, 2020 09:30
by IgorZ
АНОНИМ wrote: Fri 14 Feb, 2020 08:18 Так и не удалось найти, где именно надо поменять отображение даты, чтобы заработала версия 1.2 без костыля.
Настройки режима панелей файлов на это не влияют никак (во всех режимах делал отображение года четырёхзначным).
Кое-какой эффект есть, если поменять в дополнительных параметрах поиска ширину колонок.
Именно там.
АНОНИМ wrote: Fri 14 Feb, 2020 08:18 У меня там стояло 0,0,0. Хотя в справке почему-то указано, что по умолчанию значения полей равны 14,13,0.
У меня, как раз, "14,13,0", хоть я никогда не менял. Возможно, это возникло в какой-то из относительно недавних версий (у меня профиль тянется ещё с 1-й версии Far).
АНОНИМ wrote: Fri 14 Feb, 2020 08:18 Изменение этих параметров ошибку не убрало, но проявляется она по-разному.
Если параметры равны 0,0,0, то после возникновения ошибки и после двукратного нажатия Enter появляется пустая панель результатов поиска.
Если поставить параметры 14,13,0, то после возникновения ошибки и двукратного нажатия Enter появляется панель с результатами поиска.
А сколько цифр года выводится в каждой ситуации?
У меня с "14,13,0" выводятся 4 цифры, и всё работает без ошибок даже без правки.

Панель для результатов поиска файлов

Posted: Fri 14 Feb, 2020 14:52
by Shmuel
IgorZ wrote: Fri 14 Feb, 2020 05:53 if tonumber(FT.wYear)<100 then FT.wYear = FT.wYear+2000 end -- костыль для года без века
Лучше так: if a < 100 then if a >= 70 then a=a+1900 else a=a+2000 end end

Панель для результатов поиска файлов

Posted: Fri 14 Feb, 2020 15:06
by DrKnS

Панель для результатов поиска файлов

Posted: Sat 15 Feb, 2020 09:41
by citRiks
процитирую (отсюда: viewtopic.php?p=158973#p158973) сам себя:
Shmuel,
Спасибо, круто получилось!
пока мой академический интерес к ЛуаТемпПанели себя вполне оправдывает :)
И есть еще вылет Вашей панели, судя по всему, на датах которые меньше 2000-го:

На датах файлов больших 2000-го вылета нет,
но я подозреваю что где-то тихо происходит неправильное преобразование даты
Помню что вы чинить не собираетесь, отмечаю лишь для справки :)
проблема оказалась в том что влазит альтернативный панельный луа-скрипт (viewtopic.php?f=60&t=11605),
в том числе и когда его HE выбираем для отображения результатов поиска
(картинка вылета в оригинальном сообщении присутствует)

Панель для результатов поиска файлов

Posted: Sat 15 Feb, 2020 10:09
by citRiks
IgorZ, не умаляя достоинств Вашего плагина, для полноты картины,
процитирую еще одну цитату (viewtopic.php?f=60&t=11605) из обсуждения смежной темы:
citRiks wrote: Sat 15 Feb, 2020 10:04 Отмечу еще вот что, LuaOnlyTmpPanel@IgorZ (назовем его так) ведет себя плохо в такой ситуации:

1.) Делаем на нем QuickView
2.) Двигаем размер панелей по Ctrl-<Left/Right>, или вручную, или макросом вроде этого: viewtopic.php?f=15&t=8710
3.) Получаем очень медленную реакцию, не секунд 5-10, особенно заметную при использовании макроса,
но вполне заметную и ручным способом тоже

А вот в этом LuaDLLTmpPanel@ShmuZ (назовем его так) таких тормозов нет,
все происходит мгновенно, как и в нативной панели

Панель для результатов поиска файлов

Posted: Sat 15 Feb, 2020 10:43
by citRiks
IgorZ,
Я вот еще что подумал, и не могли ли вы пояснить
Написание панельных модулей вы явно осилили,
а тут есть прекрасный панельный Луа-Длл-Тмп-Панель-Плагин @Шмуэль: viewtopic.php?f=8&t=12022
(о качестве работы Шмуэля думаю что пояснять не надо)
Кажется что оный плагин полностью рабочий, и функционирование и предназначение его совпадает с вашим модулем,
но чтобы его осовременить надо бы перевести его в "Без-DLL-ьный" формат (избавится от зависимости в DLL-заглушке)

Как вы представляете обьем работы и времени для вас,
располагете ли вы возможностями это сделать?

Панель для результатов поиска файлов

Posted: Sat 15 Feb, 2020 10:55
by Shmuel
citRiks wrote: Sat 15 Feb, 2020 10:43 но чтобы его осовременить надо бы перевести его в "Без-DLL-ьный" формат (избавится от зависимости в DLL-заглушке)
Насчёт "осовременить", это как-то абстрактно звучит. Ну вот, допустим, это сделано, избавились от плагина, добавили панельный модуль. А какие конкретные выгоды от этого? 100 килобайт экономии на диске?

Панель для результатов поиска файлов

Posted: Sat 15 Feb, 2020 11:16
by citRiks
Shmuel,
Да, хороший вопрос, обьясню
1.) На многих местах работы стого-настрого с заносами внешних\новых DLL дела обстоят, вплоть до увольнений
(в "cyber-team" обычно такие тупни сидят, что мама не горюй)
2.) Навыки допиливания\изменения в Луа приобретаются легче чем С++,
3.) не требуют навыков настройки среды компилирования С++ - отдельный навык
4.) Лןицензия Visual Studio на рабочем месте стоит денег, а делать это всякими MingW - еще один отдельный навык

Панель для результатов поиска файлов

Posted: Sat 15 Feb, 2020 11:24
by Shmuel
citRiks,
По поводу п.1 ещё туда-сюда, хотя это глупо - из Lua/LuaJIT без всяких дополнительных DLL можно легко наделать делов в системе вплоть до её разрушения. По поводу остальных пунктов - мимо кассы, речь идёт о LuaFAR-плагинах, где не надо никаких навыков C++, никаких компилирований и лицензий. Вот вы переименовали LuaMacro.dll, и на этом дело закончилось, все изменения можно делать на Lua.

P.S. Поскольку я эту кухню знаю, могу подытожить: никаких преимуществ у панельного модуля перед LuaFAR-плагином нет (а наоборот - есть, но сейчас нет времени об этом). Единственная цель добавления механизма панельных модулей в LuaMacro, это для тех, кто боится DLL как огня, ну и ещё для каких-то простых случаев, чтобы не плодить плагины десятками.

Панель для результатов поиска файлов

Posted: Sat 15 Feb, 2020 11:36
by citRiks
Shmuel, Согласен что это глупо, но cyber-security есть cyber-security тупни есть тупни.
В то же время, GitHub может быть открыт, откуда и куда копи-пастим Луа-код, изменения Луа-кода.
За остальное - буду рад если так, но у меня сложилось впечатление, что несмотря что будучи автором этой модели DummyDLL+Lua вы и прямо и косвенно избегаете этой темы, представляя ее устаревшей.
Ну например, вас нет на PlugRinge, а в GitHube есть разрозненные элементы паззла (почти) без инструкций.
Да, вы великодушно делитесь если очень поприсить, но такая ситуация обычно происходит когда автор не заинтересован, не считает актуальным развитие такой модели.
Ну по крайней мере у меня таке впечатление есть, возможно что ошибочное, и буду очень рад ошибиться (?)
Если же я ошибаюсь, то нам тогда где-то нужен некий универсальный актуальный "официальный" набор DLL-заглушек для подобных плагинов, на которые "скриптизер" будет надевать свой Луа-код.
Или ЛуаМАкро.Длл полностью покрывает все настоящие и будущие потребности?

Панель для результатов поиска файлов

Posted: Sat 15 Feb, 2020 11:40
by John Doe
citRiks wrote: Sat 15 Feb, 2020 11:36 Если же я ошибаюсь, то нам тогда где-то нужен некий универсальный актуальный "официальный" набор DLL-заглушек для подобных плагинов, на которые "скриптизер" будет надевать свой Луа-код
Ничего уже не надо.
Для старых плагинов эти заглушки уже есть.
А новые скрипты проще сразу писать для среды luamacro.