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 

[wlx] csvtab - просмотр CSV файлов
Goto page Previous  1, 2, 3, 4, 5 ... 9, 10, 11  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Destiny



Joined: 15 Dec 2015
Posts: 212

Post (Separately) Posted: Wed Nov 03, 2021 13:37    Post subject: Reply with quote

little-brother wrote:
Улучшен csv парсер
Улучшено авто-определение разделителя (в том числе и для однострочников)
Значительно быстрее работает сортировка (заменил пузырек на слияние)

Со всем согласен!

little-brother wrote:
Добавлена поддержка стандартного поиска по Ctrl + F

Ну, стоит дописать " и по F7". Правда же)) А вот насчет "и поиск по русскому тексту без учета регистра." - это вот про такой случай:
Есть строка для поиска "Молот". И есть строки в такой последовательности:
Молот;и всякие дальнейшие колонки ФИО и всяких данных.....
Тихонов;Иван;Умолотович;и всякие дальнейшие колонки всяких данных.....
Так вот при поиске "Молот" мне сперва выделяется вторая строка! Намекая на результат поиска как подстроки. Это-то конечно верно, но в первой же строке есть ПОЛНОЕ соответствие! И её выделить/найти можно, только если я поставлю галочку "Учитывать регистр".
Если речь именно об этом, так может просто случайно перевёрнуто применение считываемой опции Листеровского окна поиска "Учитывать регистр"? Т.е. Опция выключена, а в коде считывается и используется её обратная суть - будто опция включена. Ибо она все же работает, но просто наоборот)))

После поиска найденную строку, имхо, логичнее и выделять и активировать. А то на активной остается выделение точечной окантовкой границ строки и смотрится это как глюк отрисовки в целом. Особенно, если поиск завершился на строке, буквально через одну от активной. Возникает ощущение, что у меня проблемы с монитором - остаются какие-то следы недорисовки, лаги от прокрутки или ещё что-то.

Кстати насчет выделения. Вся строка подсвечивается и активируется, когда я тыкаю мышкой - и это супер. Но тут важно и ячейку в составе строки высветить, если это легко возможно))) А то, когда я вызываю конт.меню и команду "Копировать ячейку", я вот не всегда уверен, что копирую нужную - ибо не имею обратной визуальной связи от плагина... Мне почему-то кажется, что копироваться будет та - над которой курсор мыши зависнет. А мышь я могу и сдвинуть!

На фильтрах, кстати, стоит центрирование текста. Мне вот как-то лично кажется, что это только сбивает с толку. Я не понимаю - ввел ли я все символы, или это я с пробелами что-то где-то неправильно скопировал и вставил. И я туда постоянно тыкаюсь и проверяю этот момент. Лучше как обычно - равнение налево оставить.

little-brother wrote:
Добавлена поддержка кнопок 1-8 и n/p (отключается в ini)

Ок, это работает и вроде неплохо.... Ток визуально смена файлов с очень разным кол-вом строк "грязное" что ли.
Т.е. открыв файл на 200 строк - плагин занимает всю область экрана. Потом переключаюсь на файл с 5 строками и.... И я вижу приблизительно следующее: очищается вся таблица данных, строка статуса подпрыгивает до верха, имитируя открытие плагина на пустом файле, потом данные подзагружаются и строка статуса опускается на своё место, таблица с данными занимает своё положенное место.
Безусловно я не говорю, что это именно то - что происходит. Это я описываю свои ощущения/сравнения с тем, что МОГЛО бы происходить по моему представлению. Самую главную роль в этом играет 100% видимое смещение строки статуса вверх - под область заголовков. Я четко вижу число 0.9.1 в 3D окантовке, характерной для отрисовки этого числа в строке статуса. Вполне вероятно, что у вас этого видно не будет. Может потому что комп более быстрый. Но вот на моем старичке это заметно. Это конечно не проблема, из-за которой нельзя пользоваться плагином. Это скорее заметка для "посмотреть по возможности".

little-brother wrote:
Возможность изменить кодировку и разделитель после загрузки файла

