| View previous topic :: View next topic   | 
	 
	
	
		| Author | 
		Message | 
	 
	
		Flasher
 
  
  Joined: 06 Nov 2009 Posts: 14229 Location: Москва
  | 
		
			
				  (Separately) Posted: Tue Apr 28, 2015 09:19    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | LonerD wrote: | 	 		  | Твой скрипт не может отличить файл от одноимённого каталога (если в имени каталога точка). | 	  Только ты забыл написать, что последний параметр - 3.   Посмотрю как мягче исправить.
 
 
 	  | LonerD wrote: | 	 		  | к тому же твой скрипт всё-равно с корневыми каталогами не работает | 	  К тому же ты не ответил на мой вопрос. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. | 
			 
		  | 
	 
	
		| Back to top | 
		 | 
	 
	
		  | 
	 
	
		LonerD
 
  
  Joined: 04 Jan 2011 Posts: 1172 Location: Макеевка
  | 
		
			
				  (Separately) Posted: Tue Apr 28, 2015 14:31    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | Flasher wrote: | 	 		  | Только ты забыл написать, что последний параметр - 3. | 	  
 
Да, начинал ведь писать сообщение и упомянул об этом, потом что-то сбилось (то ли страницу закрыл), и когда снова начал печатать - забыл.
 
 
 	  | LonerD wrote: | 	 		  | Сравнивать только файлы в корнях - это для чего? | 	  
 
Для того же, что и в каталогах - узнать одинаковые ли файлы или разные (по именам). К примеру, у меня в корнях дисков часто файлы скапливаются, например с которыми работаю или скачанные. Потом их частично перемещаю/копирую в подкаталоги, и актуально знать какие файлы уже скопировал и можно удалять из корня диска... По сути не делаю различия между каталогом и корнем в процессе работы за компьютером. _________________ Windows 11 | TC DreamLair eternal pre-α | 
			 
		  | 
	 
	
		| Back to top | 
		 | 
	 
	
		  | 
	 
	
		Flasher
 
  
  Joined: 06 Nov 2009 Posts: 14229 Location: Москва
  | 
		
			
				  (Separately) Posted: Tue Apr 28, 2015 14:37    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				А зачем ты вырвал фразу из контекста? Там два вопроса в одном флаконе.
 
А про большие структуры было отвечено:
 
 	  | Flasher wrote: | 	 		  | Скрипт с единицей в 3-м параметре больше предназначен для режима без подкаталогов, в ином случае лучше использовать предыдущий вариант. | 	 
  _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. | 
			 
		  | 
	 
	
		| Back to top | 
		 | 
	 
	
		  | 
	 
	
		LonerD
 
  
  Joined: 04 Jan 2011 Posts: 1172 Location: Макеевка
  | 
		
			
				  (Separately) Posted: Tue Apr 28, 2015 17:56    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | Flasher wrote: | 	 		  | А зачем ты вырвал фразу из контекста? Там два вопроса в одном флаконе. | 	  
 
Потому, что вопрос звучал то ли как риторический, то ли как не имеющий отношения к скрипту. Разные люди могут отображать файлы по-разному, и с каталогами, и без каталогов. Потому не суть важно как именно это делаю я.
 
 	  | Flasher wrote: | 	 		  | Неужели ты отображаешь файлы без подкаталогов в корне? | 	  
 
Нет, у меня вроде насколько помню никогда надобности не возникало. Скрипт в таких условиях тоже не проверял.
 
 
 	  | Flasher wrote: | 	 		  А про большие структуры было отвечено:
 
 	  | Flasher wrote: | 	 		  | Скрипт с единицей в 3-м параметре больше предназначен для режима без подкаталогов, в ином случае лучше использовать предыдущий вариант. | 	 
  | 	  
 
Да, я видел и понял. Пользователь должен держать в голове - "Я хочу сравнить файлы. Нужно воспользоваться вот этим скриптом (повешенным на кнопку). Стоп, в одной панели в одной или обеих панелях у меня открыт корень диска, значит я должен пользоваться другим скриптом..."
 
