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 

Windows Script Host
Goto page Previous  1, 2, 3 ... 14, 15, 16 ... 25, 26, 27  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
sa



Joined: 29 Apr 2009
Posts: 2567

Post (Separately) Posted: Wed Oct 06, 2010 07:36    Post subject: Reply with quote

Andrey_A wrote:
В Helper есть функция SetTextToClip(Text) - отправить текст в буфер обмена.... при большом куске текста, эта функция не срабатывает.
В апреле этого года Volniy собирался это поведение исправить:
Volniy wrote:
Подтверждаю. Не заметил раньше, потому что на больших количествах файлов попросту не пробовал. Ограничение возникает на объеме буфера около 32 кб. Тут я сам виноват - с панталыку неверно указал тип переменной для хранения размера буфера. Исправим, не проблема.
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Wed Oct 06, 2010 09:50    Post subject: Reply with quote

Andrey_A wrote:
Ниже описанный код, сохраненный в vbs - не работает.
Что-то с настройками безопасности IE. Ты у нас по методам тыка спец, найдёшь брешь - доложи, если не трудно. Wink

Есть ещё пару вот таких интересных штучек(требуют установки и реги библиотек): 1, 2.
2-я, кстати, ещё и ini-шники править умеет (это к недавнему P.S. Samwatas).
Back to top
View user's profile Send private message
Samwatas



Joined: 12 Sep 2009
Posts: 95

Post (Separately) Posted: Wed Oct 06, 2010 13:20    Post subject: Reply with quote

Quote:
Есть ещё пару вот таких интересных штучек(требуют установки и реги библиотек)
- о портативности, как я понимаю, не стоит даже и заикаться?
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Wed Oct 06, 2010 13:25    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: Sun Oct 17, 2010 15:37    Post subject: Reply with quote

Script Helper ActiveX for TC beta12
Скачать файл: http://wincmd.ru/download.php?id=script_helper

Исправлены баги: 1) ограниченный до 32 кб размер помещаемого в Буфер обмена текста, 2) ошибка (Несоответствие типа) при вызове методов SetSrcPath и SetTrgPath, если в качестве параметра передавалась переменная, а не просто строка.

Для указания нескольких нажатий клавиши пробела теперь можно использовать синтаксис {SPACE x} или {SP xx} (одиночный пробел {SPACE} или {SP}). Сделано для лучшей читаемости скриптов.

Добавлены Англоязычные доки (спасибо Lev)

PS Пример использования SetSrcPath для выделения файла в панели - http://forum.wincmd.ru/viewpost.php?p=68875
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2567

Post (Separately) Posted: Sun Oct 17, 2010 16:28    Post subject: Reply with quote

Volniy wrote:
Исправлены баги: 1) ограниченный до 32 кб размер помещаемого в Буфер обмена текста

Проверил: зебра (ZebraMark-3.vbs) для папки Windows, к которой предварительно применён Ctrl+B (больше 9000 файлов), теперь выдаёт верный результат. Спасибо за обновление!
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Sun Oct 17, 2010 20:12    Post subject: Reply with quote

Volniy
Что-то у меня SetTrgPath перестал устанавливать курсор в другой панели и выделять файл, и после него не работает SendKeyStore.
Добавлено: похоже SetTrgPath ни при чём, через WSH.Run то же самое.. Sad
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Tue Nov 23, 2010 07:53    Post subject: Reply with quote

Нужна такая вещь: задаём список
Set List = CreateObject("Scripting.Dictionary")
List.Add "бла", ""
List.Add "блабла", ""
List.Add "блаблабла", ""
......
Сравниваем значение ранее заданной переменной со всеми элементами списка. Если один из этих элементов совпал, то используем найденное значение из списка в каком-нибудь последующем методе. Как правильно записать?


Last edited by Flasher on Tue Nov 23, 2010 16:12; edited 1 time in total
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2218
Location: Москва, Россия

Post (Separately) Posted: Tue Nov 23, 2010 15:54    Post subject: Reply with quote

Flasher
Каждый элемент ассоциированного массива "Scripting.Dictionary" имеет ключ и значение.
Для добавления элемента к массиву используется метод Add:
Code:
Set List = CreateObject("Scripting.Dictionary")
List.Add Key1, Value1
List.Add Key2, Value2

Поэтому запись "EXT.List "бла", """ мне совершенно непонятна.
Если необходимо найти значение элемента массива по ключу, который содержится в некой переменной, то используются конструкции вида:
Code:
MyVar = "бла"
Set List = CreateObject("Scripting.Dictionary")
List.Add "бла"   , "Значение 1"
List.Add "блабла", "Значение 2"
If List.Exists(MyVar) Then
  MsgBox "По ключу """ & MyVar & """ найдено значение """ & List(MyVar) & """"
Else
  MsgBox "По ключу """ & MyVar & """ ничего не найдено"
End If

Здесь List(MyVar) возвращает значение элемента ассоциированного массива List по ключу MyVar.
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Tue Nov 23, 2010 16:17    Post subject: Reply with quote

Batya wrote:
Поэтому запись "EXT.List "бла", """ мне совершенно непонятна.
Пардон, поправил. В темпе делал, не ту часть поменял.
Batya wrote:
Здесь List(MyVar) возвращает значение элемента ассоциированного массива List по ключу MyVar.
Хм. Довольно просто. А я в цикл пихал то же самое, откуда глюки и возникли. Только мне не нужно искать значение ключа, мне нужно искать сам ключ, совпадающий со значением переменной, поэтому я и ставлю пустые значения "".
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2218
Location: Москва, Россия

Post (Separately) Posted: Tue Nov 23, 2010 16:57    Post subject: Reply with quote

Flasher wrote:
Только мне не нужно искать значение ключа, мне нужно искать сам ключ, совпадающий со значением переменной

Code:
If List.Exists(MyVar) Then MsgBox MyVar

_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Tue Nov 23, 2010 17:13    Post subject: Reply with quote

Это не то. Я же написал
Flasher wrote:
то используем найденное значение из списка в каком-нибудь последующем методе
Т.е., если перефразировать, то - найденный ключ, но вовсе не значение переменной.
Хотя это даёт один и тот же результат, всё-таки хотелось бы узнать, каким способом выдернуть этот найденный ключ? Это нужно в случае, когда из этого ключа будет браться только его синтаксический кусок, в то время как из значения переменной его выделить не получится.
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2218
Location: Москва, Россия

Post (Separately) Posted: Tue Nov 23, 2010 23:24    Post subject: Reply with quote

Flasher
Ничего не понял. А можно более предметно описать задачу?
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Tue Nov 23, 2010 23:35    Post subject: Reply with quote

Ну, не знаю, к примеру:
Code:
D = "D:\"
C = "C:\"
Set List = CreateObject("Scripting.Dictionary")
List.Add  WScript.Arguments(0), ""
List.Add  WScript.Arguments(1), ""
If List.Exists(D) And List.Exists(C) Then MsgBox (Найденный ключ аля C) & vbnewline & (Найденный ключ аля D)
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2218
Location: Москва, Россия

Post (Separately) Posted: Wed Nov 24, 2010 12:47    Post subject: Reply with quote

Flasher
Опять не понял. Что значит "Найденный ключ аля C", если C - это и есть ключ?
Итак, есть массив. Т.к. в массиве заданы только ключи, то можно сказать, что это список ключей.
Проверяем, есть ли некоторый ключ в этом списке.
Дальше что?
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3 ... 14, 15, 16 ... 25, 26, 27  Next
Page 15 of 27

 
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