Это-то да, есть такие менюшки в строке статуса. НО! в этих меню нет галочки напротив текущей/активированной опции! Конечно, я понимаю, что буквально чуть ниже есть отображение этого текущего выбора, но в целом это как-то не по виндовсовски))) Сколько я не видел прог, где так же через строку статуса - через её подэлементы можно было что-то сделать/выбрать - там всегда И само отображение есть в подэлементе строки статуса, И отображение галочкой этого же элемента в меню, что открывается над этим подэлементом. Это очень приятно)))

little-brother wrote:
Под Win10 при попытке открыть бинарный файл плагин падает. Попрбую пофиксить.

А вот это я как-то вообще не понял. А как плагином вообще можно и хотеть и мочь открыть бинарный файл????
Back to top
View user's profile Send private message
little-brother



Joined: 29 Sep 2021
Posts: 205

Post (Separately) Posted: Wed Nov 03, 2021 14:03    Post subject: Reply with quote

Quote:
F7

Добавлю, забыл.Уже работает.

Поиск по русским словам без учета регистра в бете сломан из-за того, что надо было выставить локаль (без нее перевод в нижний регистр не работал).

Quote:
и выделять и активировать

Согласен, забыл выставить флаг

Quote:
Но тут важно и ячейку в составе строки высветить, если это легко возможно

Да, можно выделять ячейку/набор ячеек, но пока лень.

Quote:
визуально смена файлов с очень разным кол-вом строк "грязное" что ли.

Это поведение Lister такое. Следующий файл он открывает как новый. По сути я ему просто пересылаю, что была нажата p или n, а дальше на его усмотрение. На Win7 данный дефект не проявляется - размер Lister остается неизменным.

Quote:
Я четко вижу число 0.9.1 в 3D окантовке

Картинку можно? Ничего отличного от других элементов для версии не используется.

Quote:
нет галочки напротив текущей/активированной опции!

Ок, добавлю.

Quote:
как ... можно и хотеть и мочь

Никто не запрещает exe переименовать в csv и переслать коллеге Very Happy
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 212

Post (Separately) Posted: Wed Nov 03, 2021 23:07    Post subject: Reply with quote

little-brother wrote:
размер Lister остается неизменным.

а размер и у меня не меняется. Эта отрисовка лишний раз строки статуса идет ПОВЕРХ всего открытого окна Листера. Т.е. как будто бы поверх одного окна открывается второе, урезанное до размеров строки статуса.


Сделав скрин, рассмотрев его, должен сказать, что по факту отрисовывается из всей строки статуса ТОЛЬКО первый субэлемент с версией плагина. Значит мне просто при просмотре этого явления глазами "кажется", что как будто бы ВСЯ строка статуса "прыгает" вверх. Поэтому я так и описывал ранее это явление. Собсно и поэтому я про 3D окантовку писал - т.к. вся строка статуса отрисовывается только одним субэлементом и этим очень в глаза бросается...
НО само окно в размерах никак не меняется! Т.е. это именно что отрисовка дополнительно поверх идет ко всему существующему! И да - чтоб это явно увидеть - переход с файла на файл должен выполняться с очень отличающимся кол-вом строк в них. Т.е. первый пусть содержит строк тыщ 10, а второй - строк 30.
Back to top
View user's profile Send private message
little-brother



Joined: 29 Sep 2021
Posts: 205

Post (Separately) Posted: Thu Nov 04, 2021 16:47    Post subject: Reply with quote

Проверил и в Win7 и в Win10 (10 vs 40000 строк). Не могу понять в чем косяк - у меня все отрисовывается как надо.

Перетаскивание разделителя оказывается иногда отваливается, поэтому у вас видимо как то не таскалось. Буду разбираться в чем проблема.
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 212

Post (Separately) Posted: Thu Nov 04, 2021 17:29    Post subject: Reply with quote

little-brother wrote:
у меня все отрисовывается как надо.

Быстродействие компа может влияние оказывать. Если бы у меня побыстрее работал проц - то весьма вероятно, что я бы просто НЕ УВИДЕЛ этого подпрыга строки статуса. Вы для контроля сделайте такую вещь - запишите видео с экрана, а потом просмотрите его в покадровом варианте. И если вот и там ничего не будет видно, но... да. Это что-то моё, личное.

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

little-brother wrote:
Перетаскивание разделителя оказывается иногда отваливается

