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 

Узнать выделен ли файл под курсором

 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
sanytta



Joined: 18 Oct 2008
Posts: 2

Post (Separately) Posted: Sat Oct 18, 2008 04:04    Post subject: Узнать выделен ли файл под курсором Reply with quote

Здравствуйте!
Пишу скрипт на PowerPro. Собственно проблема: как узнать выделен ли файл под курсором.
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2586
Location: Большая деревня Москва

Post (Separately) Posted: Wed Oct 22, 2008 00:03    Post subject: Reply with quote

Да, но ответ будет верен только при одном условии: если известна сортировка.
Поясню. Требуется узнать две вещи: список выделенных файлов и индекс текущего файла. Первое легко получить, обеспечив скрипт параметром %L. Второе тоже можно сделать (например, так). Далее, располагая полным списком файлов в директории, получаем имя текущего файла, а получить список можно через file.listfiles, хотя бы.
Наконец, если найденное имя входит в найденный спиок, ответ на твой вопрос положительный, иначе отрицательный.
А вот дальше начинаются заморочки. Мы знаем индекс файла при текущей сортировке, а при ее смене индекс, естественно, меняется. Если бы ТС мог вернуть текущий способ сортировки (посылкой сообщений классу THeaderClick), задача бы решалась однозначно.
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2586
Location: Большая деревня Москва

Post (Separately) Posted: Wed Oct 22, 2008 20:55    Post subject: Reply with quote

Извини, братан - запутал я тебя. Все проще можно сделать. Передаем параметры %L и %P%N и определяем, входит ли файл %P%N в список %L. Проверено - работает!
P.S. Впервые в жизни вошел на форум с мобильного телефона. Вот техника дошла!
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
sanytta



Joined: 18 Oct 2008
Posts: 2

Post (Separately) Posted: Sun Oct 26, 2008 22:09    Post subject: Reply with quote

Спасибо!! Действительно работает! Только одна проблема: если не выделенно ни одного файла, то список %L будет содержать текущий файл(хоть он и не выделен!!), поэтому программа посчитает что он выделен.

И еще где можно почитать про параметры такие как %L, %N и %P? Какие еще есть? Что-то в стандартной справке по totalcommader не нашел.
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Sun Oct 26, 2008 22:29    Post subject: Reply with quote

sanytta wrote:
И еще где можно почитать про параметры такие как %L, %N и %P? Какие еще есть? Что-то в стандартной справке по totalcommader не нашел.

Вызови настройку панели инструментов, и в ней -- справку
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2586
Location: Большая деревня Москва

Post (Separately) Posted: Tue Oct 28, 2008 21:00    Post subject: Reply with quote

Quote:
Только одна проблема: если не выделенно ни одного файла, то список %L будет содержать текущий файл(хоть он и не выделен!!), поэтому программа посчитает что он выделен
Ну, это не проблема:
Code:
if(NumOfElems == 1)
    IsIn = true;
Для специалистов по Бейсику и Паскалю: если длина списка равна 1, то ответ на вопрос "Выделен ли файл под курсором" положительный. Правда, надо знать специфику задачи: есть ли разница между отсутствием группы и группой из одного ТЕКУЩЕГО файла?

Добавлено
Почему-то на вопрос о PowerPro я привел код на C++. Просто в последние дни приходится много писать именно на С++. Исправляюсь:
Code:
if(NumOfElems == 1)
    flag set 1

_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
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
Page 1 of 1

 
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