Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

[Req] WDX для отображения 1-й строки файла
Goto page Previous  1, 2, 3, 4, 5, 6  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Skif_off



Joined: 28 Nov 2012
Posts: 1028

Post (Separately) Posted: Tue Dec 09, 2014 13:11    Post subject: Reply with quote

ProgMan13
Спасибо, надо было сразу репортить Smile
Back to top
View user's profile Send private message
Skif_off



Joined: 28 Nov 2012
Posts: 1028

Post (Separately) Posted: Wed Dec 10, 2014 01:37    Post subject: Reply with quote

ProgMan13
Только сейчас вспомнил, что не проверил
Code:
[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

 х64

Для воспроизведения нужно раз навести на выложенный файл, увести курсор на другой и снова вернуться (х86 падает быстрее).

С обрезанием строк всё работает нормально вроде.
Back to top
View user's profile Send private message
ProgMan13



Joined: 19 Aug 2009
Posts: 178

Post (Separately) Posted: Fri Dec 12, 2014 11:58    Post subject: Reply with quote

Skif_off
TC падает если количество символов в подсказке в районе 3000. Плагин для одной строки возвращает максимально 1021 символ. Так что правильно их ограничивать для подсказок.
Back to top
View user's profile Send private message
ProgMan13



Joined: 19 Aug 2009
Posts: 178

Post (Separately) Posted: Fri Jan 09, 2015 19:29    Post subject: Reply with quote

Гислер подтвердил баг в TC с длинными подсказками и пообещал исправить.
Проблема в принудительном разбиении строк (CRLF): их 25 и под них резервируется 50 байт, а должно 50 юникодных символов, т.е. 100 байт. Авторы плагинов могут принудительно вставлять разрыв строк, чтобы избежать этих проблем. Правда, как я понимаю, придётся высчитывать кол-во символов. Я разбираться с этим не стал.

Добавил только пропуск пустых строк:
http://progman13.totalcmd.net/downloads/wdx_TextLine_Unicode_Beta.zip
Back to top
View user's profile Send private message
Skif_off



Joined: 28 Nov 2012
Posts: 1028

Post (Separately) Posted: Mon Jan 19, 2015 15:20    Post subject: Reply with quote

Ни у кого случайно не осталась предыдущая версия, в которой ещё не работает опция SkipEmpty=1?

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

ProgMan13 wrote:
Авторы плагинов могут принудительно вставлять разрыв строк, чтобы избежать этих проблем. Правда, как я понимаю, придётся высчитывать кол-во символов. Я разбираться с этим не стал

Полностью поддерживаю ваше решение Smile Это наверняка скажется на скорости работы.
Back to top
View user's profile Send private message
ProgMan13



Joined: 19 Aug 2009
Posts: 178

Post (Separately) Posted: Thu Jan 22, 2015 21:43    Post subject: Reply with quote

Skif_off wrote:
Ни у кого случайно не осталась предыдущая версия, в которой ещё не работает опция SkipEmpty=1?

Зачем? Если прописать SkipEmpty=0, то будет работать как предыдущая.
Back to top
View user's profile Send private message
Skif_off



Joined: 28 Nov 2012
Posts: 1028

Post (Separately) Posted: Thu Jan 22, 2015 23:51    Post subject: Reply with quote

ProgMan13
Показалось, что даже с SkipEmpty=0 есть задержка, но лучше поверю на слово, спасибо Smile
Back to top
View user's profile Send private message
vitjazzz



Joined: 27 Feb 2015
Posts: 4

Post (Separately) Posted: Mon Mar 02, 2015 01:24    Post subject: количество строк Reply with quote

Подскажите каким образом вывести 15 и 20 строки файла? Есть ограничения в количестве строк (до 10)?
Back to top
View user's profile Send private message
Skif_off



Joined: 28 Nov 2012
Posts: 1028

Post (Separately) Posted: Mon Mar 02, 2015 02:09    Post subject: Reply with quote

vitjazzz
Плагин не умеет больше 10 (пока?) и, наверное, это хорошо - скорость тут должна быть далеко не на последнем месте.

Плагин PCREsearch не пробовали?
Back to top
View user's profile Send private message
vitjazzz



Joined: 27 Feb 2015
Posts: 4

Post (Separately) Posted: Mon Mar 02, 2015 13:23    Post subject: Skif_off Reply with quote

Спасибо за оперативность! PCREsearch помог (частично).
Задачей является вывод в колонку ТС информации тэга xml файла (как оказалось послу установки плагина -у разных файлов разные номера строк целевого тэга//не обратил внимание Sad

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

Если правильно понял, для решения моей задачи необходимо написать регулярное выражение для поиска строки с тэгом <LastName>, родителем для которого будет ИМЕННО <FullName>,
Code:
<FullName>
<LastName>Иванов</LastName>
</FullName>

так как строка с тэгом <LastName> в xml файле встречается несколько раз:
Code:
<ChiefName>
<LastName>Петров</LastName>
</ChiefName>


Idea буду учить regexp-ы Idea

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

<FullName> встречается в файле только один раз, значит необходимо найти и вывести следующую за <FullName> строку. Помогите с регулярным выражением! Мои попытки безрезультатны:
Code:

regex4=(\<\Fullname>\R)
Back to top
View user's profile Send private message
Skif_off



Joined: 28 Nov 2012
Posts: 1028

Post (Separately) Posted: Mon Mar 02, 2015 19:15    Post subject: Reply with quote

vitjazzz
Попробуйте так:
Code:
regex4=(<FullName>[\r\n]{1, 2}\s+<LastName>)([А-ЯЁа-яё]+)(</LastName>)
regex4replace=$2
Back to top
View user's profile Send private message
vitjazzz



Joined: 27 Feb 2015
Posts: 4

Post (Separately) Posted: Tue Mar 03, 2015 11:30    Post subject: Reply with quote

Пустые строки выдает ТС. Ни в какую Sad
А очень нужно. С регекспами знаком очень поверхностно, а плагин работает именно с ними, придётся разбираться...
Возможно есть RegExp тестеры, которые помогут мне быстрее вникнуть? Что посоветуете?
Back to top
View user's profile Send private message
Skif_off



Joined: 28 Nov 2012
Posts: 1028

Post (Separately) Posted: Tue Mar 03, 2015 12:39    Post subject: Reply with quote

vitjazzz
Есть масса онлайн-ресурсов, сам только осваиваюсь, предпочитаю RegExp или (чаще) в текстовом редакторе пробую.
Напортачил я в количестве повторений, прошу прощения, попробуйте так:
Code:
regexN=(<FullName>[\r\n]{1,2}\s*<LastName>)([А-ЯЁа-яё]+)(</LastName>)
regexNreplace=$2


К слову, похожая задача, только я там экранирую скобки <>, это делать необязательно Smile

P.S. Не забывайте, что при копировании кода в конец каждой строки добавляется пробел, что может сыграть дурную шутку.

P.P.S. Наверное, нужна отдельная тема по регэкспам...
Back to top
View user's profile Send private message
vitjazzz



Joined: 27 Feb 2015
Posts: 4

Post (Separately) Posted: Tue Mar 03, 2015 15:02    Post subject: TO Skif_off Reply with quote

Решено и реализовано с помощью идеи Skiff_off,
онлайн-тест-отладчика https://regex101.com/#pcre

Регулярное выражение:
Code:
(<FullName>\K)+[\n\s]+(<LastName>\K)([А-ЯІЇҐ][а-яіїґ]+)


возвращает строку между тэгом LastName идущим ПОСЛЕ тэга FullName (т.к. LastName в искомых файлах встречается минимум три и больше раз)
Часть XML файла:

Code:
 <RegionalContacts>
            <LocalAuthorityHead>
              <LastName>Фамилия</LastName>
              <FirstName>Главы</FirstName>
              <MiddleName>Сельсовета</MiddleName>
            </LocalAuthorityHead>       
..................................................................................
                 <Percent>100</Percent>
                  </ParcelPart>
                  <Authentication>
                    <NaturalPerson>
                      <FullName>
                        <LastName>Іванов</LastName>
                        <FirstName>Іван</FirstName>
                        <MiddleName>Зіновійович</MiddleName>


Огромная благодарность товарищу Skif_off за проявленую помощь и интерес
Back to top
View user's profile Send private message
Dimsok



Joined: 17 Aug 2014
Posts: 532

Post (Separately) Posted: Sat Sep 19, 2015 19:20    Post subject: Reply with quote

ProgMan13 wrote:


Добавил только пропуск пустых строк:
http://progman13.totalcmd.net/downloads/wdx_TextLine_Unicode_Beta.zip


Не работает ссылка

Скачалось.

Добавлено спустя 1 час 22 минуты:

Есть идеи, каким образом можно осуществить вывод текстовых строк в колонки из файла, находящегося в архиве? Речь о словарях dsl, упакованных каждый в отдельный архив dz c помощью dictzip. По сути обычный gzipped.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3, 4, 5, 6  Next
Page 5 of 6

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group