Меня такая логика не устраивает, но изменять логику работы скрипта лично для меня - не прошу. Так как чувствую, что хватает знаний для самостоятельной реализации - делаю свой вариант. _________________ Windows 11 | TC DreamLair eternal pre-α
  Last edited by LonerD on Fri May 01, 2015 20:12; edited 1 time in total | 
			 
		  | 
	 
	
		| Back to top | 
		 | 
	 
	
		  | 
	 
	
		Flasher
 
  
  Joined: 06 Nov 2009 Posts: 14229 Location: Москва
  | 
		
			
				  (Separately) Posted: Tue Apr 28, 2015 18:02    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | LonerD wrote: | 	 		  | Потому, что вопрос звучал то ли как риторический, то ли как не имеющий отношения к скрипту. | 	  С чего это ты так решил?  
 
 	  | LonerD wrote: | 	 		  | Разные люди могут отображать файлы по-разному, и с каталогами, и без каталогов. Потому не суть важно как именно это делаю я.  | 	  Вопрос режима без подкаталогов не ты поставил, поэтому резонно было спросить именно у тебя об этом.
 
 	  | LonerD wrote: | 	 		  | Стоп, в одной панели у меня открыт корень диска, значит я должен пользоваться другим скриптом..."  | 	  А почему только в одной?
 
 	  | LonerD wrote: | 	 		  | лично для меня | 	  Можно и не лично для тебя. Можно и для себя и прежде всего для того, кто поднял тему и кому с этой проблемой ещё предстоит столкнуться. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. | 
			 
		  | 
	 
	
		| Back to top | 
		 | 
	 
	
		  | 
	 
	
		LonerD
 
  
  Joined: 04 Jan 2011 Posts: 1172 Location: Макеевка
  | 
		
			
				  (Separately) Posted: Sat May 02, 2015 05:19    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				Давным-давно я был инициатором идеи подобного скрипта.
 
Наконец-то, сделал свой вариант сравнения файлов и каталогов в панелях по именам на AutoHotkey.   
 
Теоретически скрипт должен работать в разных условиях, включая корень диска, результаты поиска, вид без каталогов, архивы...
 
Из-за ограничений Тотала не работает в результатах поиска внутри архивов и в режиме просмотра миниатюр.
 
Можно сравнивать только файлы, только каталоги или всё вместе (если не задан параметр - сравнивается всё).
 
Если у файла и каталога одно имя - они не выделяются (не считаются равными).
 
Если в панели несколько файлов с одним и тем же именем (например, при поиске или в виде без каталогов) - выделяются все.
 
 
 	  | Code: | 	 		  ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
; Total Commander DreamLair
 
; Script: Selection the same name files and/or dirs in the panels
 
; Скрипт: Виділення в панелях однойменних файлів та/або каталогів
 
; Скрипт: Выделение в панелях одноимённых файлов и/или каталогов
 
; Version: 1.0 (2015.05.02)
 
; Author: LonerD DreamLair.Net
 
; Made in Donetsk People's Republic
 
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
; Parameter:
 
;    1) Selection mode:
 
;       1 - all (default); 2 - only files; 3 - only dirs
 
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
; Параметр:
 
;    1) Метод виділення:
 
;       1 - все (за замовчуванням); 2 - тільки файли; 3 - тільки каталоги
 
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
; Параметр:
 
;    1) Метод выделения:
 
;       1 - всё (по умолчанию); 2 - только файлы; 3 - только каталоги
 
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 
#NoEnv
 
#NoTrayIcon
 
#MaxMem 1024
 
#SingleInstance force
 
SetBatchLines, -1
 
 
Mode = %1%
 
If Mode not in 1,2,3
 
  Mode = 1
 
 
If not ( WinExist("ahk_class TTOTAL_CMD") || WinActive("ahk_class TTOTAL_CMD") )
 
  ExitApp
 
 
ClipSaved := ClipboardAll
 
Clipboard := ""
 
 
WinGet, hw_TTOTAL_CMD, ID, A
 
DllCall("LockWindowUpdate", "uint", hw_TTOTAL_CMD)
 
ControlGetFocus, aControl, % "ahk_id " hw_TTOTAL_CMD
 
PathA := TC_SendData("SP")
 
 
SendMessage, 0x433, 524,,, % "ahk_id " hw_TTOTAL_CMD
 
SendMessage, 0x433, 330 . Mode,,, % "ahk_id " hw_TTOTAL_CMD
 
SelItems := TC_Command("0x190", aControl, 0, 0)
 
if ( SelItems = 0 )
 
  Goto, Exit
 
 
SendMessage, 0x433, 2017,,, % "ahk_id " hw_TTOTAL_CMD
 
FilesA := Clipboard
 
SendMessage, 0x433, 2018,,, % "ahk_id " hw_TTOTAL_CMD
 
