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 

Single Post  Topic: Поиск и расцветка по шаблону отрабатывают по-разному 
Author Message
DSA



PostPosted: Wed Jul 27, 2011 11:31    Post subject: Reply with quote

2 Avada
Quote:
Ссылки сделал рабочими

наверное, спасибо, но это не то, что я имел в виду.. форум не разрешил вставить картинки через тег Img, чтобы они отображались в посте. Я сделал ещё одно обрамление тегом Code, чтобы потом его снять, когда статус позволит, но вы мне сняли оба тега %)

Quote:
разобраться в такой каше весьма сложно

жаль.. в том то и дело, что я старался изложить более-менее незаковыристо, но меня всё равно не поняли.
Попробую ещё раз.

Quote:
при описании, похоже, путаются цвета

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

Quote:
из-за крайней перегруженности списка оцветовки строками

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

Quote:
в том числе с похожими цветами

Так и задумано. Долго корпел над выбором цветов. Сделал схемы типов файлов исходя из соображения их принадлежности к классам (типа "Хтмл: базовый класс - текст, подкласс - спецразметка, тип - Интернет", "Инсталляторы: базовый класс - двоичные, подкласс - программы, тип - дистрибутивы"), выписал их на мелкие бумажки, потом сделал на А4 круг с радугой, и раскладывал на нём бумажки, стремясь сбалансированно задействовать всё цветовое пространство с учётом классового родства разных групп.. Я решил уйти от пестрящих контрастов. Когда расцветка в действии, картинка получается достаточно миловидной. Родственные типы имеют похожие цвета.

Quote:
информативность картинки невелика, а реальная логика действия шаблонов — непонятна

http://hostingkartinok.com/image/01201107/b00b928ea5173d928a44b3ae3964a8a5.png
информативность этой картинки сводится к следующим фактам:
- правило, окрашивающее *.exe в голубой - №482(программы), и оно ниже, чем...
- правило, окрашивающее подозрительные *.exe в корнях дисков №011(программы ахтунг) - в оранжевый
Логика в том, что сначала идут исключения, требующие внимания, в середине - правила, описывающие нормальные классы, а в подвале всякая малосущественная фигня.

http://hostingkartinok.com/image/01201107/c35ad053ecfbc5484ea137d8dea2f38d.png
Эта показывает, что я сделал для проверки такие условия: корень диска, в нём файл с расширением exe, которое должно попасть под правило 482 (и оно попадает, когда отключено правило 011), рядом не-exe расширение, попадающее под правило 111(совсем новые) в силу даты (ахтунг выше дат, т.е. оранжевый приоритетнее светло-голубого).
Также есть папка и в ней подпапки - одна одиночная, и одна с ещё одной подпапкой. В каждой из них есть такая же пара файлов, на которых я проверяю действие расцветки.
Так вот, когда правило 011 отключено, файлы по-умолчанию светло-голубые из-за времени, либо *.exe синеватые по правилу 482, если уже не новые. Стоит включить 011, как *.exe в корне становятся оранжевыми (это правильно), но, помимо этого, и все остальные *.exe тоже оранжевеют (а вот этого уже быть не должно).
Т.е. каким-то образом функция подсветки игнорирует директиву *.exe | *\ в правиле 011.

http://hostingkartinok.com/image/01201107/62e153c77671b02ed45825ec22329f55.png
А здесь показано, как простой поиск с загруженным шаблоном 011 отрабатывает по этому же диску:
он совершенно правильно находит лишь один *.exe, в корне диска, и, будь это подсветкой, - только корневой *.exe должен был бы стать оранжевым.

Quote:
зачем потребовалось явным образом задавать в поле "Место поиска" все имеющиеся в наличии диски

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

===============================================
2 MVV
большое спасибо,
*.exe + tc.Путь regex ^.{3}$
делает именно то, что я и хотел

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

Стало быть, ещё раз:
имеем правила:
Code:
ColorFilter1=>999_inroot
ColorFilter1Color=0
ColorFilter2=>011_программы_ахтунг
ColorFilter2Color=33023
ColorFilter3=>482_программы
ColorFilter3Color=15102720

[http://hostingkartinok.com/image/01201107/2104d463f5de7f60c05aa130779470d5.png

Если правила 011 нет, то цвет exe в корне чёрный, во всех папках - голубой
http://hostingkartinok.com/image/01201107/31f846be58a9fd1afb9545932390e14d.png

Но если правило 011 задействовать
Code:
011_программы_ахтунг_SearchFor=*.exe | *\
011_программы_ахтунг_SearchIn=
011_программы_ахтунг_SearchText=
011_программы_ахтунг_SearchFlags=0|000002000020|||||||||0000|

- вид получается следующим:
http://hostingkartinok.com/image/01201107/6cd4aee23c87215d2b30de35056e2c32.png
т.е. 999 правило в силу приоритета над 011 делает exe в корне чёрным, но из-за 011 все остальные exe становятся оранжевыми даже в подпапках, хотя должны исключаться через " | *\ ", и проваливаться к правилу 482, которое сделает их голубого цвета, как на второй картинке..

Пожалуйста, помогите понять, почему это так работает.. невыносимо хочется включить какой-нибудь "дебаг вербоз левел макс", и хотя бы перелопатить уже мегабайты текста, где описывались бы логические переходы, но вместо этого приходится довольствоваться методом тыка "сработает-не сработает" ((
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group