Script Content Plugin

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

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

Skif_off
Сообщения: 1257
Зарегистрирован: Ср ноя 28, 2012 13:44

Сообщение Skif_off »

Lev
В WinPE на базе WinXP SP2 вылетает ошибка
Crash in plugin script.wdx:
External exception EEDFADE
с любым скриптом, по две-три (или даже по четыре) штуки на каждый файл в файловой панели, а в нормальной WinXP SP3 и Win7x64 - ничего подобного.
Куда бы копнуть? dll-зависимости вроде удовлетворены, остаются COM и/или WMI.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Skif_off
Перенести скрипты в WACP не судьба? :wink:
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Skif_off
Сообщения: 1257
Зарегистрирован: Ср ноя 28, 2012 13:44

Сообщение Skif_off »

Flasher
А почему не спросил, работают ли те же скрипты в WACP? :) К слову, работают. Просто подумал, что может вылезти где-то ещё в JS/VBS, ведь Lev вряд-ли использует экзотику, а если чего-то явно не хватает - добавлю, если это достаточно быстро (например, чтобы заработал ChmKeyword.js для AkelPad'а, понадобилось добавить в реестр всего несколько строк, и нашёл их сравнительно быстро).
Хотя сейчас думаю, что, наверное, смысла особо и нет :)
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Skif_off
Не спосил, ибо не сомневался. Наоборот у WACP есть вещи, не работающие у SCP. Плюс он быстрее из-за предзагрузки скриптов в память.
У AkelPad-а же свои завязки, т.ч. сюда его подмешивать не стоит. :wink:
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Skif_off
Сообщения: 1257
Зарегистрирован: Ср ноя 28, 2012 13:44

Сообщение Skif_off »

Flasher писал(а):У AkelPad-а же свои завязки, т.ч. сюда его подмешивать не стоит.
Дык AkelPad далеко не только свои собственные объекты использует :wink: Там была проблема с вполне себе системным hhctrl.ocx.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Skif_off
Я понимаю. Но там реализация иная. А тут фактически аналоги.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Parazit
Сообщения: 25
Зарегистрирован: Ср ноя 16, 2016 05:39
Откуда: Россия

Сообщение Parazit »

А как сделать так, чтобы в колонки не выводились кракозябры, когда файлы, для которых выводятся колонки имеет кодировку UTF-8?
В файлах с ANSII - всё нормально выводит.
Возможно ли такое побороть?
Аватара пользователя
funduk
Сообщения: 1515
Зарегистрирован: Вт авг 16, 2005 16:00
Откуда: Санкт-Петербург

Сообщение funduk »

Parazit
Перейти на более новый плагин http://forum.wincmd.ru/viewtopic.php?t=16067
Аватара пользователя
Parazit
Сообщения: 25
Зарегистрирован: Ср ноя 16, 2016 05:39
Откуда: Россия

Сообщение Parazit »

funduk, я как раз, на него недавно перешёл. Они явно сделаны на одном движке. Поэтому вывод колонок абсолютно идентичен.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Parazit
Приведите лучше код и место кодировки.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Parazit
Сообщения: 25
Зарегистрирован: Ср ноя 16, 2016 05:39
Откуда: Россия

Сообщение Parazit »

Вот скрипт
Скрипт
Dim fso, ts, s, re
Set fso = CreateObject("Scripting.FileSystemObject")
Const ForReading = 1

Set re = New RegExp
re.Global = True
re.IgnoreCase = True
re.MultiLine = True

Set f = fso.GetFile(filename)
Set ts = fso.OpenTextFile(filename, ForReading)
s = ts.read(1000)
ts.Close

re.Pattern = "<TITLE>(.*)</TITLE>"
if re.Test(s) then
Set tt = re.Execute(s)
content= re.replace (tt(0),"$1")
End if

set f=nothing
set fso=nothing
set re=nothing

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

Сообщение Flasher »

А место кодировки? Где подопытный? Так не разобраться.
Но уже очевидно, что проблема в коде. Прежде чем скрипт приспосабливать к плагину, обычно проводят локальный тест с MsgBox, который показал бы что плагин к этому отношения иметь не должен.
OpenTextFile не умеет читать файлы в UTF-8. Для этого используется ADODB.Stream. Но если учесть, что заголовок может иметь разную кодировку, то прежде нужно узнать какая она. В html можно смотреть

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

<meta charset="кодировка"
<meta http-equiv="Content-Type" content="text/html; charset=кодировка"
Нужные теги можно читать с пом. htmlfile, можно и c Regexp, но 1000 символов в ряде случаев может не хватить.
Если это не HTML, то нужны тестовые файлы.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Parazit
Сообщения: 25
Зарегистрирован: Ср ноя 16, 2016 05:39
Откуда: Россия

Сообщение Parazit »

Flasher, а почему у меня этот скрипт не работает?

Скрипт

Set oFSO = CreateObject("Scripting.FileSystemObject")
'Set WScript = CreateObject("WScript.Shell")
sCurFolder = oFSO.GetParentFolderName(WScript.ScriptFullName)

For each oSubFolder in oFSO.GetFolder(sCurFolder).SubFolders
Result = Result & oSubFolder.Files.Count
Next
Пишит, что требуется объект WScript.
Ну мы же знаем, что его создавать не надо.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Parazit
Объект WScript этими плагинами не поддерживается.
Каков смысл в получении родительской папки скрипта?
Вот эта вещь

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

Result = Result & oSubFolder.Files.Count
в цикле при наличии в папке скрипта 10 файлов вернёт 10101010101010101010. Т.е. 10 раз по 10. К чему это вообще?
Если нужно получать число файлов структуры каждого каталога, то для этого есть [=dirsizecalc.File Count].

И я до сих пор не вижу причины оставаться на этом плагине без поддержки множества скриптов.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Аватара пользователя
Parazit
Сообщения: 25
Зарегистрирован: Ср ноя 16, 2016 05:39
Откуда: Россия

Сообщение Parazit »

Flasher, ну так как мне организовать такой скрипт?
Ответить