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, ... 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: Sat Oct 30, 2021 17:01    Post subject: Reply with quote

little-brother wrote:
Попробовал и с правильным й - аналогично открывается.

Если в этот пост вы вставляли этот же символ что и в имени файла, который проверяли - то это не тот символ. Это чистый символ "И краткое".
https://www.upload.ee/files/13593510/____________________________________.rar.html

вот архив с таким файлом.

little-brother wrote:
Сделаю наверно переключение через всплывающие меню по клику на соотв. элементу в строке состояния.

Очень даже хорошее решение!
Back to top
View user's profile Send private message
little-brother



Joined: 29 Sep 2021
Posts: 205

Post (Separately) Posted: Sat Oct 30, 2021 17:07    Post subject: Reply with quote

У меня на 7-ке открылось (и 32, и 64 версии). Надо проверить на 10-ке.
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 212

Post (Separately) Posted: Sat Oct 30, 2021 17:11    Post subject: Reply with quote

little-brother wrote:
Надо проверить на 10-ке

Ну, у меня на 10ках! - т.е. на трех что под рукой - нет.

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

little-brother wrote:
Нечитаемый интерфейс - это косяк Win10. По этой причине на 7ке и сижу.
Воевать с мельницами и перерисовывать системные компоненты смысла не вижу.

кстати, а не надо ВСЁ прям перекрашивать. Просто покрасьте только ячейки, что содержат в себе заголовки в более серый тон. А то сейчас ну он совершенно сливается со всем белым, что рядом.

Ну ужасно выглядит по сравнению с вашими цветами.

И да чтобы открыть этот файл я поменял букву "и краткое" на правильную.
Back to top
View user's profile Send private message
little-brother



Joined: 29 Sep 2021
Posts: 205

Post (Separately) Posted: Sat Oct 30, 2021 17:41    Post subject: Reply with quote

Может быть дело в версии TC? Проверил на 10-ке - то ж открылось.

А не открывается - это плагин падает или Lister показывает содержимое файла просмотрщиком по умолчанию?

Заголовок покрасить не слишком сложно вроде, надо посмотреть как это делается и цвет подобрать.
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 212

Post (Separately) Posted: Sat Oct 30, 2021 21:03    Post subject: Reply with quote

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

именно.

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

little-brother wrote:
Может быть дело в версии TC?

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



Joined: 29 Sep 2021
Posts: 205

Post (Separately) Posted: Sat Oct 30, 2021 21:15    Post subject: Reply with quote

Кстати, а размер файла случайно не больше 10мб? По умолчанию файлы большего размера открываются именно в стандартном виде.
Увеличить размер файла можно в ini задав max-file-size.

Но если после переименования открывается, то надо все таки попробовать повторить ошибку (не очень понятно как отлаживать то, чего не видно).

Если обнаружится какой-нибудь файл, который вызывает падение плагина, то просьба его выслать, если будет возможность. Я попробовал удалять значения из колонок или добавить лишние, но плагин не падает Sad
Возможно проблема, если используется UTF32?
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 212

Post (Separately) Posted: Sat Oct 30, 2021 23:28    Post subject: Reply with quote

little-brother wrote:
Кстати, а размер файла случайно не больше 10мб?

Речь идет о том файле, что вы скачали для тестов имени файла! Какой тут размер...
И кстати, если потенциально проблема открытия может быть связана с размером файла - то плагин при попытке открыть такой "неудобный" файл - должен выдавать хотя бы какое-то информационное окно на экран, если сам открыться не может таблично и показать всю инфу из файла. Ибо я не уверен, что буду помнить о таком ограничении как размер файла. А выставлять сразу лимит в 1 Гб думаю наверное слишком же? Или как?
little-brother wrote:
Но если после переименования открывается, то надо все таки попробовать повторить ошибку (не очень понятно как отлаживать то, чего не видно).

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



Joined: 29 Sep 2021
Posts: 205

Post (Separately) Posted: Sun Oct 31, 2021 02:57    Post subject: Reply with quote

Quote:
А выставлять сразу лимит в 1 Гб думаю наверное слишком же? Или как?

Да думаю можно наверно и гиг, и два. Просто при просмотре огромных файлов плагин будет открывать их неспешно, в особенности по сравнению со штатным просмотрщиком, который читает только кусочек файла. Кроме того, поскольку весь файл грузится в память, а потом конвертируется в UTF16LE (это родная кодировка Windows), то для обработки потребуется х2-3раза оперативы (сейчас это вроде не проблема). Добавлю наверно опцию нулевой размер, чтобы плагин игнорировал проверку размера файла.

Quote:
Отлаживать легко

У меня то проблема с именем не проявляется, все открывается и в Win7 и в Win10, а потому отладка ничего не даст Sad Да и нечего там логировать - имя приходит в ANSI (TC использует устаревшую кодировку, т.к. это исторически так сложилось - он уже на Win95/98 работал, где UTF16 завезли не сразу), я его конверчу в UTF16LE и открываю файл.
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 212

Post (Separately) Posted: Sun Oct 31, 2021 11:28    Post subject: Reply with quote

little-brother wrote:
отладка ничего не даст Да и нечего там логировать - имя приходит в ANSI (TC использует устаревшую кодировку, т.к. это исторически так сложилось - он уже на Win95/98 работал, где UTF16 завезли не сразу), я его конверчу в UTF16LE и открываю файл