FileListA := Clipboard
 
 
SendMessage, 0x433, 4001,,, % "ahk_id " hw_TTOTAL_CMD
 
ControlGetFocus, xControl, % "ahk_id " hw_TTOTAL_CMD
 
B_Panel := xControl = aControl ? 2 : 1
 
A_Panel := B_Panel = 1 ? 2 : 1
 
 
SendMessage, 0x433, 400 . B_Panel,,, % "ahk_id " hw_TTOTAL_CMD
 
 
ControlGetFocus, bControl, % "ahk_id " hw_TTOTAL_CMD
 
PathB := TC_SendData("SP")
 
SendMessage, 0x433, 524,,, % "ahk_id " hw_TTOTAL_CMD
 
SendMessage, 0x433, 330 . Mode,,, % "ahk_id " hw_TTOTAL_CMD
 
 
if ( PathA = PathB )
 
  Goto, Exit
 
 
SelItems := TC_Command("0x190", bControl, 0, 0)
 
if ( SelItems = 0 )
 
  Goto, NoSelection
 
 
SendMessage, 0x433, 2017,,, % "ahk_id " hw_TTOTAL_CMD
 
FilesB := Clipboard
 
SendMessage, 0x433, 2018,,, % "ahk_id " hw_TTOTAL_CMD
 
FileListB := Clipboard
 
 
FileListSel := ""
 
Loop, Parse, FilesA, `n, `r
 
{
 
  CurrentFile := A_LoopField
 
  Loop, Parse, FilesB, `n, `r
 
  {
 
    if ( CurrentFile = A_LoopField )
 
      FileListSel := FileListSel A_LoopField "`r`n"
 
  }
 
}
 
 
if ( FileListSel = "" )
 
  Goto, NoSelection
 
 
FileListSelA := ""
 
FileListSelB := ""
 
FileListSelX := ""
 
FileListX := FileListB
 
Gosub, LoopFilelist
 
FileListSelB := FileListSelX
 
FileListX := FileListA
 
Gosub, LoopFilelist
 
FileListSelA := FileListSelX
 
 
StringReplace, FileListSelA, FileListSelA, % PathA, , All
 
StringReplace, FileListSelB, FileListSelB, % PathB, , All
 
 
Clipboard := FileListSelB
 
SendMessage, 0x433, 2033,,, % "ahk_id " hw_TTOTAL_CMD
 
SendMessage, 0x433, 400 . A_Panel,,, % "ahk_id " hw_TTOTAL_CMD
 
Clipboard := FileListSelA
 
SendMessage, 0x433, 2033,,, % "ahk_id " hw_TTOTAL_CMD
 
 
Exit:
 
Clipboard := ClipSaved
 
ClipSaved := ""
 
FileListA := ""
 
FileListB := ""
 
FileforSel := ""
 
FileListSelA := ""
 
FileListSelB := ""
 
FileListSelX := ""
 
DllCall("LockWindowUpdate", "uint", 0)
 
ExitApp
 
 
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
LoopFilelist:
 
Loop, Parse, FileListSel, `n, `r
 
