Script Content Plugin

Обсуждение только плагинов и утилит для Total Commander.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

KAC
Сообщения: 1
Зарегистрирован: Ср июл 03, 2013 12:57

Сообщение KAC »

Уважаемые программисты, помогите натстроить/написать скрипт для конкретной цели, пожалуйста.
задача такая: отображать информацию о снятом спектре (научные спектры ЯМР) в списке папок напротив каждой папки.
один спектр хранится в одной папке например /101/ таких папок очень много и каждое имя папки не несет никакой инфрмации, а вся информация о спектре содержится в текстовых файлах внутри каждой папки например:
Название спектра хранится в в первой строчке файла title, файл лежит всегда /101/pdata/1/title
Температура, при которой снят спектр находится в файле /101/acqus в виде ##$TE= 298.0488, номер строки не всегда постоянен, главное то что температура всегда стоит после символов ##$TE=
импульсная последовательность, с помощью которой снят спектр находится в том же файле /101/aqcus, но после символов ##$PULPROG= например ##$PULPROG= <zgesgp>
и так далее, число накоплений, например, в файле /101/aqcus ##$NS= 128

Очень хочется чтобы плагин, все время "заглядывал" во внутренности каждой папки искал нажные параметры и выводил в виде разных колонок сразу рядом с названием папки.
Насколько я понял, это в принципе возможно, но я не понимаю, как написать скрипт, который будет делать такую штуку.
Очень прошу, тех, кому это не составит труда, помочь на благо Российской науке.
Спасибо.
Serge Yolkin
Сообщения: 664
Зарегистрирован: Сб июл 25, 2009 11:12

Сообщение Serge Yolkin »

А нет ли где-нибудь примера js скрипта для этого плагина, а то в архиве пример не слишком информативный?

Добавлено спустя 5 минут:

Упс... Нашел Здесь
Serge Yolkin
Сообщения: 664
Зарегистрирован: Сб июл 25, 2009 11:12

Сообщение Serge Yolkin »

Гы... Найденный пример не работал по дурацкой причине: если в vbs переменная content обрабатывается, то в js надо писать имя переменной с большой буквы. Вероятно, и с ContentsN то же - ещё не проверял.

Lev, а плагин ещё поддерживается?
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Serge Yolkin
Давно нет. Он вообще очень короткое время поддерживался.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Serge Yolkin
Сообщения: 664
Зарегистрирован: Сб июл 25, 2009 11:12

Сообщение Serge Yolkin »

Жаль... А то там в js пути без слэшей передаются (видимо не задвоены), а если что-то с u начинается, то плагин это считает \u и ждет дальше кода символа. С b тоже прикольно. А мне CaptainFlint советовал с помощью этого плагина исполняшки парсить...
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Тогда VBS. :D
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Serge Yolkin
Сообщения: 664
Зарегистрирован: Сб июл 25, 2009 11:12

Сообщение Serge Yolkin »

Да не знаю я Васика...
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Смайлик тому свидетель. :roll:

А что на оффсайте пишут? Я в подробности по поводу js не вдавался.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
CaptainFlint
Сообщения: 6239
Зарегистрирован: Вт дек 14, 2004 22:34
Контактная информация:

Сообщение CaptainFlint »

[cut="Чуток оффтопа"]
Serge Yolkin писал(а):А мне CaptainFlint советовал с помощью этого плагина исполняшки парсить...
Ну я как бы предполагал знание языка (или хотя бы желание в нём разобраться)… :) Esc-последовательности в строках и необходимое из-за них экранирование спец-символов являются стандартными особенностями JS. Как и многих других языков программирования, кстати говоря.[/cut]
Почему же, ё-моё, ты нигде не пишешь "ё"?
Serge Yolkin
Сообщения: 664
Зарегистрирован: Сб июл 25, 2009 11:12

Сообщение Serge Yolkin »