Главное, не забыть бы к нему приделать графические уточнения и к курсору мыши. Чтобы визуализировать нормально и саму попытку перетаскивания)))
Back to top
View user's profile Send private message
little-brother



Joined: 29 Sep 2021
Posts: 205

Post (Separately) Posted: Fri Nov 05, 2021 00:39    Post subject: Reply with quote

Чтобы замедленное видео смотреть - это надо какой то рекордер экрана устанавливать. То, что у меня есть - выдает 5-10 кадров, на них все ок.

Добавил принудительное обновление размера. Просьба проверить - https://sgeproject.narod.ru/wlx/csvtab-0.9.1-beta2.zip (это будет релизная версия, если сработает).

Строка статуса действительно прыгает вверх, т.к. изначально создается в окне Lister создается дочернее окно со статусом не на всю площадь, а 100х100. Если не поможет, то буду создавать окно невидимым, потом расставлять элементы и только потом показывать.
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 212

Post (Separately) Posted: Fri Nov 05, 2021 12:46    Post subject: Reply with quote

little-brother wrote:
Чтобы замедленное видео смотреть

Достаточно поставить хороший плеер видео. PotPlayer, к примеру, легко просмотривает покадрово любое видео.
little-brother wrote:
надо какой то рекордер экрана устанавливать

По идее любой, который просто-напросто пишет видео))) К примеру, oCam, BandiCam....
little-brother wrote:
Строка статуса действительно прыгает вверх, т.к. изначально создается в окне Lister создается дочернее окно со статусом не на всю площадь, а 100х100

Ну, с проявлением этой "прыгучести" я и желал бы побороться)))
Т.к. размер окна Листера не меняется и только его внутренности (а это по сути всё наполнение вашего плагина) слегка вздрагивают. НО! вздрагивание ВСЕГО объема внутренностей почему-то не так мешается глазам/ощущению правильности - как "прыгучесть" субэлемента строки статуса с выведенной версией плагина в нем. И увы, эта "прыгучесть" как была так и осталась. Даже кажется слегка более видимо это стало. Будто бы указанная вами область 100*100 более явно теперь отрисовывалась в процессе "прыгучести" строки статуса. На предыдущей бете я ток субэлемент с версией замечал, что и описал собственно в посте изначально и на пойманном мной скрине ток он виден был. А тут еще и границы уже как бы виднее стали. Т.е. для глаз эта бета как бы похуже выглядит)))

Прошлая бета это файл csvtab-0.9.1-beta.zip если что....

А! еще про именование колонок, когда Column#.. пишется. Лучше для человеческого восприятия начинать с 1, а не 0, как это по кодерскому в массивах выбранного языка программирования нужно использоватьWink
Back to top
View user's profile Send private message
little-brother



Joined: 29 Sep 2021
Posts: 205

Post (Separately) Posted: Fri Nov 05, 2021 14:35    Post subject: Reply with quote

Попробуйте вот эту версию - https://sgeproject.narod.ru/wlx/csvtab-0.9.1-beta3.zip

Наименования колонок пофиксил.
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 212

Post (Separately) Posted: Fri Nov 05, 2021 15:09    Post subject: Reply with quote

little-brother wrote:
Попробуйте вот эту версию

Да, кажется тут не к чему придраться))))

А! единственное, что еще можно приделать - это файл ресурсов, в котором есть структура, описывающая версию плагина.
https://www.upload.ee/files/13609223/src_-_wlx_solidworks_1.3.0.1.rar.html
Эти исходники, думается мне - могут служить весьма четкой основой того, что надо подложить и куда при разработке таких плагинов.


Last edited by Destiny on Fri Nov 05, 2021 17:22; edited 1 time in total
Back to top
View user's profile Send private message
little-brother



Joined: 29 Sep 2021
Posts: 205

Post (Separately) Posted: Fri Nov 05, 2021 17:16    Post subject: Reply with quote

Я уже до этого рассматривал вариант разместить версию плагина через ресурсы, только вот чтобы версию просмотреть надо сменить расширение (во всяком случае в Win7). Потому и делать не стал.
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 212

Post (Separately) Posted: Fri Nov 05, 2021 17:20    Post subject: Reply with quote

little-brother wrote:
только вот чтобы версию просмотреть надо сменить расширение (во всяком случае в Win7). Потому и делать не стал.