{
 
  FileforSel := A_LoopField
 
  FileLen := StrLen(FileforSel)
 
  if ( FileLen > 0 )
 
  {
 
    Loop, Parse, FileListX, `n, `r
 
    {
 
      StringLen := StrLen(A_LoopField)
 
      SlashSymbol := SubStr(A_LoopField, StringLen - FileLen, 1)
 
      StringRight, CurrentFile, A_LoopField, FileLen
 
      if (( StringLen - FileLen > 1 ) && ( SlashSymbol = "\" ) && ( CurrentFile = FileforSel ))
 
        FileListSelX := FileListSelX A_LoopField "`r`n"
 
    }
 
  }
 
}
 
Return
 
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
NoSelection:
 
SendMessage, 0x433, 524,,, % "ahk_id " hw_TTOTAL_CMD
 
SendMessage, 0x433, 400 . A_Panel,,, % "ahk_id " hw_TTOTAL_CMD
 
SendMessage, 0x433, 524,,, % "ahk_id " hw_TTOTAL_CMD
 
Goto, Exit
 
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
; Доп. функция (автор я)
 
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
TC_Command(TCmessage, aControl, Param1, Param2)
 
{
 
  global hw_TTOTAL_CMD
 
  SendMessage, % TCmessage, % Param1, % Param2, % aControl, % "ahk_id " hw_TTOTAL_CMD
 
  return ErrorLevel
 
}
 
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
; Доп. функция (автор artt)
 
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
TC_SendData(Cmd, CmdType="", msg="", hwnd="")
 
{
 
  Critical
 
  global hw_TTOTAL_CMD
 
  Static om := OnMessage(0x4a, "TC_SendData"), TC_ReceiveDataValue := "", TC_DataReceived := ""
 
 
  If ( (msg=0x4A) and (hwnd=A_ScriptHwnd) )
 
    Exit ( TC_ReceiveDataValue := StrGet(NumGet(CmdType + A_PtrSize * 2)), TC_DataReceived := "1" )
 
 
  VarSetCapacity(CopyDataStruct, A_PtrSize * 3), TC_ReceiveDataValue := 1, TC_DataReceived := ""
 
  If CmdType in LR,ST
 
  DirType := CmdType, CmdType := "CD"
 
  else if ( CmdType = "" )
 
    CmdType := ( A_IsUnicode ? "GW" : "GA" ), TC_ReceiveDataValue := ""
 
 
  If( A_IsUnicode )
 
  {
 
    VarSetCapacity(cmdA, StrPut(cmd, "cp0"), 0)
 
    Loop, % StrLen(cmd)
 
      NumPut( Asc(SubStr(cmd, A_Index, 1)), cmdA, A_Index - 1, "Char" )
 
  }
 
  NumPut( Asc(SubStr(CmdType, 1, 1)) + 256 * Asc(SubStr(CmdType, 2, 1)), CopyDataStruct, 0 )
 
  NumPut( StrLen(cmd) + (CmdType = "CD" ? 5 : 0), CopyDataStruct, A_PtrSize )
 
  NumPut( (A_IsUnicode ? &cmdA : &cmd), CopyDataStruct, A_PtrSize * 2 )
 
  Loop, % ( CmdType=="CD" ? 2 : 0 )
 
    NumPut( Asc(SubStr(DirType, A_Index, 1)), (A_IsUnicode ? cmdA : cmd), (StrLen(cmd) + A_Index), "Char" )
 
 
  SendMessage, 0x4A, %A_ScriptHwnd%, &CopyDataStruct,, % "ahk_id " hw_TTOTAL_CMD
 
;  SendMessage, 0x4A, %A_ScriptHwnd%, &CopyDataStruct,, ahk_class TTOTAL_CMD
 
 
  While ( TC_ReceiveDataValue = "" )
 
  {
 
    IfEqual, TC_DataReceived,    1, Break
 
    IfGreaterOrEqual, A_Index, 500, Break
 
    Sleep, 10
 
  }
 
  Return TC_ReceiveDataValue
 
}
 
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  | 	 
  _________________ Windows 11 | TC DreamLair eternal pre-α | 
			 
		  | 
	 
	
		| Back to top | 
		 | 
	 
	
		  | 
	 
	
		ingerard
 
 
  Joined: 04 Dec 2016 Posts: 128
 
  | 
		
			
				  (Separately) Posted: Wed Dec 06, 2017 01:05    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				Flasher
 
Я тут немного ваш скрипт переделал под другую задачу, на удивление работает, но хотелось бы чтоб работало без затрагивания буфера. И еще не работает параметр 3 - только папки.
 
 
 	  | Code: | 	 		  '===================== VBS ======================
 
' Выделение подобных элементов на другой панели
 
 
' Условия: 1) требуется компонент TCScript.dll;
 
'          2) имена папок должны иметь \ на конце
 
 
' Параметры: "%T" <выдел. всё/файлы/папки: 1/2/3>
 
'================================================
 
Set R = New RegExp : R.Global = True : P = WSH.Arguments(0)
 
With CreateObject("TCScript.Helper")
 
  .NoArrayReturn = True : .LockTC True
 
  .Pause = 0 : .Wait = True : Clip = .GetSrcSelectedFiles(0) : .Sleep 20
 
  R.Pattern = "^[\r\n]+|[\r\n]+$|\r?\n(?=(\r?\n)+)"
 
  RClip = Replace(R.Replace(Clip, ""), vbNewline, "|")
 
  R.Pattern = "([.;$+^\\\(\)\{\[])" : R.MultiLine = True
 
  R.Pattern = "(^|\r\n)([^\r\n]+\\(" & R.Replace(RClip, "\$1") & "))$"
 
  .NoArrayReturn = True : .LockTC True : .SendCommand 4006, True
 
  .SendCommand 3300 + WSH.Arguments(1), True
 
  Sel = .GetSrcSelectedFiles(1) : .Sleep 20
 
  For Each Path in R.Execute(Sel)
 
    List = List & Path.Value
 
  Next : .SendCommand 524, True
 
  If P <> "" Then List = Replace(List, P, "") : .Sleep 20
 
  .SetTextToClip List : .SendCommand 2033, True : .SendCommand 4006, True
 
  .LockTC False
 
End With  | 	  
 
 
         |                  !  |       Avada: |              | Отсюда и далее цепочка сообщений, находившаяся ранее в этой теме, перенесена в более адекватное место. |       | 
			 
		  | 
	 
	
		| Back to top | 
		 | 
	 
	
		  | 
	 
	
		Flasher
 
  
  Joined: 06 Nov 2009 Posts: 14229 Location: Москва
  | 
		
			
				  (Separately) Posted: Wed Dec 06, 2017 01:43    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				ingerard
 
Я не понял по названию в шапке, что должен делать скрипт, и как это относится к сабжу. Подобные элементы по отношению к чему? Не про эту тему речь? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. | 
			 
		  | 
	 
	
		| Back to top | 
		 | 
	 
	
		  | 
	 
	
		ingerard
 
 
  Joined: 04 Dec 2016 Posts: 128
 
  | 
		
			
				  (Separately) Posted: Wed Dec 06, 2017 11:31    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				Flasher
 
Получилось сделать самому, в шапке уточнил для чего это нужно, надеюсь что объяснил доступно   Не знаю только насчет оптимизации, работает вроде быстро.
 
 
 	  | Code: | 	 		  '===================== VBS ======================
 
' Выделение в противоположной панели похожих по 
 
' названию файлов/папок, выделенных на текущей.
 
 
' Условия: 1) требуется компонент TCScript.dll;
 
'          2) имена папок должны иметь \ на конце
 
 
' Параметры: "%T" <выдел. всё/файлы/папки: 1/2/3>
 
'================================================
 
Set R = New RegExp : R.Global = True : P = WSH.Arguments(0)
 
With CreateObject("TCScript.Helper")
 
  .NoArrayReturn = True : .LockTC True
 
  T = .GetTextFromClip
 
  .Pause = 0 : .Wait = True : Clip = .GetSrcSelectedFiles(0) : .Sleep 20
 
  .SetTextToClip Clip : .SendCommand 2033, True
 
  R.Pattern = "^[\r\n]+|[\r\n]+$|\r?\n(?=(\r?\n)+)"
 
  RClip = Replace(R.Replace(Clip, ""), vbNewline, "|")
 
  R.Pattern = "([.;$+^\\\(\)\{\[])" : R.MultiLine = True
 
  R.Pattern = "(^|\r\n)([^\r\n]+\\(" & R.Replace(RClip, "\$1") & "))$"
 
  .NoArrayReturn = True : .LockTC True : .SendCommand 4006, True
 
  .SendCommand 3300 + WSH.Arguments(1), True
 
  Sel = .GetSrcSelectedFiles(1) : .Sleep 20
 
  For Each Path in R.Execute(Sel)
 
    List = List & Path.Value
 
  Next : .SendCommand 524, True
 
  If P <> "" Then List = Replace(List, P, "") : .Sleep 20
 
  .SetTextToClip List : .SendCommand 2033, True : .SendCommand 4006, True
 
  .SetTextToClip(T)
 
  .LockTC False
 
End With  | 	  
 
 
 	  | Quote: | 	 		  | Не про эту тему речь? | 	  
 
Похоже на то, я просто искал по слову "Выделение". Этот скрипт у меня просит разрешение IE и какой-то он сильно громадской. А этот выдает ошибку "Не найден путь, строка 6, символ 3" | 
			 
		  | 
	 
	
		| Back to top | 
		 | 
	 
	
		  | 
	 
	
		Flasher
 
  
  Joined: 06 Nov 2009 Posts: 14229 Location: Москва
  | 
		
			
				  (Separately) Posted: Wed Dec 06, 2017 11:54    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				ingerard
 
Не, это никуда не годится. Тут такой набор манипуляций совершенно не требуется. Всё куда проще:
 
 	  | Code: | 	 		  '=========================== VBS ============================
 
' Выделение в другой панели одноимённых с выбранными объектов
 
' Условие: требуется компонент TCScript.dll
 
'============================================================
 
With CreateObject("TCScript.Helper")
 
  .Pause = 0 : .Wait = True : Clip = .GetTextFromClip
 
  .LockTC True : .NoArrayReturn = True: If .GetInfo("TP") = "" Then _
 
  .SetTextToClip .GetSrcSelectedFiles(1) Else _
 
  .SetTextToClip Replace(.GetSrcSelectedFiles(1), .GetInfo("SP"), "")
 
  .SendCommand 4006, True : .SendCommand 2033, True
 
  .SendCommand 4006, True : .LockTC False : .SetTextToClip Clip
 
End With  | 	  И это обсуждение точно не по теме. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
  Last edited by Flasher on Wed Dec 06, 2017 16:32; edited 7 times in total | 
			 
		  | 
	 
	
		| Back to top | 
		 | 
	 
	
		  | 
	 
	
		ingerard
 
 
  Joined: 04 Dec 2016 Posts: 128
 
  | 
		
			
				  (Separately) Posted: Wed Dec 06, 2017 11:59    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				Flasher
 
Но мне нужно вернуть фокус панели и если ни один элемент не выделен, то выделяется элемент под курсором. А в какую тему если что переходить для дальнейшего обсуждение если чего? | 
			 
		  | 
	 
	
		| Back to top | 
		 | 
	 
	
		  | 
	 
	
		Flasher
 
  
  Joined: 06 Nov 2009 Posts: 14229 Location: Москва
  | 
		
			
				  (Separately) Posted: Wed Dec 06, 2017 12:09    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				ingerard
 
Возврат добавил. Но насчёт элемента под курсором не вижу ничего криминального. Объект выбран (скрипт так и назван), кнопка нажата. Что в этом плохого? Это наоборот удобно, когда, например, нужно сравнить 2 файла по содержимому.
 
 
Переходить уже нет смысла. Теперь придётся ждать модератора для переноса. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. | 
			 
		  | 
	 
	
		| Back to top | 
		 | 
	 
	
		  | 
	 
	
		ingerard
 
 
  Joined: 04 Dec 2016 Posts: 128
 
  | 
		
			
				  (Separately) Posted: Wed Dec 06, 2017 12:19    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | Quote: | 	 		  | Это наоборот удобно, когда, например, нужно сравнить 2 файла по содержимому.  | 	  
 
Как раз для таких целей и нужно, мелочное дополнение которое иногда нужно. Достаточно добавить? 
 
.SetTextToClip .GetSrcSelectedFiles(0) : .SendCommand 2033, True
 
 
p.s. Код не работает в режиме Branch, а тот что я подправил работает.
  Last edited by ingerard on Wed Dec 06, 2017 12:28; edited 3 times in total | 
			 
		  | 
	 
	
		| Back to top | 
		 | 
	 
	
		  | 
	 
	
		Flasher
 
  
  Joined: 06 Nov 2009 Posts: 14229 Location: Москва
  | 
		
			
				  (Separately) Posted: Wed Dec 06, 2017 12:26    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | ingerard wrote: | 	 		  | Как раз для таких целей и нужно | 	  В этом есть противоречие. Если бы было нужно, то зачем ограничивать поведение?
 
 
Указанная добавка вообще не годится. Для этого несколько иные механизмы нужны, но они есть в той версии Хелпера, которую я по некоторым причинам ещё не выкладывал.
 
 
Вообще применять подобную вещь в режиме DirBranch как минимум странно, потому как этот режим для восстановления выделения предполагает совпадение относительности путей в обеих панелях, а такая потребность на практике кажется мне несколько сомнительной и задействовать добавочный код в ущерб скорости я бы не советовал.
 
Но, если очень надо, то я подскажу, что нужно отредактировать. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. | 
			 
		  | 
	 
	
		| Back to top | 
		 | 
	 
	
		  | 
	 
	
		ingerard
 
 
  Joined: 04 Dec 2016 Posts: 128
 
  | 
		
			
				  (Separately) Posted: Wed Dec 06, 2017 12:52    Post subject:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | Flasher wrote: | 	 		  | Но, если очень надо, то я подскажу, что нужно отредактировать. | 	  
 
Очень надо   Так же в режиме Branch если найдет схожие по названию файлы+расширение, то отмечать все | 
			 
		  | 
	 
	
		| Back to top | 
		 | 
	 
	
		  | 
	 
	
		 | 
	 
 
	
  
	 
	    
	   | 
	
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 
 
		 |