[WISH] Переход к следующей папке не выходя из текущей

Обсуждение Total Commander. Установка, использование, настройка, решение проблем, скрытые функции. Обсуждение новых версий.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

Аватара пользователя
Моторокер
Сообщения: 1517
Зарегистрирован: Пт май 06, 2005 08:22
Откуда: г. Пермь (читается Перьмь)
Контактная информация:

[WISH] Переход к следующей папке не выходя из текущей

Сообщение Моторокер »

Было бы полезным переходить в следующую папку, не выходя из текущей.

т.е. вместо нажатия BackSpace, Вниз, Enter нажимать что-то вроде Ctrl+Alt+Вниз/Вверх, но просматривать содержимое папок.
плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми
VadiMGP
Сообщения: 1625
Зарегистрирован: Ср мар 21, 2007 20:58

Сообщение VadiMGP »

А какую папку ситать следующей? По алфавиту?
Аватара пользователя
Моторокер
Сообщения: 1517
Зарегистрирован: Пт май 06, 2005 08:22
Откуда: г. Пермь (читается Перьмь)
Контактная информация:

Сообщение Моторокер »

Точно, а ведь списка родительских папок нет. Блин.

А так бы следующая по алфавиту, или как там настроено в Тотале.
плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми
VadiMGP
Сообщения: 1625
Зарегистрирован: Ср мар 21, 2007 20:58

Сообщение VadiMGP »

Тогда, наверное, только скриптом можно. Те же самые BackSpace, Вниз, Enter.
Аватара пользователя
Моторокер
Сообщения: 1517
Зарегистрирован: Пт май 06, 2005 08:22
Откуда: г. Пермь (читается Перьмь)
Контактная информация:

Сообщение Моторокер »

VadiMGP писал(а):Тогда, наверное, только скриптом можно. Те же самые BackSpace, Вниз, Enter.
Enter на файле, когда папки кончатся?
Или тоже можно проверить скриптом этот вариант?
плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми
VadiMGP
Сообщения: 1625
Зарегистрирован: Ср мар 21, 2007 20:58

Сообщение VadiMGP »

Нет, Enter будет не на файле. Смотри - BackSpace возвращает в родительскую папку, на последней папке стрелка вниз не сработает и Enter снова войдет в ту же папку. В принципе, на AHК наверняка можно и эту ситуацию обработать, но тут уже лучше спросить спецов по скриптам. У меня со скриптами только поверхностное знакомство.
VadiMGP
Сообщения: 1625
Зарегистрирован: Ср мар 21, 2007 20:58

Сообщение VadiMGP »

Нет, соврал. Не так все просто.Но все равно, я думаю, что АНК позволит это обработать.
Аватара пользователя
Volniy
Сообщения: 585
Зарегистрирован: Ср дек 15, 2004 00:17
Откуда: Местный

Сообщение Volniy »

Вот черновичек, вроде работает:

Код: Выделить всё

'(c) 2007, Volniy 

 Option Explicit
 Dim TCS, D, prevD, FSO
 
 Set TCS = CreateObject("TCScript.Helper")
 Set FSO = CreateObject("scripting.filesystemobject")
 
 TCS.SendCommand 2002 ' cm_GoToParent
 prevD = TCS.GetSrcSelectedFiles(True)(0)
 TCS.SendKeystroke "{DOWN}"
 D = TCS.GetSrcSelectedFiles(True)(0)
 If (FSO.FolderExists(D)=True) Then
    If (StrComp(prevD,D,vbTextCompare)<>0) Then
       TCS.SendCommand 2003 ' cm_GoToDir
    Else
       MsgBox "No more directories in the file panel!", vbExclamation, "Error!"
       ' Call GoTo1stDir
    End If
 Else
    MsgBox "File is selected, no more directories!", vbExclamation, "Error!"
    ' Call GoTo1stDir
 End If

 Set TCS = Nothing
 Set FSO = Nothing
 WScript.Quit

Sub GoTo1stDir
   TCS.SendKeystroke "^{HOME}" 
   TCS.SendCommand 2003 ' cm_GoToDir
End Sub
Примечание: два закоментированных Call-a будучи раскомментированными будут открывать первую директорию в панели после сообщений о том что список директорий закончился (сообщения в этом случае можно и убрать, я думаю).
Последний раз редактировалось Volniy Вс июн 10, 2007 12:15, всего редактировалось 1 раз.
VadiMGP
Сообщения: 1625
Зарегистрирован: Ср мар 21, 2007 20:58

Сообщение VadiMGP »

Почему "черновичек"? Выглядит вполне закончено. Можно, разве что, добавить возможность после последней папки скакнуть на первую (на случай если начали использовать скрипт на с первой папки, а с середины списка). Но это уже явно из серии "гламур". Да и не знаю, нужно ли это Моторокеру.
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

Скрипт вниз (к следующей), оттуда ссылка на аналогичный "вверх".
С момента написания дня не проходит, чтобы я не воспользовался. Даже панельку специальную сделал (не считая горячих клавиш и кнопок на обычной панели ТС). БЕЗУМНО удобно. Не знаю, почему это понимают всего трое (Моторокер, Gregory и ваш покорный слуга).
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
slideray
Сообщения: 115
Зарегистрирован: Пн июн 28, 2010 09:34

Сообщение slideray »

Volniy писал(а):Вот черновичек, вроде работает:

Код: '(c) 2007, Volniy
Отличный, полезный скрипт!
Вопрос, не сильно мешает, но в принципе, почему оно так? Может быть можно не выводить данный сабж? Повесил на скрипт хоткей - "Shift+OEM_.", ну не важно, просто, если продолжаешь удерживать шифт, то выдает сообщение:

Код: Выделить всё

Error!
No more directories in the file panel!
sa
Сообщения: 2758
Зарегистрирован: Ср апр 29, 2009 18:56

Сообщение sa »

slideray
Выскажу такое предположение.
Скрипт в начале своей работы передает активному окну TC нажатие клавиши {DOWN} (вниз). Удержание во время работы скрипта Shift, Alt или Ctrl модифицирует действие этой клавиши, поскольку на Shift+Down, Alt+Down и Ctrl+Down в TC назначены совсем другие команды и это приводит к нарушению выполнения скрипта. Можно попробовать использовать в качестве модификатора вместо Shift клавишу Win.
HEXFIX
Сообщения: 177
Зарегистрирован: Пт июн 25, 2010 19:54
Откуда: Калининград

Сообщение HEXFIX »

Попробовал. Действительно, очень удобно. А можно тоже самое для перемещения вверх, но без использования PowerPro?
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

Попробовал. Действительно, очень удобно. А можно тоже самое для перемещения вверх, но без использования PowerPro?
Мои скрипты тоже работают. Код открытый, синтаксис примитивный, так что желающие могут просто перевести скрипты с языка PowerPro на тот, которыми они лучше владеют. Если возникнут вопросы, я постараюсь помочь.

Добавлено
А насчет горячих клавиш - я использую Alt+PgDn/Alt+PgUp, на которые в ТС ничего не повешено.
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Всё проще, господа:

Код: Выделить всё

' Перейти к след./пред. папке в родительском каталоге
' Необходима регистрация "Script helper ActiveX for TC"
' Параметры: 3 (след.); 4 (пред.)
'====================================
With CreateObject("TCScript.Helper")
.LockTC True
.SendCommand 2002
.SendCommand 3303
.SendCommand 205&WScript.Arguments(0)
.SendCommand 2003
.LockTC False
End With
И никаких проблем с клавишами.
Ответить