Здравствуйте!
Пишу скрипт на PowerPro. Собственно проблема: как узнать выделен ли файл под курсором.
Узнать выделен ли файл под курсором
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
- Вахмурка
- Сообщения: 2587
- Зарегистрирован: Пн дек 27, 2004 14:47
- Откуда: Большая деревня Москва
- Контактная информация:
Да, но ответ будет верен только при одном условии: если известна сортировка.
Поясню. Требуется узнать две вещи: список выделенных файлов и индекс текущего файла. Первое легко получить, обеспечив скрипт параметром %L. Второе тоже можно сделать (например, так). Далее, располагая полным списком файлов в директории, получаем имя текущего файла, а получить список можно через file.listfiles, хотя бы.
Наконец, если найденное имя входит в найденный спиок, ответ на твой вопрос положительный, иначе отрицательный.
А вот дальше начинаются заморочки. Мы знаем индекс файла при текущей сортировке, а при ее смене индекс, естественно, меняется. Если бы ТС мог вернуть текущий способ сортировки (посылкой сообщений классу THeaderClick), задача бы решалась однозначно.
Поясню. Требуется узнать две вещи: список выделенных файлов и индекс текущего файла. Первое легко получить, обеспечив скрипт параметром %L. Второе тоже можно сделать (например, так). Далее, располагая полным списком файлов в директории, получаем имя текущего файла, а получить список можно через file.listfiles, хотя бы.
Наконец, если найденное имя входит в найденный спиок, ответ на твой вопрос положительный, иначе отрицательный.
А вот дальше начинаются заморочки. Мы знаем индекс файла при текущей сортировке, а при ее смене индекс, естественно, меняется. Если бы ТС мог вернуть текущий способ сортировки (посылкой сообщений классу THeaderClick), задача бы решалась однозначно.
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
- Вахмурка
- Сообщения: 2587
- Зарегистрирован: Пн дек 27, 2004 14:47
- Откуда: Большая деревня Москва
- Контактная информация:
Извини, братан - запутал я тебя. Все проще можно сделать. Передаем параметры %L и %P%N и определяем, входит ли файл %P%N в список %L. Проверено - работает!
P.S. Впервые в жизни вошел на форум с мобильного телефона. Вот техника дошла!
P.S. Впервые в жизни вошел на форум с мобильного телефона. Вот техника дошла!
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Спасибо!! Действительно работает! Только одна проблема: если не выделенно ни одного файла, то список %L будет содержать текущий файл(хоть он и не выделен!!), поэтому программа посчитает что он выделен.
И еще где можно почитать про параметры такие как %L, %N и %P? Какие еще есть? Что-то в стандартной справке по totalcommader не нашел.
И еще где можно почитать про параметры такие как %L, %N и %P? Какие еще есть? Что-то в стандартной справке по totalcommader не нашел.
- Вахмурка
- Сообщения: 2587
- Зарегистрирован: Пн дек 27, 2004 14:47
- Откуда: Большая деревня Москва
- Контактная информация:
Ну, это не проблема:Только одна проблема: если не выделенно ни одного файла, то список %L будет содержать текущий файл(хоть он и не выделен!!), поэтому программа посчитает что он выделен
Код: Выделить всё
if(NumOfElems == 1)
IsIn = true;Добавлено
Почему-то на вопрос о PowerPro я привел код на C++. Просто в последние дни приходится много писать именно на С++. Исправляюсь:
Код: Выделить всё
if(NumOfElems == 1)
flag set 1Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)