CaptainFlint
Я в курсе. Плагин передаёт в скрипт переменную filename, как строку с незадвоенными слэшами, поэтому скрипт (js)

Код: Выделить всё

Content=filename;
выводит полное имя без слэшей, а если какой-то элемент пути начинается с u, b и т.д. - считает это эскейп последовательностью (правильной, или неправильной: например, для u в колонку выводится "Предполагается шестнадцатеричное число"). Задвоить слэши из скрипта уже не получится:

Код: Выделить всё

Content=/\\/.test(filename);
выдаёт те же ошибки с u, а для всех остальных файлов - всегда false.

Или "желание в нём разобраться" относилось к VBS?

Добавлено спустя 9 минут:
Flasher писал(а):А что на оффсайте пишут?
А там единственный пример на js - и тот нерабочий.
Аватара пользователя
CaptainFlint
Сообщения: 6239
Зарегистрирован: Вт дек 14, 2004 22:34
Контактная информация:

Сообщение CaptainFlint »

Serge Yolkin
Тогда я неправильно понял суть проблемы. Я думал, в JS-скрипт была скопирована строчка из VBS-скрипта с одинарными слэшами. А если текст лежит в переменной, то там не должно быть таких проблем. Esc-последовательности срабатывают только при считывании и разборе JS-скрипта движком. Т. е. когда он в исходном коде компилируемого скрипта встречает, например, строчку с последовательностью "\n", то трактует это особым образом (подставляет в итоговую строку не эти два символа, а конец строки). Но если у него уже есть переменная, содержащая готовую строку с этими двумя символами (обратный слэш и буква "n") — например, он прочитал эту строку из файла — то, разумеется, он ни в коем случае не будет её трактовать как конец строки. (Разве что подставишь её в eval, когда содержимое строки компилируется и выполняется как новый скрипт.)

К сожалению, я слишком давно копался с этим плагином и уже не помню деталей взаимодействия его со скриптами, поэтому сходу пока не могу понять, по какому маршруту тут бегают строки и в какой момент они трактуются таким неожиданным образом.
Почему же, ё-моё, ты нигде не пишешь "ё"?
Serge Yolkin
Сообщения: 664
Зарегистрирован: Сб июл 25, 2009 11:12

Сообщение Serge Yolkin »

CaptainFlint
Боюсь накосячить с терминологией, но, насколько я понял, плагин использует для связи со скриптом две (больше, но остальные пока не в счёт) глобальные переменные: Content и filename (в скрипте они должны определяться без var, т.е. как глобальные). В первой - результат работы скрипта передаётся в плагин, во второй - имя файла передаётся плагином в скрипт. Вот во второй переменной и затык. Полное имя туда пишется как есть, а скрипт это прочитать не может.
Аватара пользователя
CaptainFlint
Сообщения: 6239
Зарегистрирован: Вт дек 14, 2004 22:34
Контактная информация:

Сообщение CaptainFlint »

Serge Yolkin
Поставил себе этот плагин, потестил. Похоже, проблема в самом плагине. Я не знаю, как он передаёт имя файла в скрипт (к сожалению, исходников нет), но такое поведение заставляет предположить, что движку просто скармливается строка вида

Код: Выделить всё

'var filename = "' + filename + '";'
Естественно, при такой обработке проклюнутся все эти наблюдаемые эффекты с заменой \n на конец строки, \t на табуляцию и т. д. Если так, то это однозначный баг плагина, который обойти, наверное, никак не получится. :(

Товарищ Lev, можно ли услышать какие-нибудь комментарии на этот счёт?
Почему же, ё-моё, ты нигде не пишешь "ё"?
Serge Yolkin
Сообщения: 664
Зарегистрирован: Сб июл 25, 2009 11:12

Сообщение Serge Yolkin »

Уф-ф... Есть подтверждение. А то я свою Win 8.1 Preview подозревать начал. С IE11 вместе.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Serge Yolkin
Передавай content через ScriptControl.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Ответить