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 

Single Post  Topic: Сравнить в панелях списки каталогов 
Author Message
avyor



PostPosted: Wed Aug 17, 2011 22:00    Post subject: Сравнить в панелях списки каталогов Reply with quote

Продолжение темы, начатой здесь http://forum.wincmd.ru/viewtopic.php?t=14077

Flasher

Сделал файл comparecatalogs.vbs с усечённым вариантом кода (только папки):

Code:

' Выделение  в панелях одноимённых, но разноразмерных папок
' Необходима регистрация Script Helper ActiveX for TC
' Параметр: "%P" "%T"
'==================================================
With CreateObject("Scripting.FileSystemObject")
  Set P = .GetFolder(WScript.Arguments(0))
  Set T = .GetFolder(WScript.Arguments(1))
End With
Set D = CreateObject("Scripting.Dictionary")
Set G = CreateObject("Scripting.Dictionary")

For Each F in P.SubFolders
  D.Add F.Name, F.SIze
Next
For Each F in T.SubFolders
  G.Add F.Name, F.SIze
Next
For Each F in D.Keys
  If G.Exists(F) And D(F) <> G(F) Then S = S & vbnewline & F & "\"
Next

With CreateObject("TCScript.Helper")
  T = .GetTextFromClip
  .SetTextToClip(S)
  .LockTC True
  .SendCommand 4001
  .SendCommand 2033
  .SendCommand 4002
  .SendCommand 2033
  .LockTC False
  .SetTextToClip(T)
End With

Wscript.Quit


Затем сделал кнопку с ним с параметрами "%P %T". Последнюю версию Script Helper ActiveX for TC beta12 установил, рантаймы VB6 тоже.

Volniy писал:
Quote:

регистрация ActiveX сервера всегда сопровождается записью в реестр, причем именно в HKLM


Запись в HKLM есть:
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{6ED70EDA-595D-4298-B417-250CCBA7FFDA}\LocalServer32]
@="H:\\Total Commander 7.5.6\\Plugins\\exe\\TCWSHelp.exe"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TypeLib\{6F7C65FD-C08B-4EBF-966E-E60F8EAA6E97}\1.0\0\win32]
@="H:\\Total Commander 7.5.6\\Plugins\\exe\\TCWSHelp.exe"

Но выдается сообщение об ошибке:

Quote:

Сценарий: h:\Total Commander 7.5.6\scripts\comparecatalogs.vbs
Строка: 6
Символ: 3
Ошибка: Путь не найден
Код: 800А004С
Источник: Ошибка выполнения Microsoft VBScript


6-я строка:
Set P = .GetFolder(WScript.Arguments(0))
3-й символ - это "S".

Продублировал код в файле comparecatalogs.wsf и тоже сделал кнопку.
Теперь в сообщении об ошибке:

Quote:

Сценарий: h:\Total Commander 7.5.6\scripts\comparecatalogs.wsf
Строка: 19
Символ: 29
Ошибка: Ожидается допустимое имя
Код: 8004000А
Источник: Windows Script Host


19-я строка:
If G.Exists(F) And D(F) <> G(F) Then S = S & vbnewline & F & "\"
29-й символ - это пробел.

Что не так?
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group