PCREsearch как пользоваться?
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3, 4  :| |:
Total Commander -> Плагины Total Commander

#46:  Author: Monarch-LFV PostPosted: Wed Mar 09, 2022 04:37
    —
Skif_off
Да, вы правы, вставил 2 байта в hex-редакторе и заработало. Попробую связаться с автором плагина.

#47:  Author: Skif_off PostPosted: Wed Mar 09, 2022 06:11
    —
Monarch-LFV
Возможно, есть смысл со скрипта начать? Типа
Code:
Set FSO = CreateObject("Scripting.FileSystemObject")
Set TextStream = FSO.OpenTextFile(filename, 1, False, -1)
Str = TextStream.Read(256)
TextStream.Close

N1 = InStr(Str, "<string>")
If IsNumeric(N1) = False Then WScript.Quit
N2 = InStr(N1, Str, "</string>")
content = Mid(Str, N1 + 8, N2 - (N1 + 7))


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

Чутка оптимизировал, чтобы поиск закрывающего тега шёл не с самого начала.

#48:  Author: Monarch-LFV PostPosted: Wed Mar 09, 2022 06:57
    —
Skif_off
За скрипт для WinScriptsAdv большое спасибо, немного адаптировал: отключил ошибку (на всякий случай, версии файлов DWG бывают разные, воможно принцип отличается), чтение большего массива из файла (16кБ, где-то в этих пределах в файле лежат нужные данные) и убрал последний символ "<"
Code:
on error resume next
Set FSO = CreateObject("Scripting.FileSystemObject")
Set TextStream = FSO.OpenTextFile(filename, 1, False, -1)
Str = TextStream.Read(16000)
TextStream.Close

N1 = InStr(Str, "<string>")
If IsNumeric(N1) = False Then WScript.Quit
N2 = InStr(N1, Str, "</string>")
content = Mid(Str, N1 + 8, N2 - (N1 + 8))

Работает как часы.

Еще, по поводу плагина в теме (PCREsearch): есть в ini еще настройка:
Code:
; allow binary zeros (two joined zero bytes) for detecting UTF-16 files (does not affect UTF-8 detection)
UnicodeZerosValid=false

Поменял на true, тестовый файл стал правильно читаться, но вот dwg также не считываются... подвох все же есть с нулями где-то. Но, думаю, уже и не надо, скрипт выше работает - и это главное.

#49:  Author: Skif_off PostPosted: Wed Mar 09, 2022 16:19
    —
Monarch-LFV wrote:
и убрал последний символ "<"

Прошу прощения, обсчитался (не проверял, с телефона) Smile, насчёт 16000-16кб: метод Read читает по символам, не по байтам, по идее - для двухбайтной UTF-16 тут должно быть достаточно 8000.

За UnicodeZerosValid не подскажу, но выглядит так, будто связан с чтением бинарных файлов, только там 00 (или 0000 для двухбайтной) может быть не в конце строки.



Total Commander -> Плагины Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page Previous  1, 2, 3, 4  :| |:
Page 4 of 4

Powered by phpBB © 2001, 2005 phpBB Group