Спасибо, надо было сразу репортить
[Req] WDX для отображения 1-й строки файла
Модераторы: Моторокер, Avada, CaptainFlint, Nik, d-view
ProgMan13
Только сейчас вспомнил, что не проверил
таки упало:
или
Для воспроизведения нужно раз навести на выложенный файл, увести курсор на другой и снова вернуться (х86 падает быстрее).
С обрезанием строк всё работает нормально вроде.
Только сейчас вспомнил, что не проверил
Код: Выделить всё
[HintsCustomField]
0exts=*.txt;*.ini;*.inf
0fields=[=textline.1]\n[=textline.2]\n[=textline.3]\n[=textline.4]\n[=textline.5]\n[=textline.6]\n[=textline.7]\n[=textline.8]\n[=textline.9]\n[=textline.10]х86
Код: Выделить всё
Имя события проблемы: APPCRASH
Имя приложения: TOTALCMD.EXE
Версия приложения: 8.5.1.1
Отметка времени приложения: 2a425e19
Имя модуля с ошибкой: TOTALCMD.EXE
Версия модуля с ошибкой: 8.5.1.1
Отметка времени модуля с ошибкой: 2a425e19
Код исключения: c0000005
Смещение исключения: 00001c10
Версия ОС: 6.1.7601.2.1.0.256.48
Код языка: 1049
Дополнительные сведения 1: f808
Дополнительные сведения 2: f80848a68588a5910da39d482cd0246c
Дополнительные сведения 3: 9015
Дополнительные сведения 4: 90152e151883825ea6413858bc39daedКод: Выделить всё
---------------------------
Total Commander 8.51a
---------------------------
Access violation at address 00401E7B. Write of address 200E0032.
Access violation at address 00401E7B. Write of address 200E0032
Windows 7 SP1 6.1 (Build 7601)
Please report this error to the Author, with a description
of what you were doing when this error occurred!
Windows exception: C0000005
Stack trace:
00401E7B
401C97 4026B8 58073B 446589 4484F6 >42590C
447A9B 42590C 42AFC8 42B064 7056AB
Raw:
401E61 4023C7 401C97 401EBD 402363 4026B8
6C5D76 447A9B 630063 690072 690072 690072
690072 46006A 61002C 6FB72C 448852 446589
4487C5 43785A 447AEE 447B66 4484F6 448519
42590C 580299 402E4A 446589 4487C5 448813
4275E8 42590C 447A9B 42590C 690072 690072
690072 690072 46006A 447A09 42590C 4489CE
44886F 446589 4487C5 4484F6 43785A 447AEE
447B66 4484F6 448519 42590C 447A9B 42590C
4023EF 4026B8 4036C1 63AAF4 4487C5 43785A
Press Ctrl+C to copy this report!
Continue execution?х64
Код: Выделить всё
---------------------------
Total Commander 8.51a
---------------------------
Access violation.
Access violation
Windows 7 SP1 6.1 (Build 7601)
Please report this error to the Author, with a description
of what you were doing when this error occurred!
Stack trace (x64):413F54
414133 412C7E 41D4C1 468C4E 6AE8A9 7E0CF7 431F15 7E5682
7E3C77 7E3AF8 7D3479 7DE8FF 7D3B20 814B6D 8D7E72 76F99BD1
Press Ctrl+C to copy this report!
Continue execution?С обрезанием строк всё работает нормально вроде.
Гислер подтвердил баг в TC с длинными подсказками и пообещал исправить.
Проблема в принудительном разбиении строк (CRLF): их 25 и под них резервируется 50 байт, а должно 50 юникодных символов, т.е. 100 байт. Авторы плагинов могут принудительно вставлять разрыв строк, чтобы избежать этих проблем. Правда, как я понимаю, придётся высчитывать кол-во символов. Я разбираться с этим не стал.
Добавил только пропуск пустых строк:
http://progman13.totalcmd.net/downloads ... e_Beta.zip
Проблема в принудительном разбиении строк (CRLF): их 25 и под них резервируется 50 байт, а должно 50 юникодных символов, т.е. 100 байт. Авторы плагинов могут принудительно вставлять разрыв строк, чтобы избежать этих проблем. Правда, как я понимаю, придётся высчитывать кол-во символов. Я разбираться с этим не стал.
Добавил только пропуск пустых строк:
http://progman13.totalcmd.net/downloads ... e_Beta.zip
Ни у кого случайно не осталась предыдущая версия, в которой ещё не работает опция SkipEmpty=1?
Добавлено спустя 3 минуты:
Это наверняка скажется на скорости работы.
Добавлено спустя 3 минуты:
Полностью поддерживаю ваше решениеProgMan13 писал(а):Авторы плагинов могут принудительно вставлять разрыв строк, чтобы избежать этих проблем. Правда, как я понимаю, придётся высчитывать кол-во символов. Я разбираться с этим не стал
количество строк
Подскажите каким образом вывести 15 и 20 строки файла? Есть ограничения в количестве строк (до 10)?
vitjazzz
Плагин не умеет больше 10 (пока?) и, наверное, это хорошо - скорость тут должна быть далеко не на последнем месте.
Плагин PCREsearch не пробовали?
Плагин не умеет больше 10 (пока?) и, наверное, это хорошо - скорость тут должна быть далеко не на последнем месте.
Плагин PCREsearch не пробовали?
Skif_off
Спасибо за оперативность! PCREsearch помог (частично).
Задачей является вывод в колонку ТС информации тэга xml файла (как оказалось послу установки плагина -у разных файлов разные номера строк целевого тэга//не обратил внимание
Добавлено спустя 29 минут:
Если правильно понял, для решения моей задачи необходимо написать регулярное выражение для поиска строки с тэгом <LastName>, родителем для которого будет ИМЕННО <FullName>,
так как строка с тэгом <LastName> в xml файле встречается несколько раз:
буду учить regexp-ы 
Добавлено спустя 1 час 55 минут:
<FullName> встречается в файле только один раз, значит необходимо найти и вывести следующую за <FullName> строку. Помогите с регулярным выражением! Мои попытки безрезультатны:
Задачей является вывод в колонку ТС информации тэга xml файла (как оказалось послу установки плагина -у разных файлов разные номера строк целевого тэга//не обратил внимание
Добавлено спустя 29 минут:
Если правильно понял, для решения моей задачи необходимо написать регулярное выражение для поиска строки с тэгом <LastName>, родителем для которого будет ИМЕННО <FullName>,
Код: Выделить всё
<FullName>
<LastName>Иванов</LastName>
</FullName>Код: Выделить всё
<ChiefName>
<LastName>Петров</LastName>
</ChiefName>Добавлено спустя 1 час 55 минут:
<FullName> встречается в файле только один раз, значит необходимо найти и вывести следующую за <FullName> строку. Помогите с регулярным выражением! Мои попытки безрезультатны:
Код: Выделить всё
regex4=(\<\Fullname>\R)
vitjazzz
Попробуйте так:
Попробуйте так:
Код: Выделить всё
regex4=(<FullName>[\r\n]{1, 2}\s+<LastName>)([А-ЯЁа-яё]+)(</LastName>)
regex4replace=$2vitjazzz
Есть масса онлайн-ресурсов, сам только осваиваюсь, предпочитаю RegExp или (чаще) в текстовом редакторе пробую.
Напортачил я в количестве повторений, прошу прощения, попробуйте так:
К слову, похожая задача, только я там экранирую скобки <>, это делать необязательно 
P.S. Не забывайте, что при копировании кода в конец каждой строки добавляется пробел, что может сыграть дурную шутку.
P.P.S. Наверное, нужна отдельная тема по регэкспам...
Есть масса онлайн-ресурсов, сам только осваиваюсь, предпочитаю RegExp или (чаще) в текстовом редакторе пробую.
Напортачил я в количестве повторений, прошу прощения, попробуйте так:
Код: Выделить всё
regexN=(<FullName>[\r\n]{1,2}\s*<LastName>)([А-ЯЁа-яё]+)(</LastName>)
regexNreplace=$2P.S. Не забывайте, что при копировании кода в конец каждой строки добавляется пробел, что может сыграть дурную шутку.
P.P.S. Наверное, нужна отдельная тема по регэкспам...
TO Skif_off
Решено и реализовано с помощью идеи Skiff_off,
онлайн-тест-отладчика https://regex101.com/#pcre
Регулярное выражение:
возвращает строку между тэгом LastName идущим ПОСЛЕ тэга FullName (т.к. LastName в искомых файлах встречается минимум три и больше раз)
Часть XML файла:
Огромная благодарность товарищу Skif_off за проявленую помощь и интерес
онлайн-тест-отладчика https://regex101.com/#pcre
Регулярное выражение:
Код: Выделить всё
(<FullName>\K)+[\n\s]+(<LastName>\K)([А-ЯІЇҐ][а-яіїґ]+)Часть XML файла:
Код: Выделить всё
<RegionalContacts>
<LocalAuthorityHead>
<LastName>Фамилия</LastName>
<FirstName>Главы</FirstName>
<MiddleName>Сельсовета</MiddleName>
</LocalAuthorityHead>
..................................................................................
<Percent>100</Percent>
</ParcelPart>
<Authentication>
<NaturalPerson>
<FullName>
<LastName>Іванов</LastName>
<FirstName>Іван</FirstName>
<MiddleName>Зіновійович</MiddleName>Не работает ссылкаProgMan13 писал(а):
Добавил только пропуск пустых строк:
http://progman13.totalcmd.net/downloads ... e_Beta.zip
Скачалось.
Добавлено спустя 1 час 22 минуты:
Есть идеи, каким образом можно осуществить вывод текстовых строк в колонки из файла, находящегося в архиве? Речь о словарях dsl, упакованных каждый в отдельный архив dz c помощью dictzip. По сути обычный gzipped.