Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


amel27,
Не подскажешь снова по RegExp'ресам?
Нужно сформулировать Pattern для проверки содержимого б. обмена на присутствие путей к файлам (это скопированные файлы в проводнике). Но проверка должна быть максимально быстро, т.к проверка происходит при открытии контекстного меню, лишних задержек быть не должно.

Вот что я имею:

Код: Выделить весь код
$Clip = _
    "C:\Testing\SomeFile.txt" & @LF & _
    "C:\Testing\OtherFile.txt"

;$Clip = ClipGet()

$sExt_Pattern = '\.txt|\.txt\.bk' ;Файлы ещё могут иметь расширение txt.bk (обязательно вместе)
$iEnable_Paste_Item = StringRegExp($Clip, '(?i)\A([a-z]+:\\|[a-z0-9]+:/|.*\\\\).*(' & $sExt_Pattern & ')(\n|$)')

MsgBox(0, "", "$iEnable_Paste_Item = " & $iEnable_Paste_Item)
Также хотелось бы немного улучшить проверку:

* Чтобы учитывались UNC пути более надёжно (я сам с ними никогда не работал, даже проверить негде).
* Чтобы учитывались расширения файлов на всех строках, т.е чтобы если хоть одна строка не подходит под Pattern, то возвращать нужно 0. Но это не самое важное, если оно будет замедлять проверку то не нужно, у меня в скрипте и так уже есть проверка на состояние скопированных файлов (копированы они, или вырезаны в проводнике).

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 13:23, 15-11-2008 | #1159