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
Volniy



PostPosted: Sat Jun 23, 2007 12:01    Post subject: Re: Поиск файлов, содержащих текст. Reply with quote

aLexx wrote:
В файле "SendKeystroke.txt" написано, что символы +, ( и ) имеют спец. назначение. Но причём тут вставка из буфера! Тов. Volniy, что скажем? Smile


И действительно, причем же тут вставка из буфера? Подумай сам, откуда функция SendKeystroke может знать, что в данный момент с ее помощью выполняется именно вставка из буфера? Да ниоткуда! Посему она просто честно выполняет свою работу, посылает виртуальную серию нажатий клавиш. Если тебя не устраивает как она это делает при наличии специальных символов в строке, вытащенной из буфера обмена, тогда RTFM и предварительно помещай эти символы в фигурные скобки ({спецсимвол}). Вот так, например:
Code:
Option Explicit
Dim TCS, regEx, Clip
Set TCS = CreateObject("TCSCRIPT.Helper")
Set regEx = New RegExp

regEx.Pattern = "(\+|\^|%|~|\[|\]|\{|\})"
regEx.Global = True
regEx.IgnoreCase = True
Clip    = TCS.GetTextFromClip
TCS.SendCommand("cm_SearchFor")
TCS.SendKeystroke "{DELETE}"  'Очищаем строку "Что искать"
TCS.SendKeystroke "{TAB 7}"   'Переход на чек-бокс "С текстом"
TCS.SendKeystroke chr(32)     'Включаем его
'===========
Clip = regEx.Replace(Clip, "{$1}") 'Приводим строку к корректному виду
'===========
TCS.SendKeystroke (Clip)      ' Типа вносим текст из буфера обмена
TCS.SendKeystroke "{ENTER}"

Set TCS = Nothing
Set regEx = Nothing
WScript.Quit
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group