Неа, просто в тотале надо поставить хороший и правильный плагин для просмотра тех.информации о либах/ехе. FileInfo называется. Так что стоит и можно сделать этот шагWink
Back to top
View user's profile Send private message
little-brother



Joined: 29 Sep 2021
Posts: 205

Post (Separately) Posted: Sun Nov 07, 2021 23:50    Post subject: Reply with quote

Да лучше бы в API был бы вызов для того, чтобы плагин вернул версию, тогда бы добавил, а так особого желания нет - профит не очень велик.

Просьба проверить следующий апдейт - https://sgeproject.narod.ru/wlx/csvtab-0.9.1-beta4.zip

По сравнению с предыдущей версией:
* Возможность отключить или включить отображение фильтров
* Темная тема (не совсем корректная, но возможно пойдет)
* Парсер теперь лучше ищет разделители
* Добавлена опция в строке состояния для работы со строками, начинающихся на # и которые могут быть рассмотрены как комментарии (#0 - такие строки обрабатываются как обычные, #1 - в таких строках разделитель не ищется и они не парсятся, а потому целиком будут в первой колонке, #2 - такие строки не отображаются при просмотре).
* ini-Файл может быть расположен рядом с плагином. Имя файла = csvtab.ini. Секция с настройками [csvtab].

Да когда ж эти улучшения закончатся?!
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 212

Post (Separately) Posted: Mon Nov 08, 2021 13:28    Post subject: Reply with quote

little-brother wrote:
Да лучше бы в API был бы вызов для того, чтобы плагин вернул версию, тогда бы добавил, а так особого желания нет - профит не очень велик.

А с чего бы тут АПИ какое-то подключалось? Не, ну честно. Плагин же встраивается как сторонняя полноценная DLL Wink А это уже априори подразумевает, что файл ресурсов у ней быть должен - чтобы нести в себе именно эту маломальски значимую инфу о версии. И сам плагин целиком должен быть в ответе за то, чтобы предоставить пользователю в простом виде эту инфу хотя бы для целей проверки необходимости обновления этого плагина. Ну, по минимум эту задачу решили - разместив номер версии в строке состояний.

little-brother wrote:
Да когда ж эти улучшения закончатся?!

Плагин нужный, условий его приятного использования много разных. Спешу обрадовать - еще не скоро)))

Мои 5 коп. Как уже вроде бы ранее писал - центровка текста внутри поля-фильтра не очень приятное дело. Чаще ловлю себя на мысли - что я не то скопировал и там куча пробелов, что теперь надо вырезать. Причем это касается любого вашего схожего плагина, где эти поля есть. Пусть уж по умолчанию - текст внутри поля налево выравнивается - как для всех других ячеек.
Хотя тут еще можно поговорить о поддержки Иврита, Арабского,... - ну т.е. языка с написанием справа-налево Wink

Процедура поиска. Может не стоит скролить всю таблицу, если найденное есть в видимой области? А то что-то сам по себе скрол таблицы весьма "грязный" что ли и небыстрый сам по себе. Там может какие-то отдельные улучшения надо производить. Но не сейчас явно. Но вот избегать по возможности вообще скрол было бы очень желательно. Т.е. нашлось искомое в области, уже показаной на экране, значит просто выделилить+активировать строку и всё. Ну а если уж не нашлось - то как сейчас: скролить таблицу так, чтобы искомое первой строкой показывалось. Так же сюда просится тот момент, который был описан по другому поводу. Выделение 1 ячейки. Что для случая выполнения команды "Скопировать содержимое ячейки", что для показа результата поиска. Надо делать её выделение. Иначе на длинных данных (у меня до 30 полей) - в подсвеченной строке ИСКАТЬ дополнительно приходится ту ячейку, где искомое было фактически найдено. Т.е. понимаете же, да? Строку найденную подсветили, активировали, а потом в ней глазками еще ищем - а ГДЕ именно нашлась подстрока. А ещё наложите на это факт того, что не всегда ширина колонки нужна большая, ты её сужаешь, и... часть текста в колонке уже не видишь, а подстрока поиска может как раз-таки оказаться именно в этой случайно "скрытой части" текста из этой суженной колонки. А так, если бы ячейки подсветилась дополнительно, то я бы понял, что текст где-то внутри. И ширину колонки бы подстроил ручками, и уже ТОЛЬКО в тексте этой ОДНОЙ ячейки легко нашел искомую подстроку поиска глазками.

