View previous topic :: View next topic |
Author |
Message |
Моторокер

Joined: 06 May 2005 Posts: 1517 Location: г. Пермь (читается Перьмь)
|
(Separately) Posted: Sat Jun 09, 2007 08:17 Post subject: [WISH] Переход к следующей папке не выходя из текущей |
|
|
Было бы полезным переходить в следующую папку, не выходя из текущей.
т.е. вместо нажатия BackSpace, Вниз, Enter нажимать что-то вроде Ctrl+Alt+Вниз/Вверх, но просматривать содержимое папок. _________________ плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми |
|
Back to top |
|
 |
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Sat Jun 09, 2007 12:56 Post subject: |
|
|
А какую папку ситать следующей? По алфавиту? |
|
Back to top |
|
 |
Моторокер

Joined: 06 May 2005 Posts: 1517 Location: г. Пермь (читается Перьмь)
|
(Separately) Posted: Sat Jun 09, 2007 14:10 Post subject: |
|
|
Точно, а ведь списка родительских папок нет. Блин.
А так бы следующая по алфавиту, или как там настроено в Тотале. _________________ плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми |
|
Back to top |
|
 |
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Sat Jun 09, 2007 14:15 Post subject: |
|
|
Тогда, наверное, только скриптом можно. Те же самые BackSpace, Вниз, Enter. |
|
Back to top |
|
 |
Моторокер

Joined: 06 May 2005 Posts: 1517 Location: г. Пермь (читается Перьмь)
|
(Separately) Posted: Sat Jun 09, 2007 14:35 Post subject: |
|
|
VadiMGP wrote: | Тогда, наверное, только скриптом можно. Те же самые BackSpace, Вниз, Enter. |
Enter на файле, когда папки кончатся?
Или тоже можно проверить скриптом этот вариант? _________________ плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми |
|
Back to top |
|
 |
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Sat Jun 09, 2007 14:49 Post subject: |
|
|
Нет, Enter будет не на файле. Смотри - BackSpace возвращает в родительскую папку, на последней папке стрелка вниз не сработает и Enter снова войдет в ту же папку. В принципе, на AHК наверняка можно и эту ситуацию обработать, но тут уже лучше спросить спецов по скриптам. У меня со скриптами только поверхностное знакомство. |
|
Back to top |
|
 |
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Sat Jun 09, 2007 14:51 Post subject: |
|
|
Нет, соврал. Не так все просто.Но все равно, я думаю, что АНК позволит это обработать. |
|
Back to top |
|
 |
Volniy

Joined: 15 Dec 2004 Posts: 585 Location: Местный
|
(Separately) Posted: Sat Jun 09, 2007 21:09 Post subject: |
|
|
Вот черновичек, вроде работает:
Code: | '(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 будучи раскомментированными будут открывать первую директорию в панели после сообщений о том что список директорий закончился (сообщения в этом случае можно и убрать, я думаю).
Last edited by Volniy on Sun Jun 10, 2007 12:15; edited 1 time in total |
|
Back to top |
|
 |
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Sat Jun 09, 2007 23:46 Post subject: |
|
|
Почему "черновичек"? Выглядит вполне закончено. Можно, разве что, добавить возможность после последней папки скакнуть на первую (на случай если начали использовать скрипт на с первой папки, а с середины списка). Но это уже явно из серии "гламур". Да и не знаю, нужно ли это Моторокеру. |
|
Back to top |
|
 |
Вахмурка

Joined: 27 Dec 2004 Posts: 2586 Location: Большая деревня Москва
|
(Separately) Posted: Wed Jun 13, 2007 21:41 Post subject: |
|
|
Скрипт вниз (к следующей), оттуда ссылка на аналогичный "вверх".
С момента написания дня не проходит, чтобы я не воспользовался. Даже панельку специальную сделал (не считая горячих клавиш и кнопок на обычной панели ТС). БЕЗУМНО удобно. Не знаю, почему это понимают всего трое (Моторокер, Gregory и ваш покорный слуга). _________________ Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон) |
|
Back to top |
|
 |
slideray
Joined: 28 Jun 2010 Posts: 115
|
(Separately) Posted: Sat Apr 16, 2011 00:04 Post subject: |
|
|
Volniy wrote: | Вот черновичек, вроде работает:
Код: '(c) 2007, Volniy |
Отличный, полезный скрипт!
Вопрос, не сильно мешает, но в принципе, почему оно так? Может быть можно не выводить данный сабж? Повесил на скрипт хоткей - "Shift+OEM_.", ну не важно, просто, если продолжаешь удерживать шифт, то выдает сообщение: Code: | Error!
No more directories in the file panel! |
|
|
Back to top |
|
 |
sa
Joined: 29 Apr 2009 Posts: 2689
|
(Separately) Posted: Sat Apr 16, 2011 01:13 Post subject: |
|
|
slideray
Выскажу такое предположение.
Скрипт в начале своей работы передает активному окну TC нажатие клавиши {DOWN} (вниз). Удержание во время работы скрипта Shift, Alt или Ctrl модифицирует действие этой клавиши, поскольку на Shift+Down, Alt+Down и Ctrl+Down в TC назначены совсем другие команды и это приводит к нарушению выполнения скрипта. Можно попробовать использовать в качестве модификатора вместо Shift клавишу Win. |
|
Back to top |
|
 |
HEXFIX
Joined: 25 Jun 2010 Posts: 173 Location: Калининград
|
(Separately) Posted: Sat Apr 16, 2011 10:36 Post subject: |
|
|
Попробовал. Действительно, очень удобно. А можно тоже самое для перемещения вверх, но без использования PowerPro? |
|
Back to top |
|
 |
Вахмурка

Joined: 27 Dec 2004 Posts: 2586 Location: Большая деревня Москва
|
(Separately) Posted: Sat Apr 16, 2011 18:23 Post subject: |
|
|
Quote: | Попробовал. Действительно, очень удобно. А можно тоже самое для перемещения вверх, но без использования PowerPro? | Мои скрипты тоже работают. Код открытый, синтаксис примитивный, так что желающие могут просто перевести скрипты с языка PowerPro на тот, которыми они лучше владеют. Если возникнут вопросы, я постараюсь помочь.
Добавлено
А насчет горячих клавиш - я использую Alt+PgDn/Alt+PgUp, на которые в ТС ничего не повешено. _________________ Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон) |
|
Back to top |
|
 |
Flasher

Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Apr 17, 2011 07:47 Post subject: |
|
|
Всё проще, господа:
Code: | ' Перейти к след./пред. папке в родительском каталоге
' Необходима регистрация "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 | И никаких проблем с клавишами. |
|
Back to top |
|
 |
|