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 

[WISH] Переход к следующей папке не выходя из текущей
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы printer-friendly view
View previous topic :: View next topic  
Author Message
Моторокер



Joined: 06 May 2005
Posts: 1517
Location: г. Пермь (читается Перьмь)

Post (Separately) Posted: Sat Jun 09, 2007 08:17    Post subject: [WISH] Переход к следующей папке не выходя из текущей Reply with quote

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

т.е. вместо нажатия BackSpace, Вниз, Enter нажимать что-то вроде Ctrl+Alt+Вниз/Вверх, но просматривать содержимое папок.
_________________
плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми
Back to top
View user's profile Send private message
VadiMGP



Joined: 21 Mar 2007
Posts: 1625

Post (Separately) Posted: Sat Jun 09, 2007 12:56    Post subject: Reply with quote

А какую папку ситать следующей? По алфавиту?
Back to top
View user's profile Send private message
Моторокер



Joined: 06 May 2005
Posts: 1517
Location: г. Пермь (читается Перьмь)

Post (Separately) Posted: Sat Jun 09, 2007 14:10    Post subject: Reply with quote

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

А так бы следующая по алфавиту, или как там настроено в Тотале.
_________________
плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми
Back to top
View user's profile Send private message
VadiMGP



Joined: 21 Mar 2007
Posts: 1625

Post (Separately) Posted: Sat Jun 09, 2007 14:15    Post subject: Reply with quote

Тогда, наверное, только скриптом можно. Те же самые BackSpace, Вниз, Enter.
Back to top
View user's profile Send private message
Моторокер



Joined: 06 May 2005
Posts: 1517
Location: г. Пермь (читается Перьмь)

Post (Separately) Posted: Sat Jun 09, 2007 14:35    Post subject: Reply with quote

VadiMGP wrote:
Тогда, наверное, только скриптом можно. Те же самые BackSpace, Вниз, Enter.

Enter на файле, когда папки кончатся?
Или тоже можно проверить скриптом этот вариант?
_________________
плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми
Back to top
View user's profile Send private message
VadiMGP



Joined: 21 Mar 2007
Posts: 1625

Post (Separately) Posted: Sat Jun 09, 2007 14:49    Post subject: Reply with quote

Нет, Enter будет не на файле. Смотри - BackSpace возвращает в родительскую папку, на последней папке стрелка вниз не сработает и Enter снова войдет в ту же папку. В принципе, на AHК наверняка можно и эту ситуацию обработать, но тут уже лучше спросить спецов по скриптам. У меня со скриптами только поверхностное знакомство.
Back to top
View user's profile Send private message
VadiMGP



Joined: 21 Mar 2007
Posts: 1625

Post (Separately) Posted: Sat Jun 09, 2007 14:51    Post subject: Reply with quote

Нет, соврал. Не так все просто.Но все равно, я думаю, что АНК позволит это обработать.
Back to top
View user's profile Send private message
Volniy



Joined: 15 Dec 2004
Posts: 585
Location: Местный

Post (Separately) Posted: Sat Jun 09, 2007 21:09    Post subject: Reply with quote

Вот черновичек, вроде работает:
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
View user's profile Send private message
VadiMGP



Joined: 21 Mar 2007
Posts: 1625

Post (Separately) Posted: Sat Jun 09, 2007 23:46    Post subject: Reply with quote

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



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

Post (Separately) Posted: Wed Jun 13, 2007 21:41    Post subject: Reply with quote

Скрипт вниз (к следующей), оттуда ссылка на аналогичный "вверх".
С момента написания дня не проходит, чтобы я не воспользовался. Даже панельку специальную сделал (не считая горячих клавиш и кнопок на обычной панели ТС). БЕЗУМНО удобно. Не знаю, почему это понимают всего трое (Моторокер, Gregory и ваш покорный слуга).
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
slideray



Joined: 28 Jun 2010
Posts: 115

Post (Separately) Posted: Sat Apr 16, 2011 00:04    Post subject: Reply with quote

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

Код: '(c) 2007, Volniy

Отличный, полезный скрипт!
Вопрос, не сильно мешает, но в принципе, почему оно так? Может быть можно не выводить данный сабж? Повесил на скрипт хоткей - "Shift+OEM_.", ну не важно, просто, если продолжаешь удерживать шифт, то выдает сообщение:
Code:
Error!
No more directories in the file panel!
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2689

Post (Separately) Posted: Sat Apr 16, 2011 01:13    Post subject: Reply with quote

slideray
Выскажу такое предположение.
Скрипт в начале своей работы передает активному окну TC нажатие клавиши {DOWN} (вниз). Удержание во время работы скрипта Shift, Alt или Ctrl модифицирует действие этой клавиши, поскольку на Shift+Down, Alt+Down и Ctrl+Down в TC назначены совсем другие команды и это приводит к нарушению выполнения скрипта. Можно попробовать использовать в качестве модификатора вместо Shift клавишу Win.
Back to top
View user's profile Send private message
HEXFIX



Joined: 25 Jun 2010
Posts: 173
Location: Калининград

Post (Separately) Posted: Sat Apr 16, 2011 10:36    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: Sat Apr 16, 2011 18:23    Post subject: Reply with quote

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

Добавлено
А насчет горячих клавиш - я использую Alt+PgDn/Alt+PgUp, на которые в ТС ничего не повешено.
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Sun Apr 17, 2011 07:47    Post subject: Reply with quote

Всё проще, господа:
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
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы All times are GMT + 4 Hours
Goto page 1, 2  Next
Page 1 of 2

 
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