Еще момент. Вроде бы - точно не знаю этого, надо наверное что-то где-то почитать. НО вроде бы, если плагин не реализует какую-то функциональность меню Листера, то как-то это можно дать понять Тоталу, чтобы он задизейблил те пункты меню Вид у Листер, которые невозможно выполнить из текущего плагина. К примеру, плагин явно не работает с картинками))) Значит пункты меню Вид, связанные с изображением, должны бы стать недоступными. И вроде как я встречал такие плагины, правда как назло вот именно сейчас я не могу их среди своего списка найти, чтоб в пример привести.....


Last edited by Destiny on Mon Nov 08, 2021 16:51; edited 2 times in total
Back to top
View user's profile Send private message
little-brother



Joined: 29 Sep 2021
Posts: 205

Post (Separately) Posted: Mon Nov 08, 2021 15:50    Post subject: Reply with quote

Quote:
А с чего бы тут АПИ какое-то подключалось?

Detect-строка плагином же возвращается, так почему бы не быть и отдельной функции для возвращения версии? С самого начала её не было, а потом уж видимо исторически сложилось. Да и сама версия могла бы показываться в списке плагинов.

Центровку можно сделать настраиваемой через ini-параметр.

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

Отключать пункты меню можно и ручками - идентификатор окна Lister есть, по нему находится главное меню и имея уже его можно не только пункты выключать, но и удалять или добавлять. Только толку никакого, т.к. Lister не все пересылает в плагин. И потом не забыть все это включить при выходе (напр. если переключили режим или на другой плагин).
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 212

Post (Separately) Posted: Mon Nov 08, 2021 16:47    Post subject: Reply with quote

little-brother wrote:
так почему бы не быть и отдельной функции для возвращения версии? С самого начала её не было, а потом уж видимо исторически сложилось. Да и сама версия могла бы показываться в списке плагинов.

Ну ток ничего перечисленного никогда не было, т.к. изначально концепция плагинов была самодостаточной, сгруппированной строго вокруг самостоятельного dll модуля, представляющего собой плагин. Просто у создания которого есть необходимый минимум в разработке (не технический, а скорее логический, т.к. без того же файла ресурсов библиотека явно может существовать технически, но логически эта информация полезная, нужная, поэтому всегда имхо ожидалось, что её наравне с файлом ресурсов разработчики будут сами встраивать в свои творения, чтобы можно было отличать плагины). Но да, в сабже и его "клонах"))) мы выкрутились, встроив в строку состояния элемент с данной информацией. Конечно и это "хлеб с маслом". Икру мы не заказывали))) Спасибо!

little-brother wrote:
Центровку можно сделать настраиваемой через ini-параметр.

УЖЕ можно? Или планируется к разработке?

little-brother wrote:
Насчет выделения найденного в строке надо посмотреть такую возможность, но тут еще проблема с длинными значениями - их компонент доскролить до нужного места скорее всего не даст.

Доскролить в чем? в ячейке? И не надо. Достаточно подсветить её. В строке? Но строка состоит из колонок/ячеек, а для каждой ячейки см. решение ранее = достаточно подсветить ту ячейку в строке, где найдено искомое. Проскролить всю таблицу, чтобы в принципе показать строку с найденным текстом? Так это уже сделано и работает. Хотя и прокрутка этой таблицы ну уж очень грязно рисуется: рывки, пустоты, подтормаживания. Наверное это просто особенности win-компонента, взятого просто в рамках доступного из Win32API, а не из какой-то крутой релизной 3rd party библиотеки компонентов, или какой-то крутой среды разработки.

little-brother wrote:
Отключать пункты меню можно и ручками - идентификатор окна Lister есть

Не, не, не. Ничего спецом ручками делать не надо. Если ничего в АПИ Тотала/плагиностроения для этих целей нет, то и ладно. Не велика потеря от этой функциональности. В таком ключе разработки, что сейчас есть по факту - это будет лишняя работа.
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 ... 9, 10, 11  Next
Page 4 of 11

 
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