Это на МОЕЙ машине даст пользу - т.к. вы сможете прочитать МОЙ лог и сравнить со своим - где то же имя, но открывается, а на моей машине нет. Вот и найдете узкое место...
Вполне вероятно, что уже на моменте передачи имени действительно есть какое-то отличие. Или в процедуре конвертации вылетает какая-то ошибка и вуаля. Плаг не сработал....
Back to top
View user's profile Send private message
imig73



Joined: 18 Jun 2013
Posts: 279
Location: г. Иркутск

Post (Separately) Posted: Sun Oct 31, 2021 14:19    Post subject: Reply with quote

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



Joined: 29 Sep 2021
Posts: 205

Post (Separately) Posted: Sun Oct 31, 2021 16:37    Post subject: Reply with quote

Destiny, а можете посмотреть значения реестра?
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage
ACP = 1251
1251 = c_1251.nls
1252 = c_1252.nls
Совпадает?

Версия для дебага - https://sgeproject.narod.ru/wlx/csvtab-wlx-test.zip
(выводится два всплывающих окна - первое в ANSI кодировке, второе - уже в UTF16).

imig73, https://forum.wincmd.ru/viewtopic.php?p=134532#134532
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 212

Post (Separately) Posted: Sun Oct 31, 2021 17:21    Post subject: Reply with quote

little-brother wrote:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage
ACP = 1251
1251 = c_1251.nls
1252 = c_1252.nls
Совпадает?

совпадает.
little-brother wrote:
(выводится два всплывающих окна - первое в ANSI кодировке, второе - уже в UTF16).

выводится только для 32 битного плагина. 64 бит. даже не вызывается???
Вы точно в само-пресамом начале первейшего вызова плагина из тотала вставили вывод этого диалога?
Back to top
View user's profile Send private message
little-brother



Joined: 29 Sep 2021
Posts: 205

Post (Separately) Posted: Sun Oct 31, 2021 17:46    Post subject: Reply with quote

Да, в самом начале и должно вывести два сообщения



Заметил, что имя у Лайф с неправильным й получается странное


Возможно это даже косяк TC. Хотя файл у меня открывается.
Back to top
View user's profile Send private message
Destiny



Joined: 15 Dec 2015
Posts: 212

Post (Separately) Posted: Sun Oct 31, 2021 17:58    Post subject: Reply with quote

little-brother wrote:
Да, в самом начале и должно вывести два сообщения

Ну тогда я ничего не понимаю. для 64битного плага этого окна нет. Т.е. Тотал сам не вызывает плагин? Но почему вызывает другой схожий плагин?
Может какая другая функция Тоталом для плагина вызывается, чтобы определить - может ли он обработать этот файл или нет. ДО ListLoad...

Кстати, а почему ListLoad, когда для юникодных систем должны быть вызов ListLoadW???
И руководство от Гислера говорит:
Code:
What's the easiest way to support Unicode in an existing plugin?
 
There are actually two ways, an "all in one" combined Unicode/ANSI plugin, and two separate plugins.
 
A. Combined Unicode/ANSI plugin
1. Get my sample plugin fsplugin (file system plugins section) even if you write a different type of plugin!
2. Add the files cunicode.h and cunicode.cpp to your project. They contain various functions to make Unicode support easier.
3. Convert your existing functions to Unicode and rename them to FunctionNameW. For all file functions like CreateFile, do not call their Unicode counterpart CreateFileW directly. Instead, call the functions from cunicode.cpp like CreateFileT. These functions automatically call the right Unicode or ANSI function, and even support file name lengths >259 characters!
4. For each converted function like FunctionNameW, recreate a function FunctionName which you call this way:
 
int __stdcall FunctionName(char* SomeString1,char* SomeString2)
{
    WCHAR SomeString1W[wdirtypemax],SomeString2W[wdirtypemax];
    return FunctionNameW(awfilenamecopy(SomeString1W,SomeString1),awfilenamecopy(SomeString2W,SomeString2));
}
 
The Macro awfilenamecopy will convert the ANSI string SomeString1 to Unicode and store it inSomeString1W. This variable must not be a pointer, because awfilenamecopy uses "countof" to get the target length.
Back to top
View user's profile Send private message
little-brother



Joined: 29 Sep 2021
Posts: 205

Post (Separately) Posted: Sun Oct 31, 2021 18:10    Post subject: Reply with quote

Точно, походу в этом и есть ошибка!

В самом начале вызывается ListGetDetectString для определения подходящее ли расширение или нет
Code:

void __stdcall ListGetDetectString(char* DetectString, int maxlen) {
   snprintf(DetectString, maxlen, "MULTIMEDIA & ext=\"CSV\"");
}


Видимо у вас имя файла теряет конечный .CSV и в результате плагин не открывает. Чтобы убедиться в этом Можно прописать csvtab открывать файлы всех типов (насколько я знаю, строку обнаружения пользователь как то может для плагина задать самостоятельно) и проверить - откроет или нет.

Quote:
а почему ListLoad, когда для юникодных систем должны быть вызов ListLoadW?

Потому что до туда я не дочитал Very Happy
По идее разницы быть не должно, но похоже, что она имеется.

Просьба проверить Unicode-версию (сообщений выводиться не должно) - https://sgeproject.narod.ru/wlx/csvtab-wlx-test2.zip
Если были файлы, на которых плагин падал, то еще и проверить на них.
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, ... 9, 10, 11  Next
Page 2 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